Display driver for the Vives city game

Dependencies:   TextLCD

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?

UserRevisionLine numberNew 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 };