Michele Furlanetto / Mbed 2 deprecated mbed_keyboard

Dependencies:   TextLCD mbed MMA8451Q TSI

Branch:
mono
Revision:
11:97e964c9eeb2
Child:
12:47ba147bcbb7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MyLCD.cpp	Sun Oct 18 21:44:06 2015 +0000
@@ -0,0 +1,42 @@
+#include "mbed.h"
+#include "TextLCD.h"
+#include <string>
+#ifndef MYLCD
+#define MYLCD
+class MyLCD
+{
+public:
+    MyLCD(int refreshRate, PinName rs, PinName e, PinName d4, PinName d5, PinName d6, PinName d7): lcd(rs, e, d4, d5, d6, d7) {
+        lcd.printf("%d Hz, %.3f s", refreshRate, 1.0/refreshRate);
+        wait(3);
+        i=0;
+        if (refreshRate>0)
+            t.attach(this, &MyLCD::update, 1.0/refreshRate);
+        else
+            t.attach(this, &MyLCD::update, 1.0/20);
+    }
+    
+    void printf(string text) {
+        strcpy (buffer,text.c_str());
+    }
+    void printf(string text, float number) {
+        const char *tmp2 = text.append(": %.1f").c_str();
+        sprintf(buffer, tmp2, number);
+    }
+
+private:
+    TextLCD lcd;
+    int i;
+    Ticker t;
+    char buffer[33], bufferOld [33];
+
+    void update() {
+        if(!strcmp(bufferOld,buffer)==0) {
+            lcd.cls();
+            lcd.printf("%s", buffer);
+            strcpy(bufferOld, buffer);
+        }
+    }
+};
+
+#endif
\ No newline at end of file