Routines to control a MD03 H-bridge module.
Diff: MD03.h
- Revision:
- 0:7efb3e6f7c7a
- Child:
- 1:0afd9f1a4e4f
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MD03.h Thu Jun 25 19:55:40 2015 +0000 @@ -0,0 +1,44 @@ +/* + */ +#include "mbed.h" + +#ifndef MD03_H +#define MD03_H + +/* + * list of registers + */ +#define MD03_COMMAND 0x00 +#define MD03_STATUS 0x01 +#define MD03_SPEED 0x02 +#define MD03_ACCELERATION 0x03 +#define MD03_TEMPERATURE 0x04 +#define MD03_MOTOR_CURRENT 0x05 +#define MD03_SOFTWARE_REV 0x07 +/* + * list of command that can be sent to command register + */ +#define MD03_CMD_STOP 0x00 +#define MD03_CMD_FORWARD 0x01 +#define MD03_CMD_REVERSE 0x02 + +class MD03 { +public: + MD03(PinName sda, PinName scl, int i2cAddress); + + void set_speed(int speed); + void set_accel(int acceleration); + void stop(void); + void move_forward(void); + void move_reverse(void); + char read_reg(int register); + +protected: +// I2C &_i2c; + I2C _i2c; + char address; + char _writeOpcode, _readOpcode; + }; + + #endif + \ No newline at end of file