DP / Mbed 2 deprecated RCControlOOPWithThrottle

Dependencies:   mbed

Fork of RCControlOOP by DP

Revision:
0:78e2af20cbf3
Child:
1:e694ee3b4a7f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/WirelessMousr.cpp	Mon Sep 08 11:32:04 2014 +0000
@@ -0,0 +1,39 @@
+#include "WirelessMousr.h"
+
+WirelessMousr::WirelessMousr() : Mousr(), pc(p28, p27) {}
+
+int WirelessMousr::init()
+{
+    pc.attach(this,&WirelessMousr::rxCallback);
+    wait(0.1);
+    return 0;
+}
+
+void WirelessMousr::rxCallback()
+{
+    char state = this->pc.getc(); // read RX character, clearing interrupt
+    pc.putc(state); // loopback
+    pc.putc(10);
+    
+    // state machine
+    switch(state) {
+    case 's':
+      this->stop(); break;
+    case 'w':
+      this->straight(getStraightSpeed()); break;
+    case 'a':
+      this->left(getRotateSpeed()); wait(0.25); stop(); break;
+    case 'd':
+      this->right(getRotateSpeed()); wait(0.25); stop(); break;
+    case 'x':
+      this->backwards(getStraightSpeed()); break;
+    case 'q':
+      this->left(getRotateFastSpeed()); break;
+    case 'e':
+      this->right(getRotateFastSpeed()); break;
+    case 'z':
+      this->left(getRotateSlowSpeed()); break;
+    case 'c':
+      this->right(getRotateSlowSpeed()); break;
+    }
+}
\ No newline at end of file