Henk Meewis / Mbed 2 deprecated USB_serial_LED_controller

Dependencies:   mbed

Fork of frdm_echo by Henk Meewis

Committer:
silverpanda
Date:
Thu Apr 24 23:27:17 2014 +0000
Revision:
14:73ef945b8def
Parent:
13:019e24491f32
added Pi

Who changed what in which revision?

UserRevisionLine numberNew contents of line
silverpanda 0:6898e364f29a 1 #include "mbed.h"
silverpanda 5:03b7c237c4c4 2 #include "shell.h"
silverpanda 7:19da09fe546b 3 #include "LEDColors.h"
silverpanda 13:019e24491f32 4 #include "PushButtons.h"
silverpanda 0:6898e364f29a 5
silverpanda 6:78a965b2d2df 6 Ticker *scanTicker;
silverpanda 6:78a965b2d2df 7 Shell *usbSerialShell;
silverpanda 7:19da09fe546b 8 LEDColors *ledColors;
silverpanda 13:019e24491f32 9 PushButtons *pushButtons;
silverpanda 7:19da09fe546b 10
silverpanda 14:73ef945b8def 11 bool at10msTickFlag;
silverpanda 1:20033a89af0e 12
silverpanda 13:019e24491f32 13 void pushButtonPressed()
silverpanda 13:019e24491f32 14 {
silverpanda 14:73ef945b8def 15 // continuous signals
silverpanda 14:73ef945b8def 16 if(pushButtons->getPressed(pb2)) ledColors->flash(lcBlue, 2);
silverpanda 14:73ef945b8def 17 if(pushButtons->getPressed(pb3)) ledColors->flash(lcGreen, 2);
silverpanda 14:73ef945b8def 18
silverpanda 14:73ef945b8def 19 // momentary signals
silverpanda 13:019e24491f32 20 if(pushButtons->getJustPressed(pb2)) usbSerialShell->reportPushButtonPress(pb2);
silverpanda 13:019e24491f32 21 if(pushButtons->getJustPressed(pb3)) usbSerialShell->reportPushButtonPress(pb3);
silverpanda 13:019e24491f32 22 }
silverpanda 13:019e24491f32 23 //-----------------------------------------------------------------------------
silverpanda 13:019e24491f32 24
silverpanda 7:19da09fe546b 25 void at10msTick()
silverpanda 1:20033a89af0e 26 {
silverpanda 14:73ef945b8def 27 at10msTickFlag = true;
silverpanda 1:20033a89af0e 28 }
silverpanda 1:20033a89af0e 29 //-----------------------------------------------------------------------------
silverpanda 1:20033a89af0e 30
silverpanda 1:20033a89af0e 31 void initMain()
silverpanda 1:20033a89af0e 32 {
silverpanda 4:dfb672184380 33 // increase the baud rate for the USB serial port
silverpanda 5:03b7c237c4c4 34 usbSerialShell = new Shell(115200);
silverpanda 1:20033a89af0e 35
silverpanda 4:dfb672184380 36 // send greeting with first cursor
silverpanda 12:b846b64e3980 37 usbSerialShell->sendStartMessage();
silverpanda 1:20033a89af0e 38
silverpanda 4:dfb672184380 39 // start polling for characters
silverpanda 6:78a965b2d2df 40 scanTicker = new Ticker();
silverpanda 7:19da09fe546b 41 scanTicker->attach(&at10msTick, 0.01);
silverpanda 14:73ef945b8def 42 at10msTickFlag = false;
silverpanda 7:19da09fe546b 43
silverpanda 7:19da09fe546b 44 ledColors = new LEDColors();
silverpanda 13:019e24491f32 45 pushButtons = new PushButtons();
silverpanda 0:6898e364f29a 46 }
silverpanda 0:6898e364f29a 47 //-----------------------------------------------------------------------------
silverpanda 0:6898e364f29a 48
silverpanda 0:6898e364f29a 49 int main() {
silverpanda 1:20033a89af0e 50 initMain();
silverpanda 1:20033a89af0e 51
silverpanda 4:dfb672184380 52 while(true) {
silverpanda 4:dfb672184380 53
silverpanda 4:dfb672184380 54 // check the flag
silverpanda 14:73ef945b8def 55 if(at10msTickFlag) {
silverpanda 5:03b7c237c4c4 56 usbSerialShell->scanUSBSerialRx();
silverpanda 14:73ef945b8def 57 ledColors->tick10ms();
silverpanda 14:73ef945b8def 58 if(pushButtons->tick10ms()) pushButtonPressed();
silverpanda 5:03b7c237c4c4 59 }
silverpanda 14:73ef945b8def 60 at10msTickFlag = false;
silverpanda 4:dfb672184380 61
silverpanda 4:dfb672184380 62 // give the main loop some time
silverpanda 14:73ef945b8def 63 // wait(0.001);
silverpanda 0:6898e364f29a 64 }
silverpanda 0:6898e364f29a 65 }
silverpanda 0:6898e364f29a 66 //-----------------------------------------------------------------------------