This class interface the MDSMC (Micro Dual Serial Motor Controller) by Pololu with our mbed module
Diff: MDSMC.cpp
- Revision:
- 0:e869912db757
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MDSMC.cpp Fri Nov 16 20:26:54 2012 +0000 @@ -0,0 +1,43 @@ +//.cpp file of MDSMC library + +#include "mbed.h" +#include "MDSMC.h" + +MDSMC::MDSMC(PinName TX, PinName RX, PinName CLR, int bps, int nM): _serialMDSMC(TX, RX), _CLR(CLR) +{ + reset(); + _serialMDSMC.baud(bps); + switch (nM) + { + case 1: + _serialMDSMC.putc(Start); + _serialMDSMC.putc(ChangeConfig); + _serialMDSMC.putc(Setting1); + reset(); + break; + case 2: + _serialMDSMC.putc(Start); + _serialMDSMC.putc(ChangeConfig); + _serialMDSMC.putc(Setting2); + reset(); + break; + } +} + +//user functions +void MDSMC::use(char direction, char speed) +{ + _serialMDSMC.putc(Start); + _serialMDSMC.putc(Device); + _serialMDSMC.putc(direction); + _serialMDSMC.putc(speed); +} + +void MDSMC::reset() +{ + _CLR = 0; + wait_us(2); + _CLR = 1; +} + + \ No newline at end of file