Routines to control a MD03 H-bridge module.
MD03.h
- Committer:
- jimherd
- Date:
- 2015-11-07
- Revision:
- 1:0afd9f1a4e4f
- Parent:
- 0:7efb3e6f7c7a
File content as of revision 1:0afd9f1a4e4f:
/*
*/
#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;
char address;
char _writeOpcode, _readOpcode;
};
#endif