Steven Rhodes / Mbed 2 deprecated CNCAirbrushCode

main.cpp

Committer:
stvnrhodes
Date:
2012-04-19
Revision:
2:d3a99fd96468
Parent:
1:648d1f317624
Child:
3:39ae37b9c936

File content as of revision 2:d3a99fd96468:

#include "mbed.h"
#include "Wifly.h"
#include "Bitmap.h"
LocalFileSystem local("local");
Serial pc(USBTX, USBRX);
DigitalOut led(LED1);
DigitalOut solenoid(p29);
Wifly wifi(p9, p10, p8);
Command * cmd;
Bitmap bmp;

int main() {
    solenoid = 0;
    pc.baud(460800);
    printf("Test Airbrush!\r\n");
    wifi.createAdhocNetwork();
    bmp.openImg("/local/a.bmp");
    for (int i=0; i < bmp.getHeight(); i++) {
        pc.printf("Row %3d: ", i);
        bmp.setRow(i);
        for (int j=0; j < bmp.getWidth(); j++) {
            if(bmp.isPixel(j)) {
                pc.printf("1");
            } else {
                pc.printf(" ");
            }
        }
        pc.printf("\n\r");
    }
    bmp.closeImg();
    while (1) {
        while(pc.readable()) {
            wifi.putc(pc.getc());
        }
        while(wifi.readable()){
            pc.putc(wifi.getc());
        }
        if(wifi.hasCmd()){
            cmd = wifi.getCmd();
            switch(cmd->cmd) {
              case 0x00:
                pc.printf("Move to x: %d, y:%d, z:%d\n\r", cmd->l[0], cmd->l[1], cmd->l[2]);
                wait(3);
                wifi.send("Done"); // Make sure to always send confirmation
                break;
              default:
                pc.printf("You should probably do something with case %x\n\r", cmd->cmd);
                wifi.send("No code");
            }
        }
    }
}