Release 1.01

Revision:
1:0803158da847
Parent:
0:b95ede38e19d
Child:
2:e700404156e4
--- 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