Test for PT6301 VFD. First release.

Dependencies:   mbed PT6302

Committer:
wim
Date:
Sun Jun 13 13:15:06 2021 +0000
Revision:
1:73833adc27b1
Parent:
0:a99bfc8384e4
Example for PT6301 VFD lib. First release.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wim 1:73833adc27b1 1 /* mbed PT6301 Test program, for Princeton PT6301 VFD controller
wim 1:73833adc27b1 2 * The controller is used by Futaba 'Chip In Glass' (CIG) VFD tubes.
wim 0:a99bfc8384e4 3 *
wim 1:73833adc27b1 4 * Copyright (c) 2021, v01: WH, Initial version
wim 0:a99bfc8384e4 5 *
wim 0:a99bfc8384e4 6 * Permission is hereby granted, free of charge, to any person obtaining a copy
wim 0:a99bfc8384e4 7 * of this software and associated documentation files (the "Software"), to deal
wim 0:a99bfc8384e4 8 * in the Software without restriction, including without limitation the rights
wim 0:a99bfc8384e4 9 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
wim 0:a99bfc8384e4 10 * copies of the Software, and to permit persons to whom the Software is
wim 0:a99bfc8384e4 11 * furnished to do so, subject to the following conditions:
wim 0:a99bfc8384e4 12 *
wim 0:a99bfc8384e4 13 * The above copyright notice and this permission notice shall be included in
wim 0:a99bfc8384e4 14 * all copies or substantial portions of the Software.
wim 0:a99bfc8384e4 15 *
wim 0:a99bfc8384e4 16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
wim 0:a99bfc8384e4 17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
wim 0:a99bfc8384e4 18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
wim 0:a99bfc8384e4 19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
wim 0:a99bfc8384e4 20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
wim 0:a99bfc8384e4 21 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
wim 0:a99bfc8384e4 22 * THE SOFTWARE.
wim 0:a99bfc8384e4 23 */
wim 0:a99bfc8384e4 24 #include "mbed.h"
wim 1:73833adc27b1 25 #include "PT6301.h"
wim 0:a99bfc8384e4 26
wim 1:73833adc27b1 27 // Select one of the testboards for Princeton PT6301 VFD controller
wim 1:73833adc27b1 28 #include "PT6301_Config.h"
wim 0:a99bfc8384e4 29
wim 1:73833adc27b1 30
wim 1:73833adc27b1 31 #if (SMTG7400_TEST == 1)
wim 0:a99bfc8384e4 32
wim 0:a99bfc8384e4 33 DigitalOut myled(LED1);
wim 0:a99bfc8384e4 34 Serial pc(USBTX, USBRX);
wim 0:a99bfc8384e4 35
wim 1:73833adc27b1 36 // PT6301_SMTG7400 declaration, Default setting 16 Grids @ 5x7 Segments, with 4 additional Icons and 1 Row
wim 1:73833adc27b1 37 PT6301_SMTG7400 PT6301(p5, p7, p8, p9); // DI, CLK, CS, RST
wim 1:73833adc27b1 38
wim 1:73833adc27b1 39 int main() {
wim 1:73833adc27b1 40 pc.printf("Hello World: PT6301_SMTG7400 test\n\r");
wim 1:73833adc27b1 41
wim 1:73833adc27b1 42 // PT6301.printf("Hello World");
wim 1:73833adc27b1 43 PT6301.printf("Hello World %1.2f", 1.23);
wim 1:73833adc27b1 44 PT6301.refresh();
wim 1:73833adc27b1 45
wim 1:73833adc27b1 46 PT6301.setBrightness(PT6301_BRT_6);
wim 1:73833adc27b1 47 wait(1);
wim 1:73833adc27b1 48 PT6301.setBrightness(PT6301_BRT_DEF);
wim 1:73833adc27b1 49 wait(1);
wim 1:73833adc27b1 50
wim 1:73833adc27b1 51 PT6301.setIcon(SMTG7400_ICON_OFFLINE);
wim 1:73833adc27b1 52 PT6301.setIcon(SMTG7400_ICON_WIFI);
wim 1:73833adc27b1 53 PT6301.setIcon(SMTG7400_ICON_PHONE);
wim 1:73833adc27b1 54 PT6301.setIcon(SMTG7400_ICON_REC);
wim 1:73833adc27b1 55 PT6301.refresh();
wim 1:73833adc27b1 56 wait(1);
wim 1:73833adc27b1 57
wim 1:73833adc27b1 58 PT6301.cls();
wim 1:73833adc27b1 59 // PT6301.locate(0, 0);
wim 1:73833adc27b1 60 PT6301.setUDC(0, (char*) udc_LAR);
wim 1:73833adc27b1 61 PT6301.setUDC(1, (char*) udc_RAR);
wim 1:73833adc27b1 62 PT6301.putc(char(0));
wim 1:73833adc27b1 63 PT6301.putc(char(1));
wim 1:73833adc27b1 64 PT6301.refresh();
wim 1:73833adc27b1 65 wait(1);
wim 1:73833adc27b1 66
wim 1:73833adc27b1 67 while(1) {
wim 1:73833adc27b1 68 myled = !myled;
wim 1:73833adc27b1 69 PT6301.clrIcon(SMTG7400_ICON_OFFLINE);
wim 1:73833adc27b1 70 PT6301.refresh();
wim 1:73833adc27b1 71 wait(1);
wim 1:73833adc27b1 72
wim 1:73833adc27b1 73 myled = !myled;
wim 1:73833adc27b1 74 PT6301.setIcon(SMTG7400_ICON_OFFLINE);
wim 1:73833adc27b1 75 PT6301.refresh();
wim 1:73833adc27b1 76 wait(1);
wim 1:73833adc27b1 77 }
wim 1:73833adc27b1 78 }
wim 1:73833adc27b1 79 #endif
wim 1:73833adc27b1 80
wim 1:73833adc27b1 81
wim 1:73833adc27b1 82
wim 1:73833adc27b1 83
wim 1:73833adc27b1 84
wim 1:73833adc27b1 85 #if (SMTC7140_TEST == 1)
wim 1:73833adc27b1 86
wim 1:73833adc27b1 87 // PT6301 Test
wim 1:73833adc27b1 88 #include "mbed.h"
wim 1:73833adc27b1 89 #include "PT6301.h"
wim 1:73833adc27b1 90
wim 1:73833adc27b1 91 DigitalOut myled(LED1);
wim 1:73833adc27b1 92 Serial pc(USBTX, USBRX);
wim 1:73833adc27b1 93
wim 1:73833adc27b1 94 // PT6301_SMTC7140 declaration, Default setting 12 Grids @ 5x7 Segments, without additional Icons, 2 Rows. Separate Grid13 for Icons
wim 1:73833adc27b1 95 PT6301_SMTC7140 PT6301(p5, p7, p8, p9);
wim 0:a99bfc8384e4 96
wim 0:a99bfc8384e4 97 void show_menu() {
wim 0:a99bfc8384e4 98 // pc.printf("0: Exit\n\r");
wim 0:a99bfc8384e4 99 pc.printf("1: All\n\r");
wim 0:a99bfc8384e4 100 pc.printf("2: Show UDC chars\n\r");
wim 0:a99bfc8384e4 101 pc.printf("3: Show all chars\n\r");
wim 0:a99bfc8384e4 102 pc.printf("4: Show all digits\n\r");
wim 1:73833adc27b1 103 pc.printf("5: Show all icons\n\r");
wim 0:a99bfc8384e4 104 pc.printf("6: Counter\n\r");
wim 0:a99bfc8384e4 105 pc.printf("7: Floats\n\r");
wim 0:a99bfc8384e4 106 pc.printf("8: Kitt\n\r");
wim 1:73833adc27b1 107 pc.printf("9: Cls\n\r");
wim 1:73833adc27b1 108 pc.printf("A: Display All Off / Normal\n\r");
wim 1:73833adc27b1 109 pc.printf("B: Display All On / Normal\n\r");
wim 0:a99bfc8384e4 110 pc.printf("C: Bye\n\r");
wim 0:a99bfc8384e4 111 }
wim 0:a99bfc8384e4 112
wim 0:a99bfc8384e4 113
wim 0:a99bfc8384e4 114 int main() {
wim 1:73833adc27b1 115 pc.printf("Hello World: PT6301 SMTC7140 test\n\r");
wim 0:a99bfc8384e4 116
wim 1:73833adc27b1 117 PT6301.locate(0, 0);
wim 1:73833adc27b1 118 PT6301.printf("Hello mbed");
wim 1:73833adc27b1 119 PT6301.refresh();
wim 0:a99bfc8384e4 120 wait(1);
wim 1:73833adc27b1 121
wim 1:73833adc27b1 122 PT6301.setBrightness(PT6301_BRT_7);
wim 0:a99bfc8384e4 123 wait(1);
wim 1:73833adc27b1 124 // PT6301.setBrightness(PT6301_BRT_0);
wim 1:73833adc27b1 125 // wait(1);
wim 1:73833adc27b1 126 PT6301.setBrightness(PT6301_BRT_DEF);
wim 0:a99bfc8384e4 127
wim 0:a99bfc8384e4 128 char cmd, cmd2 = '0';
wim 0:a99bfc8384e4 129 while (1) {
wim 0:a99bfc8384e4 130
wim 0:a99bfc8384e4 131 show_menu();
wim 0:a99bfc8384e4 132 cmd2 = pc.getc();
wim 0:a99bfc8384e4 133
wim 0:a99bfc8384e4 134 switch (cmd2) {
wim 0:a99bfc8384e4 135 case '1' : {
wim 0:a99bfc8384e4 136 pc.printf("all\r\n");
wim 1:73833adc27b1 137 PT6301.cls();
wim 1:73833adc27b1 138 PT6301.printf("Hello mbed");
wim 1:73833adc27b1 139 PT6301.refresh();
wim 0:a99bfc8384e4 140 break;
wim 0:a99bfc8384e4 141 }
wim 0:a99bfc8384e4 142
wim 0:a99bfc8384e4 143
wim 0:a99bfc8384e4 144 case '2' : {
wim 0:a99bfc8384e4 145 pc.printf("UDC\r\n");
wim 1:73833adc27b1 146 PT6301.cls();
wim 1:73833adc27b1 147 PT6301.refresh();
wim 1:73833adc27b1 148
wim 1:73833adc27b1 149 // Store UDC_idx=0, reserved for Icons on SMTC7140
wim 0:a99bfc8384e4 150
wim 1:73833adc27b1 151 // Store UDC_idx=1, 2
wim 1:73833adc27b1 152 PT6301.setUDC(1, (char *) udc_LAR); // Left Arrow
wim 1:73833adc27b1 153 PT6301.setUDC(2, (char *) udc_RAR); // Right Arrow
wim 1:73833adc27b1 154
wim 1:73833adc27b1 155 // Show UDC_idx=1, 2
wim 1:73833adc27b1 156 PT6301.locate(0,0);
wim 1:73833adc27b1 157 PT6301.putc((char) 1);
wim 1:73833adc27b1 158 PT6301.putc((char) 2);
wim 1:73833adc27b1 159 PT6301.refresh();
wim 1:73833adc27b1 160 pc.printf("\r\nShow all UDC done\r\n");
wim 0:a99bfc8384e4 161 break;
wim 0:a99bfc8384e4 162 }
wim 0:a99bfc8384e4 163
wim 0:a99bfc8384e4 164 case '3' : {
wim 0:a99bfc8384e4 165 #if(1)
wim 0:a99bfc8384e4 166 //test to show all chars
wim 0:a99bfc8384e4 167 pc.printf("Show all alpha chars\r\n");
wim 0:a99bfc8384e4 168 wait(1);
wim 1:73833adc27b1 169 PT6301.cls();
wim 0:a99bfc8384e4 170
wim 0:a99bfc8384e4 171 for (int i=0; i<26; i++) {
wim 1:73833adc27b1 172 PT6301.printf("%c", char(i + 'A'));
wim 1:73833adc27b1 173 PT6301.printf("%c", char(i + 'a'));
wim 1:73833adc27b1 174 PT6301.refresh();
wim 0:a99bfc8384e4 175 wait(0.25);
wim 0:a99bfc8384e4 176 }
wim 0:a99bfc8384e4 177 pc.printf("Show all alpha chars done\r\n");
wim 0:a99bfc8384e4 178 #endif
wim 0:a99bfc8384e4 179 break;
wim 0:a99bfc8384e4 180 }
wim 0:a99bfc8384e4 181
wim 0:a99bfc8384e4 182 case '4': {
wim 0:a99bfc8384e4 183 #if(0)
wim 0:a99bfc8384e4 184 //test to show all digits (base is 10)
wim 0:a99bfc8384e4 185 pc.printf("Show all digits\r\n");
wim 0:a99bfc8384e4 186 wait(1);
wim 1:73833adc27b1 187 PT6301.cls();
wim 0:a99bfc8384e4 188
wim 1:73833adc27b1 189 for (int i=0; i<SMTC7140_NR_COLS; i++) {
wim 0:a99bfc8384e4 190
wim 0:a99bfc8384e4 191 for (int cnt=0; cnt<10; cnt++) {
wim 1:73833adc27b1 192 PT6301.locate(0, i);
wim 1:73833adc27b1 193 PT6301.printf("%0d", cnt);
wim 1:73833adc27b1 194 PT6301.refresh();
wim 0:a99bfc8384e4 195
wim 0:a99bfc8384e4 196 // wait(0.5);
wim 0:a99bfc8384e4 197 cmd = pc.getc(); // wait for key
wim 0:a99bfc8384e4 198 }
wim 0:a99bfc8384e4 199 }
wim 0:a99bfc8384e4 200 pc.printf("\r\nShow all digits done\r\n");
wim 0:a99bfc8384e4 201 #endif
wim 0:a99bfc8384e4 202
wim 0:a99bfc8384e4 203 #if(1)
wim 0:a99bfc8384e4 204 //test to show all digits (base is 0x10)
wim 0:a99bfc8384e4 205 pc.printf("Show all hex digits\r\n");
wim 0:a99bfc8384e4 206 wait(1);
wim 1:73833adc27b1 207 PT6301.cls();
wim 0:a99bfc8384e4 208
wim 1:73833adc27b1 209 PT6301.printf("%010X", 0x0123ABCDEF);
wim 1:73833adc27b1 210 PT6301.refresh();
wim 0:a99bfc8384e4 211 cmd = pc.getc(); // wait for key
wim 1:73833adc27b1 212 PT6301.locate(0,0);
wim 1:73833adc27b1 213 PT6301.printf("%012X", 0x0);
wim 1:73833adc27b1 214 PT6301.refresh();
wim 0:a99bfc8384e4 215
wim 1:73833adc27b1 216 for (int i=0; i<SMTC7140_NR_COLS; i++) {
wim 0:a99bfc8384e4 217 // for (int i=0; i<1; i++) {
wim 0:a99bfc8384e4 218
wim 0:a99bfc8384e4 219 for (int cnt=0; cnt<0x10; cnt++) {
wim 1:73833adc27b1 220 PT6301.locate(0, i);
wim 1:73833adc27b1 221 PT6301.printf("%0X", cnt);
wim 1:73833adc27b1 222 PT6301.refresh();
wim 0:a99bfc8384e4 223 // pc.printf("%0X", cnt);
wim 0:a99bfc8384e4 224 // wait(0.5);
wim 0:a99bfc8384e4 225 cmd = pc.getc(); // wait for key
wim 0:a99bfc8384e4 226 }
wim 0:a99bfc8384e4 227 }
wim 0:a99bfc8384e4 228 pc.printf("\r\nShow all hex digits done\r\n");
wim 0:a99bfc8384e4 229 #endif
wim 0:a99bfc8384e4 230 break;
wim 0:a99bfc8384e4 231 }
wim 0:a99bfc8384e4 232
wim 0:a99bfc8384e4 233 case '5': {
wim 1:73833adc27b1 234 pc.printf("\r\nShow all icon bits\r\n");
wim 1:73833adc27b1 235 // PT6301.cls();
wim 1:73833adc27b1 236 // PT6301.refresh();
wim 1:73833adc27b1 237
wim 1:73833adc27b1 238 // Store UDC_idx=0, reserved for Icons on SMTC7140
wim 1:73833adc27b1 239 // Show UDC_idx=0 on Position (0, 12), ie Grid13
wim 1:73833adc27b1 240 #if(0)
wim 1:73833adc27b1 241 //Test version to check all bits
wim 1:73833adc27b1 242 for (int i=0; i<5; i++) {
wim 1:73833adc27b1 243 char bits = 0x40;
wim 1:73833adc27b1 244
wim 1:73833adc27b1 245 for (int cnt=0; cnt<7; cnt++) {
wim 1:73833adc27b1 246 PT6301.setIconGrid13( (i << 8) | bits); // Test
wim 1:73833adc27b1 247 pc.printf("Showing icon [%d] => bits 0x%0X\r\n", i, bits);
wim 1:73833adc27b1 248 bits = bits >> 1;
wim 1:73833adc27b1 249 cmd = pc.getc(); // wait for key
wim 1:73833adc27b1 250 }
wim 1:73833adc27b1 251 }
wim 1:73833adc27b1 252 pc.printf("\r\nShow all icon bits done\r\n");
wim 1:73833adc27b1 253 #else
wim 1:73833adc27b1 254 pc.printf("\r\nShow all icon bits\r\n");
wim 1:73833adc27b1 255 cmd = pc.getc(); // wait for key
wim 1:73833adc27b1 256 PT6301.setIconGrid13(SMTC7140_ICON_DOLBY);
wim 1:73833adc27b1 257 cmd = pc.getc(); // wait for key
wim 1:73833adc27b1 258 PT6301.setIconGrid13(SMTC7140_ICON_PLUS);
wim 1:73833adc27b1 259 cmd = pc.getc(); // wait for key
wim 1:73833adc27b1 260 PT6301.setIconGrid13(SMTC7140_ICON_HD);
wim 1:73833adc27b1 261 cmd = pc.getc(); // wait for key
wim 1:73833adc27b1 262 PT6301.setIconGrid13(SMTC7140_ICON_CLOCK);
wim 1:73833adc27b1 263 cmd = pc.getc(); // wait for key
wim 1:73833adc27b1 264 PT6301.setIconGrid13(SMTC7140_ICON_REC);
wim 1:73833adc27b1 265 cmd = pc.getc(); // wait for key
wim 1:73833adc27b1 266 PT6301.setIconGrid13(SMTC7140_ICON_MAIL);
wim 1:73833adc27b1 267 cmd = pc.getc(); // wait for key
wim 1:73833adc27b1 268
wim 1:73833adc27b1 269 PT6301.clrIconGrid13(SMTC7140_ICON_DOLBY);
wim 1:73833adc27b1 270 cmd = pc.getc(); // wait for key
wim 1:73833adc27b1 271 PT6301.clrIconGrid13(SMTC7140_ICON_PLUS);
wim 1:73833adc27b1 272 cmd = pc.getc(); // wait for key
wim 1:73833adc27b1 273 PT6301.clrIconGrid13(SMTC7140_ICON_HD);
wim 1:73833adc27b1 274 cmd = pc.getc(); // wait for key
wim 1:73833adc27b1 275 PT6301.clrIconGrid13(SMTC7140_ICON_CLOCK);
wim 1:73833adc27b1 276 cmd = pc.getc(); // wait for key
wim 1:73833adc27b1 277 PT6301.clrIconGrid13(SMTC7140_ICON_REC);
wim 1:73833adc27b1 278 cmd = pc.getc(); // wait for key
wim 1:73833adc27b1 279 PT6301.clrIconGrid13(SMTC7140_ICON_MAIL);
wim 1:73833adc27b1 280 cmd = pc.getc(); // wait for key
wim 1:73833adc27b1 281
wim 1:73833adc27b1 282 pc.printf("\r\nShow all icon bits done\r\n");
wim 1:73833adc27b1 283 #endif
wim 0:a99bfc8384e4 284 break;
wim 0:a99bfc8384e4 285 }
wim 0:a99bfc8384e4 286
wim 0:a99bfc8384e4 287 case '6': {
wim 0:a99bfc8384e4 288 pc.printf("Show counter\r\n");
wim 1:73833adc27b1 289 PT6301.cls(false); // clear all, preserve Icons
wim 0:a99bfc8384e4 290
wim 0:a99bfc8384e4 291 #if(1)
wim 1:73833adc27b1 292 PT6301.locate(0, 0);
wim 1:73833adc27b1 293 PT6301.printf("Cnt=");
wim 0:a99bfc8384e4 294 for (int cnt=0; cnt<=0xFF; cnt++) {
wim 1:73833adc27b1 295 PT6301.locate(0, 8);
wim 1:73833adc27b1 296 PT6301.printf("%02X", cnt);
wim 1:73833adc27b1 297 PT6301.refresh();
wim 0:a99bfc8384e4 298 wait(0.2);
wim 0:a99bfc8384e4 299 }
wim 0:a99bfc8384e4 300 #endif
wim 0:a99bfc8384e4 301 break;
wim 0:a99bfc8384e4 302 }
wim 0:a99bfc8384e4 303
wim 0:a99bfc8384e4 304 case '7': {
wim 0:a99bfc8384e4 305 pc.printf("Show floats\r\n");
wim 0:a99bfc8384e4 306
wim 1:73833adc27b1 307 PT6301.cls(false); // clear all, preserve Icons
wim 1:73833adc27b1 308 PT6301.printf("%1.7f", -0.1234567); // test decimal point display
wim 1:73833adc27b1 309 PT6301.refresh();
wim 0:a99bfc8384e4 310 wait(0.5);
wim 1:73833adc27b1 311 PT6301.cls(false); // clear all, preserve Icons
wim 1:73833adc27b1 312 PT6301.printf("%3.6f", 123.456789); // test decimal point display
wim 1:73833adc27b1 313 PT6301.refresh();
wim 0:a99bfc8384e4 314 break;
wim 0:a99bfc8384e4 315 }
wim 0:a99bfc8384e4 316
wim 0:a99bfc8384e4 317 case '8': {
wim 0:a99bfc8384e4 318
wim 0:a99bfc8384e4 319 #if(1)
wim 0:a99bfc8384e4 320 //test to show KITT
wim 0:a99bfc8384e4 321 pc.printf("Show KITT scanner\r\n");
wim 0:a99bfc8384e4 322
wim 0:a99bfc8384e4 323 // 0123456789
wim 0:a99bfc8384e4 324 const char KITT[][11] = {{"8 "},
wim 0:a99bfc8384e4 325 {"38 "},
wim 0:a99bfc8384e4 326 {" 38 "},
wim 0:a99bfc8384e4 327 {" 38 "},
wim 0:a99bfc8384e4 328 {" 38 "},
wim 0:a99bfc8384e4 329 {" 38 "},
wim 0:a99bfc8384e4 330 {" 38 "},
wim 0:a99bfc8384e4 331 {" 38 "},
wim 0:a99bfc8384e4 332 {" 38 "},
wim 0:a99bfc8384e4 333 {" 38"},
wim 0:a99bfc8384e4 334 {" 3"},
wim 0:a99bfc8384e4 335 {" "},
wim 0:a99bfc8384e4 336 {" 8"},
wim 0:a99bfc8384e4 337 {" 8E"},
wim 0:a99bfc8384e4 338 {" 8E "},
wim 0:a99bfc8384e4 339 {" 8E "},
wim 0:a99bfc8384e4 340 {" 8E "},
wim 0:a99bfc8384e4 341 {" 8E "},
wim 0:a99bfc8384e4 342 {" 8E "},
wim 0:a99bfc8384e4 343 {" 8E "},
wim 0:a99bfc8384e4 344 {" 8E "},
wim 0:a99bfc8384e4 345 {"8E "},
wim 0:a99bfc8384e4 346 {"E "},
wim 0:a99bfc8384e4 347 {" "}
wim 0:a99bfc8384e4 348 };
wim 0:a99bfc8384e4 349
wim 1:73833adc27b1 350 PT6301.cls(false); // clear all, preserve Icons
wim 0:a99bfc8384e4 351
wim 0:a99bfc8384e4 352 while (!pc.readable()) { // wait for key
wim 0:a99bfc8384e4 353 for (int i=0; i < (sizeof(KITT) / 11) ; i++) {
wim 1:73833adc27b1 354 PT6301.locate(0,0);
wim 1:73833adc27b1 355 PT6301.printf("%s", KITT[i]);
wim 1:73833adc27b1 356 PT6301.refresh();
wim 0:a99bfc8384e4 357 wait(0.1);
wim 0:a99bfc8384e4 358 }
wim 0:a99bfc8384e4 359 }
wim 0:a99bfc8384e4 360 cmd = pc.getc(); // read key
wim 0:a99bfc8384e4 361 pc.printf("Show KITT done\r\n");
wim 0:a99bfc8384e4 362 #endif
wim 0:a99bfc8384e4 363 break;
wim 0:a99bfc8384e4 364 }
wim 0:a99bfc8384e4 365
wim 0:a99bfc8384e4 366 case '9': {
wim 1:73833adc27b1 367 PT6301.cls(true); // clear all, including Icons
wim 1:73833adc27b1 368 PT6301.refresh();
wim 0:a99bfc8384e4 369 break;
wim 0:a99bfc8384e4 370 }
wim 0:a99bfc8384e4 371
wim 0:a99bfc8384e4 372 case 'A': {
wim 1:73833adc27b1 373 pc.printf("Display All Off / Normal\n\r");
wim 1:73833adc27b1 374 PT6301.setDisplay(false);
wim 1:73833adc27b1 375 wait(1.0);
wim 1:73833adc27b1 376 PT6301.setDisplay(true);
wim 1:73833adc27b1 377 wait(1.0);
wim 0:a99bfc8384e4 378 break;
wim 0:a99bfc8384e4 379 }
wim 0:a99bfc8384e4 380
wim 0:a99bfc8384e4 381 case 'B': {
wim 1:73833adc27b1 382 pc.printf("Display All On / Normal\n\r");
wim 1:73833adc27b1 383 PT6301.setDisplayTest(true);
wim 1:73833adc27b1 384 wait(1.0);
wim 1:73833adc27b1 385 PT6301.setDisplayTest(false);
wim 1:73833adc27b1 386 wait(1.0);
wim 0:a99bfc8384e4 387 break;
wim 0:a99bfc8384e4 388 }
wim 0:a99bfc8384e4 389
wim 0:a99bfc8384e4 390 case 'C': {
wim 1:73833adc27b1 391 PT6301.cls(false); // clear all, preserve Icons
wim 1:73833adc27b1 392 // PT6301.printf("Bye");
wim 1:73833adc27b1 393 // "0123456789AB");
wim 1:73833adc27b1 394 PT6301.printf("Stack...\r\n");
wim 1:73833adc27b1 395 PT6301.printf(" ..Overflow");
wim 1:73833adc27b1 396 PT6301.refresh();
wim 0:a99bfc8384e4 397 break;
wim 0:a99bfc8384e4 398 }
wim 0:a99bfc8384e4 399
wim 0:a99bfc8384e4 400 default : {
wim 0:a99bfc8384e4 401 break;
wim 0:a99bfc8384e4 402 }
wim 0:a99bfc8384e4 403
wim 0:a99bfc8384e4 404 } //switch cmd
wim 0:a99bfc8384e4 405
wim 0:a99bfc8384e4 406 myled = !myled;
wim 0:a99bfc8384e4 407 wait(0.3);
wim 0:a99bfc8384e4 408 }
wim 0:a99bfc8384e4 409 }
wim 0:a99bfc8384e4 410 #endif
wim 0:a99bfc8384e4 411
wim 0:a99bfc8384e4 412
wim 1:73833adc27b1 413 #if (PT6301_TEST == 1)
wim 0:a99bfc8384e4 414
wim 1:73833adc27b1 415 // PT6301 Bare Metal Test
wim 0:a99bfc8384e4 416 #include "mbed.h"
wim 1:73833adc27b1 417 #include "PT6301.h"
wim 0:a99bfc8384e4 418
wim 0:a99bfc8384e4 419 DigitalOut myled(LED1);
wim 0:a99bfc8384e4 420 Serial pc(USBTX, USBRX);
wim 0:a99bfc8384e4 421
wim 1:73833adc27b1 422 // PT6301 declaration, Default setting 20 Grids @ 5x7 Segments for 2 rows of characters
wim 1:73833adc27b1 423 PT6301 PT6301(p5, p7, p8, p9); // DI, CLK, CS, RST
wim 0:a99bfc8384e4 424
wim 0:a99bfc8384e4 425 int main() {
wim 1:73833adc27b1 426 pc.printf("Hello World: PT6301 test\n\r");
wim 0:a99bfc8384e4 427
wim 1:73833adc27b1 428 // PT6301.writeData((char)'H', 0, 0);
wim 1:73833adc27b1 429 // PT6301.writeData((char)'e', 0, 1);
wim 1:73833adc27b1 430 // PT6301.writeData((char)'l', 0, 2);
wim 1:73833adc27b1 431 // PT6301.writeData((char)'l', 0, 3);
wim 1:73833adc27b1 432 // PT6301.writeData((char)'o', 0, 4);
wim 1:73833adc27b1 433 PT6301.printf("Hello World");
wim 1:73833adc27b1 434 PT6301.refresh();
wim 1:73833adc27b1 435
wim 0:a99bfc8384e4 436 while(1) {
wim 0:a99bfc8384e4 437 myled = !myled;
wim 0:a99bfc8384e4 438 wait(1);
wim 0:a99bfc8384e4 439 }
wim 0:a99bfc8384e4 440 }
wim 0:a99bfc8384e4 441 #endif