Routines to control a MD03 H-bridge module.

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