Michele Furlanetto / Mbed 2 deprecated mbed_keyboard

Dependencies:   TextLCD mbed MMA8451Q TSI

Committer:
mfurlanetto
Date:
Mon Oct 26 13:20:14 2015 +0000
Branch:
mono
Revision:
16:b3cc7cf41a1b
Parent:
15:b358e700d2d7
casin

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 15:b358e700d2d7 10 bufferOld[0]='\0';
mfurlanetto 11:97e964c9eeb2 11 if (refreshRate>0)
mfurlanetto 11:97e964c9eeb2 12 t.attach(this, &MyLCD::update, 1.0/refreshRate);
mfurlanetto 11:97e964c9eeb2 13 else
mfurlanetto 11:97e964c9eeb2 14 t.attach(this, &MyLCD::update, 1.0/20);
mfurlanetto 11:97e964c9eeb2 15 }
mfurlanetto 11:97e964c9eeb2 16
mfurlanetto 11:97e964c9eeb2 17 void printf(string text) {
mfurlanetto 15:b358e700d2d7 18 text.copy(buffer, 32, 0 );
mfurlanetto 15:b358e700d2d7 19 buffer[32]='\0';
mfurlanetto 11:97e964c9eeb2 20 }
mfurlanetto 12:47ba147bcbb7 21
mfurlanetto 12:47ba147bcbb7 22 void printf(string text, float number, string nav) {
mfurlanetto 15:b358e700d2d7 23 char tmp2[33];
mfurlanetto 15:b358e700d2d7 24 sprintf(tmp2,text.append(": %.0f\n%s\0").c_str(), number, nav);
mfurlanetto 15:b358e700d2d7 25 printf(tmp2);
mfurlanetto 11:97e964c9eeb2 26 }
mfurlanetto 11:97e964c9eeb2 27
mfurlanetto 11:97e964c9eeb2 28 private:
mfurlanetto 11:97e964c9eeb2 29 TextLCD lcd;
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 15:b358e700d2d7 36 lcd.printf("%s\0", buffer);
mfurlanetto 15:b358e700d2d7 37 strncpy(bufferOld, buffer, 32);
mfurlanetto 11:97e964c9eeb2 38 }
mfurlanetto 11:97e964c9eeb2 39 }
mfurlanetto 11:97e964c9eeb2 40 };
mfurlanetto 11:97e964c9eeb2 41
mfurlanetto 11:97e964c9eeb2 42 #endif