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

Dependencies:   AndroidAccessory mbed

main.cpp

Committer:
DanielC
Date:
2012-08-11
Revision:
0:220280db0a7b
Child:
1:be88f22fc412

File content as of revision 0:220280db0a7b:

#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);
    }
}