Motor
Fork of Motor by
Diff: motor.h
- Revision:
- 4:2b77f4656e92
- Parent:
- 3:94db629c0a83
- Child:
- 6:37199f371bf8
diff -r 94db629c0a83 -r 2b77f4656e92 motor.h --- a/motor.h Sat Sep 14 17:18:51 2013 +0000 +++ b/motor.h Sun Sep 15 14:57:03 2013 +0000 @@ -4,14 +4,32 @@ #include "mbed.h" #include "PCA9555.h" #include "qed.h" - + /** Class for controlling motors trough PCA9555 */ class Motor { public: + /** Create an instance of the motor connected to specfied pins, and IO-expander. + * + * @param PWMpin Pin for PWM output + * @param *ioExt Pointer to IO-expander object + * @param dir1Pin Direction pin 1 number (on IO-expander) + * @param dir2Pin Direction pin 2 number (on IO-expander) + * @param encA Encoder pin + * @param encB Encoder pin + */ Motor(PinName PWMpin, PCA9555 *ioExt, unsigned int dir1Pin, unsigned int dir2Pin, PinName encA, PinName encB); - - void setPWM(int newPWM); + + /** Set speed setpoint + * + * @param newSpeed New setpoint + */ void setSpeed(int newSpeed); + + /** Get current speed setpoint value */ int getSpeed(); + + /**Method that calculates appropriate PWM values for keeping motor speed close to setpoint + * This method shoud be called periodically (60Hz) + */ void pid(); private: @@ -26,6 +44,12 @@ void resetPID(); + /** Set pwm duty cycle + * + * @param newPWM Duty cycle + */ + void setPWM(int newPWM); + //void pid(); int setPoint;