Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: TextLCD mbed MMA8451Q TSI
MyLCD.cpp@16:b3cc7cf41a1b, 2015-10-26 (annotated)
- 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?
| User | Revision | Line number | New 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 |
