Code to work with stadium.

Dependencies:   4DGL-uLCD-SE mbed-rtos mbed

Fork of StadiumHelper by Raymond Wong

Committer:
wongman
Date:
Sun Apr 24 21:08:37 2016 +0000
Revision:
0:0927a4a6f549
Final commit for 4180 final project, Stadium helper

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wongman 0:0927a4a6f549 1 #define speakf printf
wongman 0:0927a4a6f549 2 class emic2 : public Stream
wongman 0:0927a4a6f549 3 {
wongman 0:0927a4a6f549 4 public :
wongman 0:0927a4a6f549 5 emic2(PinName tx, PinName rx): _cmd(tx,rx) {
wongman 0:0927a4a6f549 6 _cmd.baud(9600);
wongman 0:0927a4a6f549 7 _cmd.putc('X'); //stop talking if reset and not a power on
wongman 0:0927a4a6f549 8 _cmd.putc('\r'); // Send a CR in case the system is already up
wongman 0:0927a4a6f549 9 wait(1); //delay for emic power on boot or reset respone
wongman 0:0927a4a6f549 10 while (_cmd.getc() != ':'); // When the Emic 2 has initialized and is ready, it will send a single ':'
wongman 0:0927a4a6f549 11 while (_cmd.readable()) _cmd.getc();//flush out buffer just in case
wongman 0:0927a4a6f549 12 };
wongman 0:0927a4a6f549 13 void ready() {
wongman 0:0927a4a6f549 14 while (_cmd.getc() != ':');
wongman 0:0927a4a6f549 15 while (_cmd.readable()) _cmd.getc();//flush out recieve buffer just in case
wongman 0:0927a4a6f549 16 };
wongman 0:0927a4a6f549 17 int readable() {
wongman 0:0927a4a6f549 18 return _cmd.readable();
wongman 0:0927a4a6f549 19 };
wongman 0:0927a4a6f549 20 int getc() {
wongman 0:0927a4a6f549 21 return _cmd.getc();
wongman 0:0927a4a6f549 22 }
wongman 0:0927a4a6f549 23 void volume(int x) {
wongman 0:0927a4a6f549 24 speakf("V%D\r",x);
wongman 0:0927a4a6f549 25 ready();
wongman 0:0927a4a6f549 26 }
wongman 0:0927a4a6f549 27 void voice(int x) {
wongman 0:0927a4a6f549 28 speakf("N%D\r",x);
wongman 0:0927a4a6f549 29 ready();
wongman 0:0927a4a6f549 30 }
wongman 0:0927a4a6f549 31 protected :
wongman 0:0927a4a6f549 32 Serial _cmd;
wongman 0:0927a4a6f549 33 //used by printf - supply it and printf works!
wongman 0:0927a4a6f549 34 virtual int _putc(int c) {
wongman 0:0927a4a6f549 35 _cmd.putc(c);
wongman 0:0927a4a6f549 36 return 0;
wongman 0:0927a4a6f549 37 };
wongman 0:0927a4a6f549 38 virtual int _getc() {
wongman 0:0927a4a6f549 39 return -1;
wongman 0:0927a4a6f549 40 };
wongman 0:0927a4a6f549 41 };