Firmware for an Android accessory electric bicycle. See http://www.danielcasner.org/tag/ebike/ for some more information on my build.

Dependencies:   AndroidAccessory mbed

Revision:
0:220280db0a7b
Child:
1:be88f22fc412
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sat Aug 11 21:10:31 2012 +0000
@@ -0,0 +1,68 @@
+#include "mbed.h"
+#include "AndroidAccessory.h"
+
+DigitalOut led1(LED1);
+DigitalOut led2(LED2);
+DigitalOut led3(LED3);
+DigitalOut led4(LED4);
+
+static const size_t OUTL=61;
+static const size_t INBL=61;
+
+class DroidCycleMbed : public AndroidAccessory {
+public:
+    DroidCycleMbed() : AndroidAccessory(INBL, OUTL,
+                                                  "DC Labs",
+                                                  "DroidCycle",
+                                                  "Android E-Bike controller interface",
+                                                  "0.1",
+                                                  "http://www.danielcasner.org",
+                                                  "0000000012345678") {
+    tick.attach(this, &DroidCycleMbed::onTick, 0.010);
+}
+    
+    virtual void setupDevice() { 
+    virtual void resetDevice();
+    virtual int callbackRead(u8 *buff, int len);
+    virtual int callbackWrite();
+    
+private:
+    void onTick();
+    char buffer[OUTL];
+    int bcount;
+    Ticker tick;
+    Timeout n;
+};
+
+void DroidCycleMbed::setupDevice() {
+    for (int i=0; i<OUTL; i++) buffer[i] = 0;
+    bcount = 0;
+}
+
+void DroidCycleMbed::resetDevice() {
+    setupDevice();
+}
+
+int DroidCycleMbed::callbackRead(u8 *buf, int len) {
+    for (int i=0; i<INBL; i++) buf[i] = 0;
+    
+    return 0;
+}
+
+int DroidCycleMbed::callbackWrite() {
+    return false;
+}
+
+
+void DroidCycleMbed::onTick() {
+
+}
+
+int main() {
+    while(1) {
+        myled = 1;
+        wait(0.2);
+        myled = 0;
+        wait(0.2);
+    }
+}