Wojciech Rynczuk
/
DP_Demo
Dni Przedsiebierczosci Demo
SLCD-/SLCD.h@0:eb5dfc6d9eae, 2017-04-21 (annotated)
- Committer:
- ketjow
- Date:
- Fri Apr 21 08:25:54 2017 +0000
- Revision:
- 0:eb5dfc6d9eae
Initial
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ketjow | 0:eb5dfc6d9eae | 1 | #pragma once |
ketjow | 0:eb5dfc6d9eae | 2 | |
ketjow | 0:eb5dfc6d9eae | 3 | #include "mbed.h" |
ketjow | 0:eb5dfc6d9eae | 4 | |
ketjow | 0:eb5dfc6d9eae | 5 | |
ketjow | 0:eb5dfc6d9eae | 6 | /* ------ sample usage------ |
ketjow | 0:eb5dfc6d9eae | 7 | |
ketjow | 0:eb5dfc6d9eae | 8 | #include "mbed.h" |
ketjow | 0:eb5dfc6d9eae | 9 | #include "SLCD.h" |
ketjow | 0:eb5dfc6d9eae | 10 | |
ketjow | 0:eb5dfc6d9eae | 11 | SLCD slcd; |
ketjow | 0:eb5dfc6d9eae | 12 | |
ketjow | 0:eb5dfc6d9eae | 13 | main() |
ketjow | 0:eb5dfc6d9eae | 14 | { |
ketjow | 0:eb5dfc6d9eae | 15 | slcd.printf("1.2.3.4"); // standard printf function, only charaters in ASCII_TO_WF_CODIFICATION_TABLE will display |
ketjow | 0:eb5dfc6d9eae | 16 | // Dots printed using decimal points |
ketjow | 0:eb5dfc6d9eae | 17 | slcd.putc('A'); // prints a single character |
ketjow | 0:eb5dfc6d9eae | 18 | slcd.clear(); // All segments off |
ketjow | 0:eb5dfc6d9eae | 19 | slcd.All_Segments(y); // y=1 for ALL segments on, 0 for ALL segments off |
ketjow | 0:eb5dfc6d9eae | 20 | slcd.DP(x, true/false); // Set/Clear decimal point. x=0, 1 or 2. |
ketjow | 0:eb5dfc6d9eae | 21 | // Does nothing if invalid decimal point |
ketjow | 0:eb5dfc6d9eae | 22 | slcd.DPx(y); // x=DP1 to DP3, y=1 for on 0 for off (legacy) |
ketjow | 0:eb5dfc6d9eae | 23 | slcd.Colon(y); // y=1 for on, 0 for off |
ketjow | 0:eb5dfc6d9eae | 24 | slcd.CharPosition=x; // x=0 to 3, 0 is start position |
ketjow | 0:eb5dfc6d9eae | 25 | slcd.Home(); // sets next charater to posistion 0 (start) |
ketjow | 0:eb5dfc6d9eae | 26 | slcd.Contrast (x); // set contrast x=0 - 15, 0 lightest, 15 darkest |
ketjow | 0:eb5dfc6d9eae | 27 | slcd.blink(x); // set display to blink, 0-7 is blink rate (default = 3), -1 disables blink |
ketjow | 0:eb5dfc6d9eae | 28 | slcd.deepsleepEnable(x);// true (default) keeps the lcd enabled in deepsleep, false disables its 4MHz internal oscillator clock. Total power consumption ~= 40uA |
ketjow | 0:eb5dfc6d9eae | 29 | } |
ketjow | 0:eb5dfc6d9eae | 30 | */ |
ketjow | 0:eb5dfc6d9eae | 31 | |
ketjow | 0:eb5dfc6d9eae | 32 | class SLCD : public Stream |
ketjow | 0:eb5dfc6d9eae | 33 | { |
ketjow | 0:eb5dfc6d9eae | 34 | public: |
ketjow | 0:eb5dfc6d9eae | 35 | SLCD(); |
ketjow | 0:eb5dfc6d9eae | 36 | |
ketjow | 0:eb5dfc6d9eae | 37 | void Home (void); |
ketjow | 0:eb5dfc6d9eae | 38 | void Contrast (uint8_t lbContrast); |
ketjow | 0:eb5dfc6d9eae | 39 | void All_Segments (int); |
ketjow | 0:eb5dfc6d9eae | 40 | void clear(); |
ketjow | 0:eb5dfc6d9eae | 41 | void DP(int pos, bool on); |
ketjow | 0:eb5dfc6d9eae | 42 | void DP1 (int); |
ketjow | 0:eb5dfc6d9eae | 43 | void DP2 (int); |
ketjow | 0:eb5dfc6d9eae | 44 | void DP3 (int); |
ketjow | 0:eb5dfc6d9eae | 45 | void Colon (int); |
ketjow | 0:eb5dfc6d9eae | 46 | uint8_t CharPosition; |
ketjow | 0:eb5dfc6d9eae | 47 | void blink(int blink = 3); |
ketjow | 0:eb5dfc6d9eae | 48 | void deepsleepEnable(bool enable); |
ketjow | 0:eb5dfc6d9eae | 49 | |
ketjow | 0:eb5dfc6d9eae | 50 | private: |
ketjow | 0:eb5dfc6d9eae | 51 | void Write_Char(char lbValue); |
ketjow | 0:eb5dfc6d9eae | 52 | void init(); |
ketjow | 0:eb5dfc6d9eae | 53 | virtual int _putc(int c); |
ketjow | 0:eb5dfc6d9eae | 54 | virtual int _getc() { |
ketjow | 0:eb5dfc6d9eae | 55 | return 0; |
ketjow | 0:eb5dfc6d9eae | 56 | } |
ketjow | 0:eb5dfc6d9eae | 57 | }; |