Weather application for ECE4180 Project.

Dependencies:   NetServices mbed HTTPClient 4DGL-uLCD-SE spxml

Committer:
franceslee0518
Date:
Fri Dec 07 18:54:26 2018 +0000
Revision:
1:6f7f146715e4
iWeather (Frances, Sherry)

Who changed what in which revision?

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