Change the comment style for the modules and the list, and use the newParser to parse...
[bertos.git] / bertos / algo / ramp.h
index 202441f4c0736ca604b4b87e96e77bd543070b4c..6ec37c8c9ecd865e939efdd882372e9c478c012a 100644 (file)
@@ -1,4 +1,3 @@
-
 /**
  * \file
  * <!--
@@ -6,13 +5,7 @@
  * All Rights Reserved.
  * -->
  *
- * \brief Compute, save and load ramps for stepper motors (interace)
- *
- * \version $Id$
- *
- * \author Simone Zinanni <s.zinanni@develer.com>
- * \author Giovanni Bajo <rasky@develer.com>
- * \author Daniele Basile <asterix@develer.com>
+ * \brief Compute, save and load ramps for stepper motors.
  *
  * The acceleration ramp is used to properly accelerate a stepper motor. The main
  * entry point is the function ramp_evaluate(), which must be called at every step
  * for DSP56000 (but a portable C version of it can be easily written, see the
  * comments in the code).
  *
+ * \version $Id$
+ *
+ * \author Simone Zinanni <s.zinanni@develer.com>
+ * \author Giovanni Bajo <rasky@develer.com>
+ * \author Daniele Basile <asterix@develer.com>
+ *
+ * $WIZ$ module_name = "ramp"
+ * $WIZ$ module_configuration = "bertos/cfg/cfg_ramp.h"
  */
 
 #ifndef ALGO_RAMP_H
 
 #include "hw/hw_stepper.h"
 
-#include <cfg/compiler.h>
+#include "cfg/cfg_ramp.h"
 
-/**
- * Define whether the ramp will use floating point calculation within ramp_evaluate().
- * Otherwise, a less precise fixed point version will be used, which is faster on
- * platforms which do no support floating point operations.
- *
- * \note Floating point operations will be always done within ramp_compute() to
- * precalculate values, so there has to be at least a floating point emulation support.
- */
-#define RAMP_USE_FLOATING_POINT   0
-
-
-#if !RAMP_USE_FLOATING_POINT
-
-       /**
-        * Number of least-significant bits which are stripped away during ramp evaluation.
-        * This setting allows to specify larger ramps at the price of less precision.
-        *
-        * The maximum ramp size allowed is 2^(24 + RAMP_CLOCK_SHIFT_PRECISION), in clocks.
-        * For instance, using RAMP_CLOCK_SHIFT_PRECISION 1, and a 8x prescaler, the maximum
-        * length of a ramp is about 6.7 secs. Raising RAMP_CLOCK_SHIFT_PRECISION to 2
-        * brings the maximum length to 13.4 secs, at the price of less precision.
-        *
-        * ramp_compute() will check that the length is below the maximum allowed through
-        * a runtime assertion.
-        *
-        * \note This macro is used only for the fixed-point version of the ramp.
-        */
-       #define RAMP_CLOCK_SHIFT_PRECISION 2
-#endif
-
-
-///< Negative pulse width for ramp
-#define RAMP_PULSE_WIDTH    50
-
-///< Default ramp
-#define RAMP_DEF_TIME       6000000 ///< microsecs
-#define RAMP_DEF_MAXFREQ       5000 ///< Hz
-#define RAMP_DEF_MINFREQ        200 ///< Hz
-#define RAMP_DEF_POWERRUN        10 ///< 10 deciampere (1 ampere)
-#define RAMP_DEF_POWERIDLE        1 ///< 1 deciampere
+#include <cfg/compiler.h>
 
 
 /**
@@ -197,7 +159,9 @@ void ramp_default(struct Ramp *ramp);
 
 
 /** Self test */
-void ramp_test(void);
+int ramp_testSetup(void);
+int ramp_testRun(void);
+int ramp_testTearDown(void);
 
 #endif /* ALGO_RAMP_H */