LCD handling prototypes for Proxima-01 LCD. More...

Go to the source code of this file.
Defines | |
| #define | LCDP_DDR (DDRD) |
| #define | LCDP_PORT (PORTD) |
| #define | LCDP_DATA (1 << PD2) |
| #define | LCDP_CLB (1 << PD3) |
| #define | LCDP_DLEN (1 << PD4) |
| #define | LCDP_SELECT_LATCH_A (32ul) |
| #define | LCDP_SELECT_LATCH_B (0ul) |
| #define | LCDP_SEGMENT_TSD ((uint64_t) 1 << (0 + LCDP_SELECT_LATCH_A)) |
| tsd= | |
| #define | LCDP_SEGMENT_ISD ((uint64_t) 1 << (23 + LCDP_SELECT_LATCH_A)) |
| Isd=. | |
| #define | LCDP_SEGMENT_TR ((uint64_t) 1 << (24 + LCDP_SELECT_LATCH_A)) |
| Ir=. | |
| #define | LCDP_SEGMENT_IDELTAN ((uint64_t) 1 << (25 + LCDP_SELECT_LATCH_A)) |
| I/ =. | |
| #define | LCDP_SEGMENT_TG ((uint64_t) 1 << (0 + LCDP_SELECT_LATCH_B)) |
| tg= | |
| #define | LCDP_SEGMENT_DELTAT ((uint64_t) 1 << (1 + LCDP_SELECT_LATCH_B)) |
| /= | |
| #define | LCDP_SEGMENT_II ((uint64_t) 1 << (23 + LCDP_SELECT_LATCH_B)) |
| Ii=. | |
| #define | LCDP_SEGMENT_IR ((uint64_t) 1 << (24 + LCDP_SELECT_LATCH_B)) |
| Ir=. | |
| #define | LCDP_SEGMENT_IG ((uint64_t) 1 << (25 + LCDP_SELECT_LATCH_B)) |
| Ig=. | |
| #define | LCDP_SEGMENT_ARROW0 ((uint64_t) 1 << (8 + LCDP_SELECT_LATCH_A)) |
| #define | LCDP_SEGMENT_ARROW1 ((uint64_t) 1 << (8 + LCDP_SELECT_LATCH_B)) |
| #define | LCDP_SEGMENT_ARROW2 ((uint64_t) 1 << (3 + LCDP_SELECT_LATCH_A)) |
| #define | LCDP_SEGMENT_ARROW3 ((uint64_t) 1 << (3 + LCDP_SELECT_LATCH_B)) |
| #define | LCDP_SEGMENT_KILO ((uint64_t) 1 << (11 + LCDP_SELECT_LATCH_A)) |
| k | |
| #define | LCDP_SEGMENT_AMPER ((uint64_t) 1 << (11 + LCDP_SELECT_LATCH_B)) |
| A. | |
| #define | LCDP_SEGMENT_SIEMENS ((uint64_t) 1 << (14 + LCDP_SELECT_LATCH_A)) |
| S. | |
| #define | LCDP_SEGMENT_BATTERY ((uint64_t) 1 << (14 + LCDP_SELECT_LATCH_B)) |
| #define | LCDP_SEGMENT_BATTERY_LOW ((uint64_t) 1 << (16 + LCDP_SELECT_LATCH_A)) |
| #define | LCDP_SEGMENT_BATTERY_FULL ((uint64_t) 1 << (16 + LCDP_SELECT_LATCH_B)) |
| #define | LCDP_SEGMENT_MAX ((uint64_t) 1 << (19 + LCDP_SELECT_LATCH_A)) |
| Max. | |
| #define | LCDP_SEGMENT_GROUND ((uint64_t) 1 << (19 + LCDP_SELECT_LATCH_B)) |
| #define | LCDP_SEGMENT_3A ((uint64_t) 1 << (22 + LCDP_SELECT_LATCH_A)) |
| #define | LCDP_SEGMENT_3B ((uint64_t) 1 << (21 + LCDP_SELECT_LATCH_A)) |
| #define | LCDP_SEGMENT_3C ((uint64_t) 1 << (2 + LCDP_SELECT_LATCH_A)) |
| #define | LCDP_SEGMENT_3D ((uint64_t) 1 << (1 + LCDP_SELECT_LATCH_A)) |
| #define | LCDP_SEGMENT_3E ((uint64_t) 1 << (2 + LCDP_SELECT_LATCH_B)) |
| #define | LCDP_SEGMENT_3F ((uint64_t) 1 << (22 + LCDP_SELECT_LATCH_B)) |
| #define | LCDP_SEGMENT_3G ((uint64_t) 1 << (21 + LCDP_SELECT_LATCH_B)) |
| #define | LCDP_SEGMENT_3DP ((uint64_t) 1 << (4 + LCDP_SELECT_LATCH_B)) |
| #define | LCDP_SEGMENT_2A ((uint64_t) 1 << (20 + LCDP_SELECT_LATCH_A)) |
| #define | LCDP_SEGMENT_2B ((uint64_t) 1 << (18 + LCDP_SELECT_LATCH_A)) |
| #define | LCDP_SEGMENT_2C ((uint64_t) 1 << (5 + LCDP_SELECT_LATCH_A)) |
| #define | LCDP_SEGMENT_2D ((uint64_t) 1 << (4 + LCDP_SELECT_LATCH_A)) |
| #define | LCDP_SEGMENT_2E ((uint64_t) 1 << (5 + LCDP_SELECT_LATCH_B)) |
| #define | LCDP_SEGMENT_2F ((uint64_t) 1 << (20 + LCDP_SELECT_LATCH_B)) |
| #define | LCDP_SEGMENT_2G ((uint64_t) 1 << (18 + LCDP_SELECT_LATCH_B)) |
| #define | LCDP_SEGMENT_2DP ((uint64_t) 1 << (6 + LCDP_SELECT_LATCH_B)) |
| #define | LCDP_SEGMENT_1A ((uint64_t) 1 << (17 + LCDP_SELECT_LATCH_A)) |
| #define | LCDP_SEGMENT_1B ((uint64_t) 1 << (16 + LCDP_SELECT_LATCH_A)) |
| #define | LCDP_SEGMENT_1C ((uint64_t) 1 << (7 + LCDP_SELECT_LATCH_A)) |
| #define | LCDP_SEGMENT_1D ((uint64_t) 1 << (6 + LCDP_SELECT_LATCH_A)) |
| #define | LCDP_SEGMENT_1E ((uint64_t) 1 << (7 + LCDP_SELECT_LATCH_B)) |
| #define | LCDP_SEGMENT_1F ((uint64_t) 1 << (17 + LCDP_SELECT_LATCH_B)) |
| #define | LCDP_SEGMENT_1G ((uint64_t) 1 << (16 + LCDP_SELECT_LATCH_B)) |
| #define | LCDP_SEGMENT_1DP ((uint64_t) 1 << (9 + LCDP_SELECT_LATCH_B)) |
| #define | LCDP_SEGMENT_0A ((uint64_t) 1 << (13 + LCDP_SELECT_LATCH_A)) |
| #define | LCDP_SEGMENT_0B ((uint64_t) 1 << (12 + LCDP_SELECT_LATCH_A)) |
| #define | LCDP_SEGMENT_0C ((uint64_t) 1 << (10 + LCDP_SELECT_LATCH_A)) |
| #define | LCDP_SEGMENT_0D ((uint64_t) 1 << (9 + LCDP_SELECT_LATCH_A)) |
| #define | LCDP_SEGMENT_0E ((uint64_t) 1 << (10 + LCDP_SELECT_LATCH_B)) |
| #define | LCDP_SEGMENT_0F ((uint64_t) 1 << (13 + LCDP_SELECT_LATCH_B)) |
| #define | LCDP_SEGMENT_0G ((uint64_t) 1 << (12 + LCDP_SELECT_LATCH_B)) |
Functions | |
| void | LCDP_init (void) |
| Initialize ports. | |
| void | LCDP_clear (void) |
| Clear all segment of LCD. | |
| void | LCDP_all (void) |
| Shows all segment of LCD. | |
| void | LCDP_writeLatch (uint32_t segments, bool_t latchA) |
| Put data to latch A or latch B. | |
| void | LCDP_writeLatches (void) |
| Write internal latches to PCF2111's latches. | |
| void | LCDP_printNumber (uint16_t number, bool_t leadingZeros) |
| Print number to LCD in decimal format. | |
| void | LCDP_printNumberHex (uint16_t number) |
| Print number to LCD in hexadecimal format. | |
| void | LCDP_printNumberHexLZ (uint16_t number) |
| Print number to LCD in hexadecimal format. | |
Variables | |
| uint64_t | latches |
| Internal mirror of latches in PCF2111. | |
LCD handling prototypes for Proxima-01 LCD.
Created: 2008-03-31 10:19:22 Last modify: 2010-08-24 17:51:16 ivanovp {Time-stamp} Licence: GPL
Definition in file lcdproxima.h.
| #define LCDP_CLB (1 << PD3) |
Definition at line 18 of file lcdproxima.h.
| #define LCDP_DATA (1 << PD2) |
Definition at line 17 of file lcdproxima.h.
| #define LCDP_DDR (DDRD) |
Definition at line 15 of file lcdproxima.h.
| #define LCDP_DLEN (1 << PD4) |
Definition at line 19 of file lcdproxima.h.
| #define LCDP_PORT (PORTD) |
Definition at line 16 of file lcdproxima.h.
| #define LCDP_SEGMENT_0A ((uint64_t) 1 << (13 + LCDP_SELECT_LATCH_A)) |
Definition at line 89 of file lcdproxima.h.
| #define LCDP_SEGMENT_0B ((uint64_t) 1 << (12 + LCDP_SELECT_LATCH_A)) |
Definition at line 90 of file lcdproxima.h.
| #define LCDP_SEGMENT_0C ((uint64_t) 1 << (10 + LCDP_SELECT_LATCH_A)) |
Definition at line 91 of file lcdproxima.h.
| #define LCDP_SEGMENT_0D ((uint64_t) 1 << (9 + LCDP_SELECT_LATCH_A)) |
Definition at line 92 of file lcdproxima.h.
| #define LCDP_SEGMENT_0E ((uint64_t) 1 << (10 + LCDP_SELECT_LATCH_B)) |
Definition at line 93 of file lcdproxima.h.
| #define LCDP_SEGMENT_0F ((uint64_t) 1 << (13 + LCDP_SELECT_LATCH_B)) |
Definition at line 94 of file lcdproxima.h.
| #define LCDP_SEGMENT_0G ((uint64_t) 1 << (12 + LCDP_SELECT_LATCH_B)) |
Definition at line 95 of file lcdproxima.h.
| #define LCDP_SEGMENT_1A ((uint64_t) 1 << (17 + LCDP_SELECT_LATCH_A)) |
Definition at line 80 of file lcdproxima.h.
| #define LCDP_SEGMENT_1B ((uint64_t) 1 << (16 + LCDP_SELECT_LATCH_A)) |
Definition at line 81 of file lcdproxima.h.
| #define LCDP_SEGMENT_1C ((uint64_t) 1 << (7 + LCDP_SELECT_LATCH_A)) |
Definition at line 82 of file lcdproxima.h.
| #define LCDP_SEGMENT_1D ((uint64_t) 1 << (6 + LCDP_SELECT_LATCH_A)) |
Definition at line 83 of file lcdproxima.h.
| #define LCDP_SEGMENT_1DP ((uint64_t) 1 << (9 + LCDP_SELECT_LATCH_B)) |
Definition at line 87 of file lcdproxima.h.
| #define LCDP_SEGMENT_1E ((uint64_t) 1 << (7 + LCDP_SELECT_LATCH_B)) |
Definition at line 84 of file lcdproxima.h.
| #define LCDP_SEGMENT_1F ((uint64_t) 1 << (17 + LCDP_SELECT_LATCH_B)) |
Definition at line 85 of file lcdproxima.h.
| #define LCDP_SEGMENT_1G ((uint64_t) 1 << (16 + LCDP_SELECT_LATCH_B)) |
Definition at line 86 of file lcdproxima.h.
| #define LCDP_SEGMENT_2A ((uint64_t) 1 << (20 + LCDP_SELECT_LATCH_A)) |
Definition at line 71 of file lcdproxima.h.
| #define LCDP_SEGMENT_2B ((uint64_t) 1 << (18 + LCDP_SELECT_LATCH_A)) |
Definition at line 72 of file lcdproxima.h.
| #define LCDP_SEGMENT_2C ((uint64_t) 1 << (5 + LCDP_SELECT_LATCH_A)) |
Definition at line 73 of file lcdproxima.h.
| #define LCDP_SEGMENT_2D ((uint64_t) 1 << (4 + LCDP_SELECT_LATCH_A)) |
Definition at line 74 of file lcdproxima.h.
| #define LCDP_SEGMENT_2DP ((uint64_t) 1 << (6 + LCDP_SELECT_LATCH_B)) |
Definition at line 78 of file lcdproxima.h.
| #define LCDP_SEGMENT_2E ((uint64_t) 1 << (5 + LCDP_SELECT_LATCH_B)) |
Definition at line 75 of file lcdproxima.h.
| #define LCDP_SEGMENT_2F ((uint64_t) 1 << (20 + LCDP_SELECT_LATCH_B)) |
Definition at line 76 of file lcdproxima.h.
| #define LCDP_SEGMENT_2G ((uint64_t) 1 << (18 + LCDP_SELECT_LATCH_B)) |
Definition at line 77 of file lcdproxima.h.
| #define LCDP_SEGMENT_3A ((uint64_t) 1 << (22 + LCDP_SELECT_LATCH_A)) |
Definition at line 62 of file lcdproxima.h.
| #define LCDP_SEGMENT_3B ((uint64_t) 1 << (21 + LCDP_SELECT_LATCH_A)) |
Definition at line 63 of file lcdproxima.h.
| #define LCDP_SEGMENT_3C ((uint64_t) 1 << (2 + LCDP_SELECT_LATCH_A)) |
Definition at line 64 of file lcdproxima.h.
| #define LCDP_SEGMENT_3D ((uint64_t) 1 << (1 + LCDP_SELECT_LATCH_A)) |
Definition at line 65 of file lcdproxima.h.
| #define LCDP_SEGMENT_3DP ((uint64_t) 1 << (4 + LCDP_SELECT_LATCH_B)) |
Definition at line 69 of file lcdproxima.h.
| #define LCDP_SEGMENT_3E ((uint64_t) 1 << (2 + LCDP_SELECT_LATCH_B)) |
Definition at line 66 of file lcdproxima.h.
| #define LCDP_SEGMENT_3F ((uint64_t) 1 << (22 + LCDP_SELECT_LATCH_B)) |
Definition at line 67 of file lcdproxima.h.
| #define LCDP_SEGMENT_3G ((uint64_t) 1 << (21 + LCDP_SELECT_LATCH_B)) |
Definition at line 68 of file lcdproxima.h.
| #define LCDP_SEGMENT_AMPER ((uint64_t) 1 << (11 + LCDP_SELECT_LATCH_B)) |
A.
Definition at line 43 of file lcdproxima.h.
| #define LCDP_SEGMENT_ARROW0 ((uint64_t) 1 << (8 + LCDP_SELECT_LATCH_A)) |
Definition at line 37 of file lcdproxima.h.
| #define LCDP_SEGMENT_ARROW1 ((uint64_t) 1 << (8 + LCDP_SELECT_LATCH_B)) |
Definition at line 38 of file lcdproxima.h.
| #define LCDP_SEGMENT_ARROW2 ((uint64_t) 1 << (3 + LCDP_SELECT_LATCH_A)) |
Definition at line 39 of file lcdproxima.h.
| #define LCDP_SEGMENT_ARROW3 ((uint64_t) 1 << (3 + LCDP_SELECT_LATCH_B)) |
Definition at line 40 of file lcdproxima.h.
| #define LCDP_SEGMENT_BATTERY ((uint64_t) 1 << (14 + LCDP_SELECT_LATCH_B)) |
Definition at line 46 of file lcdproxima.h.
| #define LCDP_SEGMENT_BATTERY_FULL ((uint64_t) 1 << (16 + LCDP_SELECT_LATCH_B)) |
Definition at line 48 of file lcdproxima.h.
| #define LCDP_SEGMENT_BATTERY_LOW ((uint64_t) 1 << (16 + LCDP_SELECT_LATCH_A)) |
Definition at line 47 of file lcdproxima.h.
| #define LCDP_SEGMENT_DELTAT ((uint64_t) 1 << (1 + LCDP_SELECT_LATCH_B)) |
/=
Definition at line 32 of file lcdproxima.h.
| #define LCDP_SEGMENT_GROUND ((uint64_t) 1 << (19 + LCDP_SELECT_LATCH_B)) |
Definition at line 51 of file lcdproxima.h.
| #define LCDP_SEGMENT_IDELTAN ((uint64_t) 1 << (25 + LCDP_SELECT_LATCH_A)) |
I/
=.
Definition at line 29 of file lcdproxima.h.
| #define LCDP_SEGMENT_IG ((uint64_t) 1 << (25 + LCDP_SELECT_LATCH_B)) |
Ig=.
Definition at line 35 of file lcdproxima.h.
| #define LCDP_SEGMENT_II ((uint64_t) 1 << (23 + LCDP_SELECT_LATCH_B)) |
Ii=.
Definition at line 33 of file lcdproxima.h.
| #define LCDP_SEGMENT_IR ((uint64_t) 1 << (24 + LCDP_SELECT_LATCH_B)) |
Ir=.
Definition at line 34 of file lcdproxima.h.
| #define LCDP_SEGMENT_ISD ((uint64_t) 1 << (23 + LCDP_SELECT_LATCH_A)) |
Isd=.
Definition at line 27 of file lcdproxima.h.
| #define LCDP_SEGMENT_KILO ((uint64_t) 1 << (11 + LCDP_SELECT_LATCH_A)) |
k
Definition at line 42 of file lcdproxima.h.
| #define LCDP_SEGMENT_MAX ((uint64_t) 1 << (19 + LCDP_SELECT_LATCH_A)) |
Max.
Definition at line 50 of file lcdproxima.h.
| #define LCDP_SEGMENT_SIEMENS ((uint64_t) 1 << (14 + LCDP_SELECT_LATCH_A)) |
S.
Definition at line 44 of file lcdproxima.h.
| #define LCDP_SEGMENT_TG ((uint64_t) 1 << (0 + LCDP_SELECT_LATCH_B)) |
tg=
Definition at line 31 of file lcdproxima.h.
| #define LCDP_SEGMENT_TR ((uint64_t) 1 << (24 + LCDP_SELECT_LATCH_A)) |
Ir=.
Definition at line 28 of file lcdproxima.h.
| #define LCDP_SEGMENT_TSD ((uint64_t) 1 << (0 + LCDP_SELECT_LATCH_A)) |
tsd=
Definition at line 26 of file lcdproxima.h.
| #define LCDP_SELECT_LATCH_A (32ul) |
Definition at line 21 of file lcdproxima.h.
| #define LCDP_SELECT_LATCH_B (0ul) |
Definition at line 22 of file lcdproxima.h.
| void LCDP_all | ( | void | ) |
| void LCDP_clear | ( | void | ) |
Clear all segment of LCD.
Definition at line 179 of file lcdproxima.c.
| void LCDP_init | ( | void | ) | [inline] |
Initialize ports.
Definition at line 106 of file lcdproxima.c.
| void LCDP_printNumber | ( | uint16_t | number, | |
| bool_t | leadingZeros | |||
| ) |
Print number to LCD in decimal format.
Input:
| number | Number to print. | |
| leadingZeros | TRUE: print leading zeros. FALSE: don't print zeros. |
Definition at line 203 of file lcdproxima.c.
| void LCDP_printNumberHex | ( | uint16_t | number | ) |
Print number to LCD in hexadecimal format.
Input:
| number | Number to print. |
Definition at line 249 of file lcdproxima.c.
| void LCDP_printNumberHexLZ | ( | uint16_t | number | ) |
Print number to LCD in hexadecimal format.
Input:
| number | Number to print. |
Definition at line 280 of file lcdproxima.c.
| void LCDP_writeLatch | ( | uint32_t | segments, | |
| bool_t | latchA | |||
| ) |
Put data to latch A or latch B.
Both latches have 32 bits.
Input:
| segments | Latch data: which segments should be enabled. | |
| latchA | Select latch. TRUE: latch A, FALSE: latch B. |
Definition at line 130 of file lcdproxima.c.
| void LCDP_writeLatches | ( | void | ) |
Write internal latches to PCF2111's latches.
Definition at line 168 of file lcdproxima.c.
| uint64_t latches |
Internal mirror of latches in PCF2111.
Upper 32-bit is latch A, lower 32-bit is latch B.
Definition at line 20 of file lcdproxima.c.
1.6.3