Library for the Shield Bot by SeeedStudio

Dependents:   Seeed_Bot_Shield Seeed_BlueBot_demo Seeed_BlueBot_demo_test1 LAB03_Oppgav1 ... more

Fork of SeeedShieldBot by Components

Revision:
7:887c729fd7c1
Parent:
6:9479362be27f
Child:
8:9fd1722259a1
--- a/SeeedStudioShieldBot.h	Mon Jul 15 14:03:41 2013 +0000
+++ b/SeeedStudioShieldBot.h	Thu Jul 31 14:29:50 2014 +0000
@@ -8,27 +8,40 @@
 class SeeedStudioShieldBot {
     public:
     
-        // Create a shield bot object, using default settings for now...
-        SeeedStudioShieldBot();
-        
+        /** Create a shield bot object
+         *
+         * @param mot1A Left Motor A pin, default D5
+         * @param mot1B Left Motor B pin, default D6
+         * @param mot1En Left Motor enable pin, default D7
+         * @param mot2A Right Motor A pin, default D3
+         * @param mot2B Right Motor B pin, default D9
+         * @param mot2En Right Motor enable pin, default D10
+         * @param sensor_right Sensor right pin, default A0
+         * @param sensor_inright Sensor in-right pin, default A1
+         * @param sensor_center Sensor right pin, default A2
+         * @param sensor_inleft Sensor in-left pin, default A3
+         * @param sensor_left Sensor left pin, default D4
+         */
+        SeeedStudioShieldBot(PinName mot1A, PinName mot1En, PinName mot1B, PinName mot2A, PinName mot2En, PinName mot2B, PinName sensor_right, PinName sensor_inright, PinName sensor_center, PinName sensor_inleft, PinName sensor_left);
+
         /** Switch on the left motor at the given speed.
          *  @param speed The speed, from 0.0 to 1.0 at which to spin the motor.
-        */
+         */
         void left_motor(float speed);
         
         /** Switch on the right motor at the given speed.
          *  @param speed The speed, from 0.0 to 1.0 at which to spin the motor.
-        */
+         */
         void right_motor(float speed);
         
         /** Switch on both motors, forwards at the given speed.
          *  @param speed The speed, from 0.0 to 1.0 at which to spin the motor.
-        */
+         */
         void forward(float speed);
         
         /** Switch on both motors, backwards at the given speed.
          *  @param speed The speed, from 0.0 to 1.0 at which to spin the motor.
-        */
+         */
         void backward(float speed);
         
         /** Switch on both motors at the given speed, in opposite directions so as to turn left.
@@ -38,38 +51,56 @@
         
         /** Switch on both motors at the given speed, in opposite directions so as to turn right.
          *  @param speed The speed, from 0.0 to 1.0 at which to spin the motors.
-        */
+         */
         void right(float speed);
-
+        
+        /** Turns left.
+         *  @param speed The speed, from 0.0 to 1.0 at which to spin the motor.
+         */
+        void turn_left(float speed);
+        
+        /** Turns right.
+         *  @param speed The speed, from 0.0 to 1.0 at which to spin the motor.
+         */
+        void turn_right(float speed);
+        
         /** Disable the left motor, by driving enable pin for the second motor low...
-        */
+         */
         void disable_left_motor();
         
         /** Disable the left motor, by driving enable pin for the first motor low...
-        */
+         */
         void disable_right_motor();
         
         /** Enable the left motor, by driving enable pin for the second motor high...
-        */
+         */
         void enable_left_motor();
         
         /** Enable the left motor, by driving enable pin for the first motor high...
-        */
+         */
         void enable_right_motor();
         
-        /** Stop both motors at the same time. Different to disable.
-        */
-        void stopAll();
-        
         /** Stop a chosen motor.
          *  @param motor Number, either 1 or 2 choosing the motor.
-        */
+         */
         void stop(int motor);
         
+        /** Stop left motor.
+         */
+        void stopLeft();
+        
+        /** Stop right motor.
+         */
+        void stopRight();
+        
+        /** Stop both motors at the same time. Different to disable.
+         */
+        void stopAll();
+        
         // Need to do something to do with detected line...
         
         /** Gives an indication of the data given by the reflectivity sensors.
-        */
+         */
         float line_position();
         
         DigitalIn rightSensor;
@@ -83,7 +114,6 @@
         DigitalOut motor1B;
         DigitalOut motor1En;
         
-        // motor2A or motor2B need to be PWM, but the freedom board doesn't support it at the moment...
         PwmOut motor2A;
         DigitalOut motor2B;
         DigitalOut motor2En;