Release 1.01
Diff: emic2.h
- Revision:
- 1:0803158da847
- Parent:
- 0:b95ede38e19d
- Child:
- 2:e700404156e4
diff -r b95ede38e19d -r 0803158da847 emic2.h --- a/emic2.h Wed Nov 25 03:24:16 2015 +0000 +++ b/emic2.h Thu Sep 12 11:28:21 2019 +0000 @@ -1,4 +1,10 @@ +#ifndef _EMIC2_DRIVER_ +#define _EMIC2_DRIVER_ + +#include "mbed.h" + #define speakf printf + class emic2 : public Stream { public : @@ -11,8 +17,14 @@ while (_cmd.readable()) _cmd.getc();//flush out buffer just in case }; void ready() { - while (_cmd.getc() != ':'); - while (_cmd.readable()) _cmd.getc();//flush out recieve buffer just in case + while (_cmd.getc() != ':') + { + ThisThread::sleep_for(1); + } + while (_cmd.readable()) { + _cmd.getc();//flush out recieve buffer just in case + ThisThread::sleep_for(1); + } }; int readable() { return _cmd.readable(); @@ -21,11 +33,11 @@ return _cmd.getc(); } void volume(int x) { - speakf("V%D\r",x); + speakf("V%d\r",x); ready(); } void voice(int x) { - speakf("N%D\r",x); + speakf("N%d\r",x); ready(); } protected : @@ -33,9 +45,12 @@ //used by printf - supply it and printf works! virtual int _putc(int c) { _cmd.putc(c); + wait_us(1); return 0; }; virtual int _getc() { return -1; }; }; + +#endif