Michele Furlanetto / Mbed 2 deprecated mbed_keyboard

Dependencies:   TextLCD mbed MMA8451Q TSI

Committer:
mfurlanetto
Date:
Sun Oct 18 21:44:06 2015 +0000
Branch:
mono
Revision:
11:97e964c9eeb2
Child:
12:47ba147bcbb7
Aggiunto un buffer alla classe TextLCD, in modo da ridurre lo sfarfallio;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mfurlanetto 11:97e964c9eeb2 1 #include "mbed.h"
mfurlanetto 11:97e964c9eeb2 2 #include "TextLCD.h"
mfurlanetto 11:97e964c9eeb2 3 #include <string>
mfurlanetto 11:97e964c9eeb2 4 #ifndef MYLCD
mfurlanetto 11:97e964c9eeb2 5 #define MYLCD
mfurlanetto 11:97e964c9eeb2 6 class MyLCD
mfurlanetto 11:97e964c9eeb2 7 {
mfurlanetto 11:97e964c9eeb2 8 public:
mfurlanetto 11:97e964c9eeb2 9 MyLCD(int refreshRate, PinName rs, PinName e, PinName d4, PinName d5, PinName d6, PinName d7): lcd(rs, e, d4, d5, d6, d7) {
mfurlanetto 11:97e964c9eeb2 10 lcd.printf("%d Hz, %.3f s", refreshRate, 1.0/refreshRate);
mfurlanetto 11:97e964c9eeb2 11 wait(3);
mfurlanetto 11:97e964c9eeb2 12 i=0;
mfurlanetto 11:97e964c9eeb2 13 if (refreshRate>0)
mfurlanetto 11:97e964c9eeb2 14 t.attach(this, &MyLCD::update, 1.0/refreshRate);
mfurlanetto 11:97e964c9eeb2 15 else
mfurlanetto 11:97e964c9eeb2 16 t.attach(this, &MyLCD::update, 1.0/20);
mfurlanetto 11:97e964c9eeb2 17 }
mfurlanetto 11:97e964c9eeb2 18
mfurlanetto 11:97e964c9eeb2 19 void printf(string text) {
mfurlanetto 11:97e964c9eeb2 20 strcpy (buffer,text.c_str());
mfurlanetto 11:97e964c9eeb2 21 }
mfurlanetto 11:97e964c9eeb2 22 void printf(string text, float number) {
mfurlanetto 11:97e964c9eeb2 23 const char *tmp2 = text.append(": %.1f").c_str();
mfurlanetto 11:97e964c9eeb2 24 sprintf(buffer, tmp2, number);
mfurlanetto 11:97e964c9eeb2 25 }
mfurlanetto 11:97e964c9eeb2 26
mfurlanetto 11:97e964c9eeb2 27 private:
mfurlanetto 11:97e964c9eeb2 28 TextLCD lcd;
mfurlanetto 11:97e964c9eeb2 29 int i;
mfurlanetto 11:97e964c9eeb2 30 Ticker t;
mfurlanetto 11:97e964c9eeb2 31 char buffer[33], bufferOld [33];
mfurlanetto 11:97e964c9eeb2 32
mfurlanetto 11:97e964c9eeb2 33 void update() {
mfurlanetto 11:97e964c9eeb2 34 if(!strcmp(bufferOld,buffer)==0) {
mfurlanetto 11:97e964c9eeb2 35 lcd.cls();
mfurlanetto 11:97e964c9eeb2 36 lcd.printf("%s", buffer);
mfurlanetto 11:97e964c9eeb2 37 strcpy(bufferOld, buffer);
mfurlanetto 11:97e964c9eeb2 38 }
mfurlanetto 11:97e964c9eeb2 39 }
mfurlanetto 11:97e964c9eeb2 40 };
mfurlanetto 11:97e964c9eeb2 41
mfurlanetto 11:97e964c9eeb2 42 #endif