Routines to control a MD03 H-bridge module.

Committer:
jimherd
Date:
Sat Nov 07 22:31:25 2015 +0000
Revision:
1:0afd9f1a4e4f
Parent:
0:7efb3e6f7c7a
Working version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jimherd 0:7efb3e6f7c7a 1 /*
jimherd 0:7efb3e6f7c7a 2 */
jimherd 0:7efb3e6f7c7a 3 #include "mbed.h"
jimherd 0:7efb3e6f7c7a 4
jimherd 0:7efb3e6f7c7a 5 #ifndef MD03_H
jimherd 0:7efb3e6f7c7a 6 #define MD03_H
jimherd 0:7efb3e6f7c7a 7
jimherd 0:7efb3e6f7c7a 8 /*
jimherd 0:7efb3e6f7c7a 9 * list of registers
jimherd 0:7efb3e6f7c7a 10 */
jimherd 0:7efb3e6f7c7a 11 #define MD03_COMMAND 0x00
jimherd 0:7efb3e6f7c7a 12 #define MD03_STATUS 0x01
jimherd 0:7efb3e6f7c7a 13 #define MD03_SPEED 0x02
jimherd 0:7efb3e6f7c7a 14 #define MD03_ACCELERATION 0x03
jimherd 0:7efb3e6f7c7a 15 #define MD03_TEMPERATURE 0x04
jimherd 0:7efb3e6f7c7a 16 #define MD03_MOTOR_CURRENT 0x05
jimherd 0:7efb3e6f7c7a 17 #define MD03_SOFTWARE_REV 0x07
jimherd 0:7efb3e6f7c7a 18 /*
jimherd 0:7efb3e6f7c7a 19 * list of command that can be sent to command register
jimherd 0:7efb3e6f7c7a 20 */
jimherd 0:7efb3e6f7c7a 21 #define MD03_CMD_STOP 0x00
jimherd 0:7efb3e6f7c7a 22 #define MD03_CMD_FORWARD 0x01
jimherd 0:7efb3e6f7c7a 23 #define MD03_CMD_REVERSE 0x02
jimherd 0:7efb3e6f7c7a 24
jimherd 0:7efb3e6f7c7a 25 class MD03 {
jimherd 0:7efb3e6f7c7a 26 public:
jimherd 0:7efb3e6f7c7a 27 MD03(PinName sda, PinName scl, int i2cAddress);
jimherd 0:7efb3e6f7c7a 28
jimherd 0:7efb3e6f7c7a 29 void set_speed(int speed);
jimherd 0:7efb3e6f7c7a 30 void set_accel(int acceleration);
jimherd 0:7efb3e6f7c7a 31 void stop(void);
jimherd 0:7efb3e6f7c7a 32 void move_forward(void);
jimherd 0:7efb3e6f7c7a 33 void move_reverse(void);
jimherd 0:7efb3e6f7c7a 34 char read_reg(int register);
jimherd 0:7efb3e6f7c7a 35
jimherd 0:7efb3e6f7c7a 36 protected:
jimherd 1:0afd9f1a4e4f 37 I2C _i2c;
jimherd 0:7efb3e6f7c7a 38 char address;
jimherd 0:7efb3e6f7c7a 39 char _writeOpcode, _readOpcode;
jimherd 0:7efb3e6f7c7a 40 };
jimherd 0:7efb3e6f7c7a 41
jimherd 0:7efb3e6f7c7a 42 #endif
jimherd 0:7efb3e6f7c7a 43