SLCD lib

Committer:
dogcatfee
Date:
Tue Oct 24 19:00:45 2017 -0700
Revision:
0:87fb32466657
Add files, kl43z compat with clear()

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dogcatfee 0:87fb32466657 1 #include "SLCD.h"
dogcatfee 0:87fb32466657 2 #include "LCDconfig.h"
dogcatfee 0:87fb32466657 3
dogcatfee 0:87fb32466657 4
dogcatfee 0:87fb32466657 5 const uint8_t WF_ORDERING_TABLE[ ] =
dogcatfee 0:87fb32466657 6 {
dogcatfee 0:87fb32466657 7 CHAR1a, // LCD81 --- Pin:5 LCDnAddress=51
dogcatfee 0:87fb32466657 8 CHAR1b, // LCD82 --- Pin:6 LCDnAddress=52
dogcatfee 0:87fb32466657 9 CHAR2a, // LCD83 --- Pin:7 LCDnAddress=53
dogcatfee 0:87fb32466657 10 CHAR2b, // LCD84 --- Pin:8 LCDnAddress=54
dogcatfee 0:87fb32466657 11 CHAR3a, // LCD85 --- Pin:9 LCDnAddress=55
dogcatfee 0:87fb32466657 12 CHAR3b, // LCD86 --- Pin:10 LCDnAddress=56
dogcatfee 0:87fb32466657 13 CHAR4a, // LCD87 --- Pin:11 LCDnAddress=57
dogcatfee 0:87fb32466657 14 CHAR4b, // LCD88 --- Pin:12 LCDnAddress=58
dogcatfee 0:87fb32466657 15 CHARCOM0, // LCD77 --- Pin:1 LCDnAddress=4D
dogcatfee 0:87fb32466657 16 CHARCOM1, // LCD78 --- Pin:2 LCDnAddress=4E
dogcatfee 0:87fb32466657 17 CHARCOM2, // LCD79 --- Pin:3 LCDnAddress=4F
dogcatfee 0:87fb32466657 18 CHARCOM3, // LCD80 --- Pin:4 LCDnAddress=50
dogcatfee 0:87fb32466657 19 };
dogcatfee 0:87fb32466657 20
dogcatfee 0:87fb32466657 21 const char ASCII_TO_WF_CODIFICATION_TABLE [ ] =
dogcatfee 0:87fb32466657 22 {
dogcatfee 0:87fb32466657 23
dogcatfee 0:87fb32466657 24 /*
dogcatfee 0:87fb32466657 25 segA
dogcatfee 0:87fb32466657 26 ________
dogcatfee 0:87fb32466657 27 | |
dogcatfee 0:87fb32466657 28 segF | | segB
dogcatfee 0:87fb32466657 29 | |
dogcatfee 0:87fb32466657 30 -segG--
dogcatfee 0:87fb32466657 31 | |
dogcatfee 0:87fb32466657 32 segE | | segC
dogcatfee 0:87fb32466657 33 |________|
dogcatfee 0:87fb32466657 34 segD
dogcatfee 0:87fb32466657 35 */
dogcatfee 0:87fb32466657 36
dogcatfee 0:87fb32466657 37 ( SEGD+ SEGE+ SEGF+!SEGG) , ( SEGC+ SEGB+ SEGA) ,//Char = 0, offset=0
dogcatfee 0:87fb32466657 38 (!SEGD+!SEGE+!SEGF+!SEGG) , ( SEGC+ SEGB+!SEGA) ,//Char = 1, offset=4
dogcatfee 0:87fb32466657 39 ( SEGD+ SEGE+!SEGF+ SEGG) , (!SEGC+ SEGB+ SEGA) ,//Char = 2, offset=8
dogcatfee 0:87fb32466657 40 ( SEGD+!SEGE+!SEGF+ SEGG) , ( SEGC+ SEGB+ SEGA) ,//Char = 3, offset=12
dogcatfee 0:87fb32466657 41 (!SEGD+!SEGE+ SEGF+ SEGG) , ( SEGC+ SEGB+!SEGA) ,//Char = 4, offset=16
dogcatfee 0:87fb32466657 42 ( SEGD+!SEGE+ SEGF+ SEGG) , ( SEGC+!SEGB+ SEGA) ,//Char = 5, offset=20
dogcatfee 0:87fb32466657 43 ( SEGD+ SEGE+ SEGF+ SEGG) , ( SEGC+!SEGB+ SEGA) ,//Char = 6, offset=24
dogcatfee 0:87fb32466657 44 (!SEGD+!SEGE+!SEGF+!SEGG) , ( SEGC+ SEGB+ SEGA) ,//Char = 7, offset=28
dogcatfee 0:87fb32466657 45 ( SEGD+ SEGE+ SEGF+ SEGG) , ( SEGC+ SEGB+ SEGA) ,//Char = 8, offset=32
dogcatfee 0:87fb32466657 46 ( SEGD+!SEGE+ SEGF+ SEGG) , ( SEGC+ SEGB+ SEGA) ,//Char = 9, offset=36
dogcatfee 0:87fb32466657 47 (!SEGD+!SEGE+!SEGF+!SEGG) , (!SEGC+!SEGB+!SEGA) ,//Char = :, offset=40
dogcatfee 0:87fb32466657 48 (!SEGD+!SEGE+!SEGF+!SEGG) , (!SEGC+!SEGB+!SEGA) ,//Char = ;, offset=44
dogcatfee 0:87fb32466657 49 (!SEGD+!SEGE+!SEGF+!SEGG) , (!SEGC+!SEGB+!SEGA) ,//Char = <, offset=48
dogcatfee 0:87fb32466657 50 ( SEGD+!SEGE+!SEGF+ SEGG) , (!SEGC+!SEGB+!SEGA) ,//Char = =, offset=52
dogcatfee 0:87fb32466657 51 (!SEGD+!SEGE+!SEGF+!SEGG) , (!SEGC+!SEGB+!SEGA) ,//Char = >, offset=56
dogcatfee 0:87fb32466657 52 (!SEGD+!SEGE+!SEGF+!SEGG) , (!SEGC+!SEGB+ SEGA) ,//Char = ?, offset=60
dogcatfee 0:87fb32466657 53 ( SEGD+ SEGE+ SEGF+ SEGG) , ( SEGC+ SEGB+ SEGA) ,//Char = @, offset=64
dogcatfee 0:87fb32466657 54 (!SEGD+ SEGE+ SEGF+ SEGG) , ( SEGC+ SEGB+ SEGA) ,//Char = A, offset=68
dogcatfee 0:87fb32466657 55 ( SEGD+ SEGE+ SEGF+ SEGG) , ( SEGC+!SEGB+!SEGA) ,//Char = B, offset=72
dogcatfee 0:87fb32466657 56 ( SEGD+ SEGE+ SEGF+!SEGG) , (!SEGC+!SEGB+ SEGA) ,//Char = C, offset=76
dogcatfee 0:87fb32466657 57 ( SEGD+ SEGE+!SEGF+ SEGG) , ( SEGC+ SEGB+!SEGA) ,//Char = D, offset=80
dogcatfee 0:87fb32466657 58 ( SEGD+ SEGE+ SEGF+ SEGG) , (!SEGC+!SEGB+ SEGA) ,//Char = E, offset=84
dogcatfee 0:87fb32466657 59 (!SEGD+ SEGE+ SEGF+ SEGG) , (!SEGC+!SEGB+ SEGA) ,//Char = F, offset=88
dogcatfee 0:87fb32466657 60 ( SEGD+ SEGE+ SEGF+ SEGG) , ( SEGC+!SEGB+ SEGA) ,//Char = G, offset=92
dogcatfee 0:87fb32466657 61 (!SEGD+ SEGE+ SEGF+ SEGG) , ( SEGC+ SEGB+!SEGA) ,//Char = H, offset=96
dogcatfee 0:87fb32466657 62 (!SEGD+!SEGE+!SEGF+!SEGG) , ( SEGC+!SEGB+!SEGA) ,//Char = I, offset=100
dogcatfee 0:87fb32466657 63 ( SEGD+ SEGE+!SEGF+!SEGG) , ( SEGC+ SEGB+!SEGA) ,//Char = J, offset=104
dogcatfee 0:87fb32466657 64 (!SEGD+ SEGE+ SEGF+ SEGG) , ( SEGC+!SEGB+ SEGA) ,//Char = K, offset=108
dogcatfee 0:87fb32466657 65 ( SEGD+ SEGE+ SEGF+!SEGG) , (!SEGC+!SEGB+!SEGA) ,//Char = L, offset=112
dogcatfee 0:87fb32466657 66 (!SEGD+ SEGE+ SEGF+!SEGG) , ( SEGC+ SEGB+ SEGA) ,//Char = M, offset=116
dogcatfee 0:87fb32466657 67 (!SEGD+ SEGE+!SEGF+ SEGG) , ( SEGC+!SEGB+!SEGA) ,//Char = N, offset=120
dogcatfee 0:87fb32466657 68 ( SEGD+ SEGE+!SEGF+ SEGG) , ( SEGC+!SEGB+!SEGA) ,//Char = O, offset=124
dogcatfee 0:87fb32466657 69 (!SEGD+ SEGE+ SEGF+ SEGG) , (!SEGC+ SEGB+ SEGA) ,//Char = P, offset=128
dogcatfee 0:87fb32466657 70 ( SEGD+!SEGE+ SEGF+ SEGG) , ( SEGC+ SEGB+ SEGA) ,//Char = Q, offset=132
dogcatfee 0:87fb32466657 71 (!SEGD+ SEGE+!SEGF+ SEGG) , (!SEGC+!SEGB+!SEGA) ,//Char = R, offset=136
dogcatfee 0:87fb32466657 72 ( SEGD+!SEGE+ SEGF+ SEGG) , ( SEGC+!SEGB+ SEGA) ,//Char = S, offset=140
dogcatfee 0:87fb32466657 73 ( SEGD+ SEGE+ SEGF+ SEGG) , (!SEGC+!SEGB+!SEGA) ,//Char = T, offset=144
dogcatfee 0:87fb32466657 74 ( SEGD+ SEGE+ SEGF+!SEGG) , ( SEGC+ SEGB+!SEGA) ,//Char = U, offset=148
dogcatfee 0:87fb32466657 75 ( SEGD+ SEGE+!SEGF+!SEGG) , ( SEGC+!SEGB+!SEGA) ,//Char = V, offset=152
dogcatfee 0:87fb32466657 76 ( SEGD+ SEGE+ SEGF+!SEGG) , ( SEGC+ SEGB+!SEGA) ,//Char = W, offset=156
dogcatfee 0:87fb32466657 77 (!SEGD+ SEGE+ SEGF+ SEGG) , ( SEGC+ SEGB+!SEGA) ,//Char = X, offset=160
dogcatfee 0:87fb32466657 78 ( SEGD+!SEGE+ SEGF+ SEGG) , ( SEGC+ SEGB+!SEGA) ,//Char = Y, offset=164
dogcatfee 0:87fb32466657 79 ( SEGD+!SEGE+!SEGF+ SEGG) , (!SEGC+!SEGB+!SEGA) ,//Char = Z, offset=168
dogcatfee 0:87fb32466657 80 ( SEGD+!SEGE+!SEGF+!SEGG) , (!SEGC+!SEGB+ SEGA) ,//Char = [, offset=172
dogcatfee 0:87fb32466657 81 ( SEGD+!SEGE+!SEGF+!SEGG) , (!SEGC+!SEGB+ SEGA) ,//Char = \, offset=176
dogcatfee 0:87fb32466657 82 ( SEGD+!SEGE+!SEGF+!SEGG) , (!SEGC+!SEGB+ SEGA) ,//Char = ], offset=180
dogcatfee 0:87fb32466657 83 ( SEGD+!SEGE+!SEGF+!SEGG) , (!SEGC+!SEGB+ SEGA) ,//Char = ^, offset=184
dogcatfee 0:87fb32466657 84 ( SEGD+!SEGE+!SEGF+!SEGG) , (!SEGC+!SEGB+ SEGA) ,//Char = _, offset=188
dogcatfee 0:87fb32466657 85 ( SEGD+!SEGE+!SEGF+!SEGG) , (!SEGC+!SEGB+ SEGA) ,//Char = `, offset=192
dogcatfee 0:87fb32466657 86 };
dogcatfee 0:87fb32466657 87
dogcatfee 0:87fb32466657 88 SLCD::SLCD() {
dogcatfee 0:87fb32466657 89 init();
dogcatfee 0:87fb32466657 90 CharPosition = 0;
dogcatfee 0:87fb32466657 91 }
dogcatfee 0:87fb32466657 92
dogcatfee 0:87fb32466657 93 void SLCD::init(){
dogcatfee 0:87fb32466657 94 SIM->SCGC5 |= SIM_SCGC5_SLCD_MASK | SIM_SCGC5_PORTB_MASK | SIM_SCGC5_PORTC_MASK | SIM_SCGC5_PORTD_MASK | SIM_SCGC5_PORTE_MASK;
dogcatfee 0:87fb32466657 95
dogcatfee 0:87fb32466657 96 // configure pins for LCD operation
dogcatfee 0:87fb32466657 97 PORTC->PCR[20] = 0x00000000; //VLL2
dogcatfee 0:87fb32466657 98 PORTC->PCR[21] = 0x00000000; //VLL1
dogcatfee 0:87fb32466657 99 PORTC->PCR[22] = 0x00000000; //VCAP2
dogcatfee 0:87fb32466657 100 PORTC->PCR[23] = 0x00000000; //VCAP1
dogcatfee 0:87fb32466657 101 // Enable IRCLK
dogcatfee 0:87fb32466657 102 MCG->C1 = MCG_C1_IRCLKEN_MASK | MCG_C1_IREFSTEN_MASK;
dogcatfee 0:87fb32466657 103 MCG->C2 &= ~MCG_C2_IRCS_MASK ; //0 32KHZ internal reference clock; 1= 4MHz irc
dogcatfee 0:87fb32466657 104 LCD->GCR = 0x0;
dogcatfee 0:87fb32466657 105 LCD->AR = 0x0;
dogcatfee 0:87fb32466657 106 // LCD configurartion
dogcatfee 0:87fb32466657 107 LCD->GCR = ( LCD_GCR_RVEN_MASK*_LCDRVEN
dogcatfee 0:87fb32466657 108 | LCD_GCR_RVTRIM(_LCDRVTRIM) //0-15
dogcatfee 0:87fb32466657 109 | LCD_GCR_CPSEL_MASK*_LCDCPSEL
dogcatfee 0:87fb32466657 110 | LCD_GCR_LADJ(_LCDLOADADJUST) //0-3
dogcatfee 0:87fb32466657 111 | LCD_GCR_VSUPPLY_MASK*_LCDSUPPLY //0-1
dogcatfee 0:87fb32466657 112 |!LCD_GCR_FDCIEN_MASK
dogcatfee 0:87fb32466657 113 | LCD_GCR_ALTDIV(_LCDALTDIV) //0-3
dogcatfee 0:87fb32466657 114 |!LCD_GCR_LCDDOZE_MASK
dogcatfee 0:87fb32466657 115 |!LCD_GCR_LCDSTP_MASK
dogcatfee 0:87fb32466657 116 |!LCD_GCR_LCDEN_MASK //WILL BE ENABLE ON SUBSEQUENT STEP
dogcatfee 0:87fb32466657 117 | LCD_GCR_SOURCE_MASK*_LCDCLKSOURCE
dogcatfee 0:87fb32466657 118 | LCD_GCR_ALTSOURCE_MASK*_LCDALRCLKSOURCE
dogcatfee 0:87fb32466657 119 | LCD_GCR_LCLK(_LCDLCK) //0-7
dogcatfee 0:87fb32466657 120 | LCD_GCR_DUTY(_LCDDUTY) //0-7
dogcatfee 0:87fb32466657 121 );
dogcatfee 0:87fb32466657 122 uint8_t i;
dogcatfee 0:87fb32466657 123 uint32_t *p_pen;
dogcatfee 0:87fb32466657 124 uint8_t pen_offset; // 0 or 1
dogcatfee 0:87fb32466657 125 uint8_t pen_bit; // 0 to 31
dogcatfee 0:87fb32466657 126 LCD->PEN[0] = 0x0;
dogcatfee 0:87fb32466657 127 LCD->PEN[1] = 0x0;
dogcatfee 0:87fb32466657 128 LCD->BPEN[0] = 0x0;
dogcatfee 0:87fb32466657 129 LCD->BPEN[1] = 0x0;
dogcatfee 0:87fb32466657 130 p_pen = (uint32_t *)&LCD->PEN[0];
dogcatfee 0:87fb32466657 131 for (i=0;i<_LCDUSEDPINS;i++)
dogcatfee 0:87fb32466657 132 {
dogcatfee 0:87fb32466657 133 pen_offset = WF_ORDERING_TABLE[i]/32;
dogcatfee 0:87fb32466657 134 pen_bit = WF_ORDERING_TABLE[i]%32;
dogcatfee 0:87fb32466657 135 p_pen[pen_offset] |= 1 << pen_bit;
dogcatfee 0:87fb32466657 136 if (i>= _LCDFRONTPLANES) // Pin is a backplane
dogcatfee 0:87fb32466657 137 {
dogcatfee 0:87fb32466657 138 p_pen[pen_offset+2] |= 1 << pen_bit; // Enable BPEN
dogcatfee 0:87fb32466657 139 LCD->WF8B[(uint8_t)WF_ORDERING_TABLE[i]] = 1 << (i - _LCDFRONTPLANES); // fill with 0x01, 0x02, etc
dogcatfee 0:87fb32466657 140 }
dogcatfee 0:87fb32466657 141 }
dogcatfee 0:87fb32466657 142 LCD->GCR |= LCD_GCR_LCDEN_MASK;
dogcatfee 0:87fb32466657 143 }
dogcatfee 0:87fb32466657 144
dogcatfee 0:87fb32466657 145 int SLCD::_putc(int c) {
dogcatfee 0:87fb32466657 146 Write_Char(c);
dogcatfee 0:87fb32466657 147 return 0;
dogcatfee 0:87fb32466657 148 }
dogcatfee 0:87fb32466657 149
dogcatfee 0:87fb32466657 150 void SLCD::Write_Char (char lbValue) {
dogcatfee 0:87fb32466657 151 uint8_t char_val;
dogcatfee 0:87fb32466657 152 uint8_t temp;
dogcatfee 0:87fb32466657 153 uint8_t *lbpLCDWF;
dogcatfee 0:87fb32466657 154 uint8_t lbCounter;
dogcatfee 0:87fb32466657 155 uint16_t arrayOffset;
dogcatfee 0:87fb32466657 156 uint8_t position;
dogcatfee 0:87fb32466657 157
dogcatfee 0:87fb32466657 158 if (CharPosition >= _CHARNUM)
dogcatfee 0:87fb32466657 159 CharPosition = 0;
dogcatfee 0:87fb32466657 160 lbpLCDWF = (uint8_t *)&LCD->WF8B[0];
dogcatfee 0:87fb32466657 161 /* only ascii character if value not writeable write as @ */
dogcatfee 0:87fb32466657 162 if (lbValue>='a' && lbValue<='z') {
dogcatfee 0:87fb32466657 163 lbValue -= 32; // UpperCase
dogcatfee 0:87fb32466657 164 }
dogcatfee 0:87fb32466657 165 if (lbValue<ASCCI_TABLE_START || lbValue >ASCCI_TABLE_END) {
dogcatfee 0:87fb32466657 166 lbValue = BLANK_CHARACTER; // default value as space
dogcatfee 0:87fb32466657 167 }
dogcatfee 0:87fb32466657 168 lbValue -=ASCCI_TABLE_START; // Remove the offset to search in the ascci table
dogcatfee 0:87fb32466657 169 arrayOffset = (lbValue * _CHAR_SIZE); // Compensate matrix offset
dogcatfee 0:87fb32466657 170 // ensure bLCD position is in valid limit
dogcatfee 0:87fb32466657 171 lbCounter = 0; //number of writings to complete one char
dogcatfee 0:87fb32466657 172 while (lbCounter<_CHAR_SIZE) {
dogcatfee 0:87fb32466657 173 position = (CharPosition) *_LCDTYPE + lbCounter;
dogcatfee 0:87fb32466657 174 temp=0;
dogcatfee 0:87fb32466657 175 if (lbCounter==1) {
dogcatfee 0:87fb32466657 176 temp = lbpLCDWF[WF_ORDERING_TABLE[position]] & 0x01;//bit 0 has the special symbol information
dogcatfee 0:87fb32466657 177 }
dogcatfee 0:87fb32466657 178 char_val = ASCII_TO_WF_CODIFICATION_TABLE[arrayOffset + lbCounter];
dogcatfee 0:87fb32466657 179 lbpLCDWF[WF_ORDERING_TABLE[position]] = char_val | temp;
dogcatfee 0:87fb32466657 180 // if (char_val==0) lbCounter = _CHAR_SIZE; //end of this character
dogcatfee 0:87fb32466657 181 lbCounter++;
dogcatfee 0:87fb32466657 182 }
dogcatfee 0:87fb32466657 183 CharPosition++;
dogcatfee 0:87fb32466657 184 }
dogcatfee 0:87fb32466657 185
dogcatfee 0:87fb32466657 186 void SLCD::Home (void)
dogcatfee 0:87fb32466657 187 {
dogcatfee 0:87fb32466657 188 CharPosition = 0;
dogcatfee 0:87fb32466657 189 }
dogcatfee 0:87fb32466657 190
dogcatfee 0:87fb32466657 191 void SLCD::Contrast (uint8_t lbContrast)
dogcatfee 0:87fb32466657 192 {
dogcatfee 0:87fb32466657 193 lbContrast &= 0x0F; //Forced to the only values accepted
dogcatfee 0:87fb32466657 194 LCD->GCR |= LCD_GCR_RVTRIM(lbContrast);
dogcatfee 0:87fb32466657 195 }
dogcatfee 0:87fb32466657 196
dogcatfee 0:87fb32466657 197 void SLCD::clear()
dogcatfee 0:87fb32466657 198 {
dogcatfee 0:87fb32466657 199 All_Segments(0);
dogcatfee 0:87fb32466657 200 }
dogcatfee 0:87fb32466657 201
dogcatfee 0:87fb32466657 202 void SLCD::All_Segments (int mode)
dogcatfee 0:87fb32466657 203 {
dogcatfee 0:87fb32466657 204 uint8_t lbTotalBytes = _CHARNUM * _LCDTYPE;
dogcatfee 0:87fb32466657 205 uint8_t lbCounter=0;
dogcatfee 0:87fb32466657 206 uint8_t *lbpLCDWF;
dogcatfee 0:87fb32466657 207
dogcatfee 0:87fb32466657 208 lbpLCDWF = (uint8_t *)&LCD->WF8B[0];
dogcatfee 0:87fb32466657 209 while (lbCounter < lbTotalBytes)
dogcatfee 0:87fb32466657 210 {
dogcatfee 0:87fb32466657 211 if (mode==1){lbpLCDWF[(uint8_t)WF_ORDERING_TABLE[lbCounter++]]=_ALLON;}
dogcatfee 0:87fb32466657 212 else {lbpLCDWF[WF_ORDERING_TABLE[lbCounter++]]=0;}
dogcatfee 0:87fb32466657 213 }
dogcatfee 0:87fb32466657 214 }
dogcatfee 0:87fb32466657 215
dogcatfee 0:87fb32466657 216 void SLCD::DP1 (int mode)
dogcatfee 0:87fb32466657 217 {
dogcatfee 0:87fb32466657 218 uint8_t *lbpLCDWF;
dogcatfee 0:87fb32466657 219 lbpLCDWF = (uint8_t *)&LCD->WF8B[0];
dogcatfee 0:87fb32466657 220 if (mode==1){lbpLCDWF[(uint8_t)WF_ORDERING_TABLE[1]]|=1;}
dogcatfee 0:87fb32466657 221 else {lbpLCDWF[(uint8_t)WF_ORDERING_TABLE[1]]&=~1;}
dogcatfee 0:87fb32466657 222 }
dogcatfee 0:87fb32466657 223
dogcatfee 0:87fb32466657 224 void SLCD::DP2 (int mode)
dogcatfee 0:87fb32466657 225 {
dogcatfee 0:87fb32466657 226 uint8_t *lbpLCDWF;
dogcatfee 0:87fb32466657 227 lbpLCDWF = (uint8_t *)&LCD->WF8B[0];
dogcatfee 0:87fb32466657 228 if (mode==1){lbpLCDWF[(uint8_t)WF_ORDERING_TABLE[3]]|=1;}
dogcatfee 0:87fb32466657 229 else {lbpLCDWF[(uint8_t)WF_ORDERING_TABLE[3]]&=~1;}
dogcatfee 0:87fb32466657 230 }
dogcatfee 0:87fb32466657 231
dogcatfee 0:87fb32466657 232 void SLCD::DP3 (int mode)
dogcatfee 0:87fb32466657 233 {
dogcatfee 0:87fb32466657 234 uint8_t *lbpLCDWF;
dogcatfee 0:87fb32466657 235 lbpLCDWF = (uint8_t *)&LCD->WF8B[0];
dogcatfee 0:87fb32466657 236 if (mode==1){lbpLCDWF[(uint8_t)WF_ORDERING_TABLE[5]]|=1;}
dogcatfee 0:87fb32466657 237 else {lbpLCDWF[(uint8_t)WF_ORDERING_TABLE[5]]&=~1;}
dogcatfee 0:87fb32466657 238 }
dogcatfee 0:87fb32466657 239
dogcatfee 0:87fb32466657 240 void SLCD::Colon (int mode)
dogcatfee 0:87fb32466657 241 {
dogcatfee 0:87fb32466657 242 uint8_t *lbpLCDWF;
dogcatfee 0:87fb32466657 243 lbpLCDWF = (uint8_t *)&LCD->WF8B[0];
dogcatfee 0:87fb32466657 244 if (mode==1){lbpLCDWF[(uint8_t)WF_ORDERING_TABLE[7]]|=1;}
dogcatfee 0:87fb32466657 245 else {lbpLCDWF[(uint8_t)WF_ORDERING_TABLE[7]]&=~1;}
dogcatfee 0:87fb32466657 246 }
dogcatfee 0:87fb32466657 247
dogcatfee 0:87fb32466657 248