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