My Version of CreaBotLib

Fork of CreaBotLib by CreaLab

Revision:
12:530772639065
Parent:
11:5a94af0afa12
--- a/CreaBot.h	Thu Apr 18 11:53:56 2019 +0000
+++ b/CreaBot.h	Thu Apr 18 12:06:07 2019 +0000
@@ -32,8 +32,7 @@
 
 /** \enum BotCmdVerb 
 * \brief Robot Commands Verbs, gives the movement direction
-* IDLE is no longer supported 
-*/
+* IDLE is no longer supported   */
 typedef enum {
     FORWARD,    /**< Advance the robot straight forward   */  
     BACKWARD,   /**< Reverse the robot straight backwards */  
@@ -73,15 +72,19 @@
 *
 * Handles two instances of CreaMot from motor.h library simultaneously. 
 * Using the set distance between the wheels, allows to run pecise curves. 
-* A first other set of movement functions starting with qXXX are using command verbs,
+* 
+* A first set of movement functions starting with qXXX are using command verbs,
 *   these commands are queued up in a waiting queue, 
 *   and are executed one by one in programmed order. 
+* 
 * A second set of movement functions starting with iXXX are also using command verbs,
 *   however these commands are executed immediately, 
 *   they override each other if issued while the previous movement still ongoing
+*
 * A third set of movements functions starting with moveXXXX are provided, 
 *   each function performs one specific movement, also immediately. 
 *   So they also override each other, and collide with queued commands.
+*
 * A callback is supplied to react to the end of all programmed movements. 
 *
 * Example:
@@ -89,7 +92,7 @@
 * // --- Define the Four PINs & Time of movement used for wheel drive -----
 * CreaMot wheelLeft(PA_12, PB_0, PB_1, PB_6); // Declare first the 2 wheels (to avoid to have an object with 8 pins to create)
 * CreaMot wheelRight(PA_5,PA_4,PA_3,PA_1);
-* Creabot mybot(&wheelLeft, &WheelRight, 10.0f, 13.0f); // insert the wheels and indicate wheel diameter (10cm) and distance between wheels (13cm)
+* CreaBot mybot(&wheelLeft, &WheelRight, 10.0f, 13.0f); // insert the wheels and indicate wheel diameter (10cm) and distance between wheels (13cm)
 * 
 * int main() {
 * 
@@ -127,10 +130,10 @@
 public:
    /** Create a Creabot object with 2 wheels
      *
-     *  @param <left CreaMot> object, corresponding to left wheel of the Creabot
-     *  @param <right CreaMot> object, corresponding to right wheel of the Creabot
-     *  @param <wheel_diam_cm> diameter in cm of the wheels (both must be the same diameter)
-     *  @param <bot_diam_cm> distance cm between center of left wheel and center of right wheel
+     *  @param[in] <left>           CreaMot object, corresponding to left wheel of the Creabot
+     *  @param[in] <right>          CreaMot object, corresponding to right wheel of the Creabot
+     *  @param[in] <wheel_diam_cm>  Diameter in cm of the wheels (both must be the same diameter)
+     *  @param[in] <bot_diam_cm>    Distance cm between center of left wheel and center of right wheel
      */
     Creabot(CreaMot *left, CreaMot *right, float wheel_diam_cm, float bot_diam_cm);
     
@@ -142,17 +145,19 @@
 
     /** High level: set bot-speed parameter for all future wheel commands. 
     * The set speed is used for immediate as well as the queued movements.
-    * In a curve movement it determines the speed of the outer wheel.  */ 
+    * In a curve movement it determines the speed of the outer wheel.  
+     *
+     *  @param[in] <AbotSpeed_cm_sec>     requested movement speed  */
     void setSpeed(float AbotSpeed_cm_sec);
 
 public:
 
     /** High level, queued:  move bot according to command and parameter
+    *
     * Composes a BotCommand and appends it to the queue for queued execution.
     * Use for commands that need only one parameter: FORWARD, BACKWARD, ROTATE
     * For details refer to docu of moveForward(), moveBackward(), moveRotate().
-    * Can also be called with IDLE, but then has no effect. 
-    * Preset the speed using setSpeed().]
+    * Preset the speed using setSpeed().
     *
     * @param[in] <Acommand> Requested movement, of type BotCmdVerb.
     * @param[in] <Aparam>   Requested amount, defines angle for ROTATE, or distance for FORWARD, BACKWARD.
@@ -160,10 +165,10 @@
     void qMove(BotCmdVerb Acommand, float Aparam);
     
     /** High level, queued :  move bot according to command and parameters
+    *
     * Composes a BotCommand and appends it to the queue for queued execution.
     * Use for commands that need two parameters: LEFT, RIGHT, BACKLEFT, BACKRIGHT
     * For details refer to docu of moveLeft(), moveRight(), moveBackLeft(), moveBackRight().
-    * Can also be called with IDLE, but then has no effect. 
     *
     * Reserves a new command element at the head of the Queue
     *
@@ -226,13 +231,13 @@
     
 public:
     /** High level, immediate:  move bot and wait for movement end. 
-    * Simple wrapper for iMove(Acommand,Aparam) and iWaitEnd().
+    * Simple wrapper for iMove() and iWaitEnd().
     * Refer to those methods for further docs.
     */
     void iMoveAndWait(BotCmdVerb Acommand, float Aparam);
     
     /** High level, immediate:  move bot and wait for movement end. 
-    * Simple wrapper for iMove(Acommand,Aturn_angle_deg,Adist_cm) and iWaitEnd().
+    * Simple wrapper for iMove() and iWaitEnd().
     * Refer to those methods for further docs.
     */
     void iMoveAndWait(BotCmdVerb Acommand, float Aturn_angle_deg, float Adist_cm);
@@ -241,7 +246,6 @@
     * Composes a BotCommand and passes it to executeCommand().
     * Use for commands that need only one parameter: FORWARD, BACKWARD, ROTATE
     * For details refer to docu of moveForward(), moveBackward(), moveRotate().
-    * Can also be called with IDLE, but then has no effect. 
     * Preset the speed using setSpeed().
     * Warning: Collides with queued commands. 
     *
@@ -254,7 +258,6 @@
     * Composes a BotCommand and passes it to executeCommand().
     * Use for commands that need two parameters: LEFT, RIGHT, BACKLEFT, BACKRIGHT
     * For details refer to docu of moveLeft(), moveRight(), moveBackLeft(), moveBackRight().
-    * Can also be called with IDLE, but then has no effect. 
     * Preset the speed using setSpeed().
     * Warning: Collides with queued commands. 
     *