Display driver for the Vives city game
CostumCharacters.cpp@0:80ce68cdf568, 2017-04-25 (annotated)
- Committer:
- atomicLogic
- Date:
- Tue Apr 25 19:47:42 2017 +0000
- Revision:
- 0:80ce68cdf568
- Child:
- 5:06eccc902247
Display driver for 20x4 character display.; Made for the Vives City Game
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
atomicLogic | 0:80ce68cdf568 | 1 | #include "CostumCharacters.h" |
atomicLogic | 0:80ce68cdf568 | 2 | #include "TextLCD.h" |
atomicLogic | 0:80ce68cdf568 | 3 | #include <string> |
atomicLogic | 0:80ce68cdf568 | 4 | |
atomicLogic | 0:80ce68cdf568 | 5 | namespace VivesCityGame |
atomicLogic | 0:80ce68cdf568 | 6 | { |
atomicLogic | 0:80ce68cdf568 | 7 | |
atomicLogic | 0:80ce68cdf568 | 8 | CostumCharacters::CostumCharacters( TextLCD * lcd ) |
atomicLogic | 0:80ce68cdf568 | 9 | { |
atomicLogic | 0:80ce68cdf568 | 10 | this->lcd = lcd; |
atomicLogic | 0:80ce68cdf568 | 11 | /* |
atomicLogic | 0:80ce68cdf568 | 12 | |
atomicLogic | 0:80ce68cdf568 | 13 | const char batteryIcon[][8] = { |
atomicLogic | 0:80ce68cdf568 | 14 | {0x0E, 0x1F, 0x11, 0x11, 0x11, 0x11, 0x11, 0x1F}, |
atomicLogic | 0:80ce68cdf568 | 15 | {0x0E, 0x1F, 0x11, 0x11, 0x11, 0x11, 0x1F, 0x1F}, |
atomicLogic | 0:80ce68cdf568 | 16 | {0x0E, 0x1F, 0x11, 0x11, 0x11, 0x1F, 0x1F, 0x1F}, |
atomicLogic | 0:80ce68cdf568 | 17 | {0x0E, 0x1F, 0x11, 0x11, 0x1F, 0x1F, 0x1F, 0x1F}, |
atomicLogic | 0:80ce68cdf568 | 18 | {0x0E, 0x1F, 0x11, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F}, |
atomicLogic | 0:80ce68cdf568 | 19 | {0x0E, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F} |
atomicLogic | 0:80ce68cdf568 | 20 | }; |
atomicLogic | 0:80ce68cdf568 | 21 | |
atomicLogic | 0:80ce68cdf568 | 22 | const char gpsIcon[][8] = { |
atomicLogic | 0:80ce68cdf568 | 23 | {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F}, |
atomicLogic | 0:80ce68cdf568 | 24 | {0x00, 0x0E, 0x1B, 0x11, 0x1B, 0x0E, 0x0E, 0x04} |
atomicLogic | 0:80ce68cdf568 | 25 | }; |
atomicLogic | 0:80ce68cdf568 | 26 | |
atomicLogic | 0:80ce68cdf568 | 27 | const char loraIcon[][8] = { |
atomicLogic | 0:80ce68cdf568 | 28 | {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F} |
atomicLogic | 0:80ce68cdf568 | 29 | }; |
atomicLogic | 0:80ce68cdf568 | 30 | |
atomicLogic | 0:80ce68cdf568 | 31 | const char loraStatusIcon[][8] = { |
atomicLogic | 0:80ce68cdf568 | 32 | {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F} |
atomicLogic | 0:80ce68cdf568 | 33 | }; |
atomicLogic | 0:80ce68cdf568 | 34 | */ |
atomicLogic | 0:80ce68cdf568 | 35 | } |
atomicLogic | 0:80ce68cdf568 | 36 | |
atomicLogic | 0:80ce68cdf568 | 37 | void CostumCharacters::setBatteryIcon( int lvl ) |
atomicLogic | 0:80ce68cdf568 | 38 | { |
atomicLogic | 0:80ce68cdf568 | 39 | switch( lvl ) { |
atomicLogic | 0:80ce68cdf568 | 40 | case 0: |
atomicLogic | 0:80ce68cdf568 | 41 | char batteryIcon0[] = {0x0E, 0x1F, 0x11, 0x11, 0x11, 0x11, 0x11, 0x1F}; |
atomicLogic | 0:80ce68cdf568 | 42 | lcd->defineChar( 1, batteryIcon0 ); |
atomicLogic | 0:80ce68cdf568 | 43 | break; |
atomicLogic | 0:80ce68cdf568 | 44 | case 1: |
atomicLogic | 0:80ce68cdf568 | 45 | char batteryIcon1[8] = {0x0E, 0x1F, 0x11, 0x11, 0x11, 0x11, 0x1F, 0x1F}; |
atomicLogic | 0:80ce68cdf568 | 46 | lcd->defineChar( 1, batteryIcon1 ); |
atomicLogic | 0:80ce68cdf568 | 47 | break; |
atomicLogic | 0:80ce68cdf568 | 48 | case 2: |
atomicLogic | 0:80ce68cdf568 | 49 | char batteryIcon2[8] = {0x0E, 0x1F, 0x11, 0x11, 0x11, 0x1F, 0x1F, 0x1F}; |
atomicLogic | 0:80ce68cdf568 | 50 | lcd->defineChar( 1, batteryIcon2 ); |
atomicLogic | 0:80ce68cdf568 | 51 | break; |
atomicLogic | 0:80ce68cdf568 | 52 | case 3: |
atomicLogic | 0:80ce68cdf568 | 53 | char batteryIcon3[8] = {0x0E, 0x1F, 0x11, 0x11, 0x1F, 0x1F, 0x1F, 0x1F}; |
atomicLogic | 0:80ce68cdf568 | 54 | lcd->defineChar( 1, batteryIcon3 ); |
atomicLogic | 0:80ce68cdf568 | 55 | break; |
atomicLogic | 0:80ce68cdf568 | 56 | case 4: |
atomicLogic | 0:80ce68cdf568 | 57 | char batteryIcon4[8] = {0x0E, 0x1F, 0x11, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F}; |
atomicLogic | 0:80ce68cdf568 | 58 | lcd->defineChar( 1, batteryIcon4 ); |
atomicLogic | 0:80ce68cdf568 | 59 | break; |
atomicLogic | 0:80ce68cdf568 | 60 | case 5: |
atomicLogic | 0:80ce68cdf568 | 61 | char batteryIcon5[8] = {0x0E, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F}; |
atomicLogic | 0:80ce68cdf568 | 62 | lcd->defineChar( 1, batteryIcon5 ); |
atomicLogic | 0:80ce68cdf568 | 63 | break; |
atomicLogic | 0:80ce68cdf568 | 64 | } |
atomicLogic | 0:80ce68cdf568 | 65 | } |
atomicLogic | 0:80ce68cdf568 | 66 | |
atomicLogic | 0:80ce68cdf568 | 67 | void CostumCharacters::setGpsIcon( bool gpsFix ) |
atomicLogic | 0:80ce68cdf568 | 68 | { |
atomicLogic | 0:80ce68cdf568 | 69 | switch( gpsFix ) { |
atomicLogic | 0:80ce68cdf568 | 70 | case 0: |
atomicLogic | 0:80ce68cdf568 | 71 | char gpsIcon0[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; |
atomicLogic | 0:80ce68cdf568 | 72 | lcd->defineChar( 2, gpsIcon0 ); |
atomicLogic | 0:80ce68cdf568 | 73 | break; |
atomicLogic | 0:80ce68cdf568 | 74 | case 1: |
atomicLogic | 0:80ce68cdf568 | 75 | char gpsIcon1[8] = {0x00, 0x0E, 0x1B, 0x11, 0x1B, 0x0E, 0x0E, 0x04}; |
atomicLogic | 0:80ce68cdf568 | 76 | lcd->defineChar( 2, gpsIcon1 ); |
atomicLogic | 0:80ce68cdf568 | 77 | break; |
atomicLogic | 0:80ce68cdf568 | 78 | } |
atomicLogic | 0:80ce68cdf568 | 79 | } |
atomicLogic | 0:80ce68cdf568 | 80 | |
atomicLogic | 0:80ce68cdf568 | 81 | void CostumCharacters::setLoraIcon( bool lora ) |
atomicLogic | 0:80ce68cdf568 | 82 | { |
atomicLogic | 0:80ce68cdf568 | 83 | switch( lora ) { |
atomicLogic | 0:80ce68cdf568 | 84 | case 0: |
atomicLogic | 0:80ce68cdf568 | 85 | char loraIcon0[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; |
atomicLogic | 0:80ce68cdf568 | 86 | lcd->defineChar( 3, loraIcon0 ); |
atomicLogic | 0:80ce68cdf568 | 87 | break; |
atomicLogic | 0:80ce68cdf568 | 88 | case 1: |
atomicLogic | 0:80ce68cdf568 | 89 | char loraIcon1[8] = {0x00, 0x1F, 0x0E, 0x04, 0x04, 0x04, 0x04, 0x04}; |
atomicLogic | 0:80ce68cdf568 | 90 | lcd->defineChar( 3, loraIcon1 ); |
atomicLogic | 0:80ce68cdf568 | 91 | break; |
atomicLogic | 0:80ce68cdf568 | 92 | } |
atomicLogic | 0:80ce68cdf568 | 93 | |
atomicLogic | 0:80ce68cdf568 | 94 | } |
atomicLogic | 0:80ce68cdf568 | 95 | |
atomicLogic | 0:80ce68cdf568 | 96 | void CostumCharacters::setLoraStatusIcon( int loraStatus ) |
atomicLogic | 0:80ce68cdf568 | 97 | { |
atomicLogic | 0:80ce68cdf568 | 98 | switch( loraStatus ) { |
atomicLogic | 0:80ce68cdf568 | 99 | case 0: |
atomicLogic | 0:80ce68cdf568 | 100 | char loraStatus0[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; |
atomicLogic | 0:80ce68cdf568 | 101 | lcd->defineChar( 4, loraStatus0 ); |
atomicLogic | 0:80ce68cdf568 | 102 | break; |
atomicLogic | 0:80ce68cdf568 | 103 | case 1: |
atomicLogic | 0:80ce68cdf568 | 104 | char loraStatus1[8] = {0x04, 0x0E, 0x1F, 0x04, 0x04, 0x04, 0x04, 0x04}; |
atomicLogic | 0:80ce68cdf568 | 105 | lcd->defineChar( 4, loraStatus1 ); |
atomicLogic | 0:80ce68cdf568 | 106 | break; |
atomicLogic | 0:80ce68cdf568 | 107 | case 2: |
atomicLogic | 0:80ce68cdf568 | 108 | char loraStatus2[8] = {0x04, 0x04, 0x04, 0x04, 0x04, 0x1F, 0x0E, 0x04}; |
atomicLogic | 0:80ce68cdf568 | 109 | lcd->defineChar( 4, loraStatus2 ); |
atomicLogic | 0:80ce68cdf568 | 110 | break; |
atomicLogic | 0:80ce68cdf568 | 111 | } |
atomicLogic | 0:80ce68cdf568 | 112 | //lcd->defineChar( 4, loraStatusIcon[loraStatus] ); |
atomicLogic | 0:80ce68cdf568 | 113 | } |
atomicLogic | 0:80ce68cdf568 | 114 | |
atomicLogic | 0:80ce68cdf568 | 115 | |
atomicLogic | 0:80ce68cdf568 | 116 | }; |