Testprogram for STLED316S driver lib SPI Interface

Dependencies:   STLED316S mbed

See here for more information.

Committer:
wim
Date:
Sat Oct 01 15:12:02 2016 +0000
Revision:
0:4dd04aa1a3dc
Testprogram for STLED316S LED driver lib; First Release

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wim 0:4dd04aa1a3dc 1 /* mbed STLED316S Test program, for STLED316S LED controller
wim 0:4dd04aa1a3dc 2 * Copyright (c) 2016, v01: WH, Initial version
wim 0:4dd04aa1a3dc 3 *
wim 0:4dd04aa1a3dc 4 * Permission is hereby granted, free of charge, to any person obtaining a copy
wim 0:4dd04aa1a3dc 5 * of this software and associated documentation files (the "Software"), to deal
wim 0:4dd04aa1a3dc 6 * in the Software without restriction, including without limitation the rights
wim 0:4dd04aa1a3dc 7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
wim 0:4dd04aa1a3dc 8 * copies of the Software, and to permit persons to whom the Software is
wim 0:4dd04aa1a3dc 9 * furnished to do so, subject to the following conditions:
wim 0:4dd04aa1a3dc 10 *
wim 0:4dd04aa1a3dc 11 * The above copyright notice and this permission notice shall be included in
wim 0:4dd04aa1a3dc 12 * all copies or substantial portions of the Software.
wim 0:4dd04aa1a3dc 13 *
wim 0:4dd04aa1a3dc 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
wim 0:4dd04aa1a3dc 15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
wim 0:4dd04aa1a3dc 16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
wim 0:4dd04aa1a3dc 17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
wim 0:4dd04aa1a3dc 18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
wim 0:4dd04aa1a3dc 19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
wim 0:4dd04aa1a3dc 20 * THE SOFTWARE.
wim 0:4dd04aa1a3dc 21 */
wim 0:4dd04aa1a3dc 22 #include "mbed.h"
wim 0:4dd04aa1a3dc 23 #include "STLED316S.h"
wim 0:4dd04aa1a3dc 24
wim 0:4dd04aa1a3dc 25 Serial pc(USBTX, USBRX);
wim 0:4dd04aa1a3dc 26 DigitalOut myled(LED1);
wim 0:4dd04aa1a3dc 27
wim 0:4dd04aa1a3dc 28 // Select one of the testboards for STM STLED316S LED controller
wim 0:4dd04aa1a3dc 29
wim 0:4dd04aa1a3dc 30 #if (STLED316S_TEST == 1)
wim 0:4dd04aa1a3dc 31 //High level Control STLED316S
wim 0:4dd04aa1a3dc 32
wim 0:4dd04aa1a3dc 33 STLED316S::DisplayData_t all_str = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
wim 0:4dd04aa1a3dc 34 STLED316S::DisplayData_t bye_str = {LO(C7_B), LO(C7_Y), LO(C7_E), 0x00, 0x00, 0x00};
wim 0:4dd04aa1a3dc 35 STLED316S::LedData_t all_led = {0xFF};
wim 0:4dd04aa1a3dc 36
wim 0:4dd04aa1a3dc 37 // KeyData_t size is 2 bytes
wim 0:4dd04aa1a3dc 38 STLED316S::KeyData_t keydata;
wim 0:4dd04aa1a3dc 39
wim 0:4dd04aa1a3dc 40 // STLED316S declaration, Default setting 6 Grids @ 8 Segments
wim 0:4dd04aa1a3dc 41 STLED316S STLED316S(p5,p6,p7, p8);
wim 0:4dd04aa1a3dc 42
wim 0:4dd04aa1a3dc 43 char cmd, bits;
wim 0:4dd04aa1a3dc 44 int main() {
wim 0:4dd04aa1a3dc 45
wim 0:4dd04aa1a3dc 46 pc.printf("Hello World\r\n"); //
wim 0:4dd04aa1a3dc 47
wim 0:4dd04aa1a3dc 48 STLED316S.cls();
wim 0:4dd04aa1a3dc 49 STLED316S.writeData(all_str);
wim 0:4dd04aa1a3dc 50 STLED316S.writeLedData(all_led);
wim 0:4dd04aa1a3dc 51 wait(2);
wim 0:4dd04aa1a3dc 52
wim 0:4dd04aa1a3dc 53 #if(1)
wim 0:4dd04aa1a3dc 54 pc.printf("Test Global Brightness\r\n");
wim 0:4dd04aa1a3dc 55 STLED316S.setBrightMode(STLED316S::GlobalBright);
wim 0:4dd04aa1a3dc 56
wim 0:4dd04aa1a3dc 57 STLED316S.setBrightness(STLED316S_BRT3);
wim 0:4dd04aa1a3dc 58 wait(1);
wim 0:4dd04aa1a3dc 59 STLED316S.setBrightness(STLED316S_BRT0);
wim 0:4dd04aa1a3dc 60 wait(1);
wim 0:4dd04aa1a3dc 61 STLED316S.setBrightness(STLED316S_BRT3);
wim 0:4dd04aa1a3dc 62
wim 0:4dd04aa1a3dc 63 STLED316S.clrLed(STLED316S_LED_ALL);
wim 0:4dd04aa1a3dc 64 wait(1);
wim 0:4dd04aa1a3dc 65 STLED316S.setLed(STLED316S_LED_L1);
wim 0:4dd04aa1a3dc 66 wait(1);
wim 0:4dd04aa1a3dc 67 STLED316S.clrLed(STLED316S_LED_L1);
wim 0:4dd04aa1a3dc 68
wim 0:4dd04aa1a3dc 69 STLED316S.setLed(STLED316S_LED_L2);
wim 0:4dd04aa1a3dc 70 wait(1);
wim 0:4dd04aa1a3dc 71 STLED316S.clrLed(STLED316S_LED_L2);
wim 0:4dd04aa1a3dc 72
wim 0:4dd04aa1a3dc 73 STLED316S.setLed(STLED316S_LED_L3);
wim 0:4dd04aa1a3dc 74 wait(1);
wim 0:4dd04aa1a3dc 75 STLED316S.clrLed(STLED316S_LED_L3);
wim 0:4dd04aa1a3dc 76
wim 0:4dd04aa1a3dc 77 wait(1);
wim 0:4dd04aa1a3dc 78 STLED316S.setLed(STLED316S_LED_L1 | STLED316S_LED_L2 | STLED316S_LED_L3);
wim 0:4dd04aa1a3dc 79 #endif
wim 0:4dd04aa1a3dc 80
wim 0:4dd04aa1a3dc 81 while (1) {
wim 0:4dd04aa1a3dc 82 // Check and read keydata
wim 0:4dd04aa1a3dc 83 if (STLED316S.getKeys(&keydata)) {
wim 0:4dd04aa1a3dc 84 pc.printf("Keydata 0..1 = 0x%02X 0x%02X\r\n", keydata[0], keydata[1]);
wim 0:4dd04aa1a3dc 85
wim 0:4dd04aa1a3dc 86 if (keydata[0] == 0x01) { // Key1&KS1
wim 0:4dd04aa1a3dc 87 pc.printf("Test Individual Brightness\r\n");
wim 0:4dd04aa1a3dc 88 STLED316S.setBrightMode(STLED316S::IndivBright);
wim 0:4dd04aa1a3dc 89
wim 0:4dd04aa1a3dc 90 wait(1);
wim 0:4dd04aa1a3dc 91 STLED316S.setLedBrightness(STLED316S_LED_L1, STLED316S_BRT3);
wim 0:4dd04aa1a3dc 92 wait(1);
wim 0:4dd04aa1a3dc 93 STLED316S.setLedBrightness(STLED316S_LED_L1, STLED316S_BRT0);
wim 0:4dd04aa1a3dc 94
wim 0:4dd04aa1a3dc 95 wait(1);
wim 0:4dd04aa1a3dc 96 STLED316S.setLedBrightness(STLED316S_LED_L2, STLED316S_BRT3);
wim 0:4dd04aa1a3dc 97 wait(1);
wim 0:4dd04aa1a3dc 98 STLED316S.setLedBrightness(STLED316S_LED_L2, STLED316S_BRT0);
wim 0:4dd04aa1a3dc 99
wim 0:4dd04aa1a3dc 100 wait(1);
wim 0:4dd04aa1a3dc 101 STLED316S.setLedBrightness(STLED316S_LED_L3, STLED316S_BRT3);
wim 0:4dd04aa1a3dc 102 wait(1);
wim 0:4dd04aa1a3dc 103 STLED316S.setLedBrightness(STLED316S_LED_L3, STLED316S_BRT0);
wim 0:4dd04aa1a3dc 104
wim 0:4dd04aa1a3dc 105 wait(1);
wim 0:4dd04aa1a3dc 106 STLED316S.setDigitBrightness(STLED316S_DIG_D2, STLED316S_BRT3);
wim 0:4dd04aa1a3dc 107 wait(1);
wim 0:4dd04aa1a3dc 108 STLED316S.setDigitBrightness(STLED316S_DIG_D2, STLED316S_BRT0);
wim 0:4dd04aa1a3dc 109
wim 0:4dd04aa1a3dc 110 wait(1);
wim 0:4dd04aa1a3dc 111 STLED316S.setDigitBrightness(STLED316S_DIG_D3, STLED316S_BRT3);
wim 0:4dd04aa1a3dc 112 wait(1);
wim 0:4dd04aa1a3dc 113 STLED316S.setDigitBrightness(STLED316S_DIG_D3, STLED316S_BRT0);
wim 0:4dd04aa1a3dc 114
wim 0:4dd04aa1a3dc 115 wait(1);
wim 0:4dd04aa1a3dc 116 STLED316S.setDigitBrightness(STLED316S_DIG_D4, STLED316S_BRT3);
wim 0:4dd04aa1a3dc 117 wait(1);
wim 0:4dd04aa1a3dc 118 STLED316S.setDigitBrightness(STLED316S_DIG_D4, STLED316S_BRT0);
wim 0:4dd04aa1a3dc 119
wim 0:4dd04aa1a3dc 120 wait(1);
wim 0:4dd04aa1a3dc 121 STLED316S.setDigitBrightness(STLED316S_DIG_D5, STLED316S_BRT3);
wim 0:4dd04aa1a3dc 122 wait(1);
wim 0:4dd04aa1a3dc 123 STLED316S.setDigitBrightness(STLED316S_DIG_D5, STLED316S_BRT0);
wim 0:4dd04aa1a3dc 124
wim 0:4dd04aa1a3dc 125 wait(1);
wim 0:4dd04aa1a3dc 126 STLED316S.setDigitBrightness(STLED316S_DIG_D6, STLED316S_BRT3);
wim 0:4dd04aa1a3dc 127 wait(1);
wim 0:4dd04aa1a3dc 128 STLED316S.setDigitBrightness(STLED316S_DIG_D6, STLED316S_BRT0);
wim 0:4dd04aa1a3dc 129
wim 0:4dd04aa1a3dc 130 wait(1);
wim 0:4dd04aa1a3dc 131 STLED316S.setDigitBrightness(STLED316S_DIG_D7, STLED316S_BRT3);
wim 0:4dd04aa1a3dc 132 wait(1);
wim 0:4dd04aa1a3dc 133 STLED316S.setDigitBrightness(STLED316S_DIG_D7, STLED316S_BRT0);
wim 0:4dd04aa1a3dc 134
wim 0:4dd04aa1a3dc 135 wait(1);
wim 0:4dd04aa1a3dc 136 STLED316S.setBrightMode(STLED316S::GlobalBright);
wim 0:4dd04aa1a3dc 137 }
wim 0:4dd04aa1a3dc 138
wim 0:4dd04aa1a3dc 139 if (keydata[0] == 0x02) { // Key1&KS2
wim 0:4dd04aa1a3dc 140 STLED316S.cls();
wim 0:4dd04aa1a3dc 141 }
wim 0:4dd04aa1a3dc 142
wim 0:4dd04aa1a3dc 143 if (keydata[0] == 0x04) { // Key1&KS3
wim 0:4dd04aa1a3dc 144 #if(1)
wim 0:4dd04aa1a3dc 145 //test to show all segs
wim 0:4dd04aa1a3dc 146 pc.printf("Show all segs\r\n");
wim 0:4dd04aa1a3dc 147 wait(1);
wim 0:4dd04aa1a3dc 148 STLED316S.cls();
wim 0:4dd04aa1a3dc 149
wim 0:4dd04aa1a3dc 150 for (int i=0; i<STLED316S_DISPLAY_MEM; i++) {
wim 0:4dd04aa1a3dc 151 for (int bit=0; bit<8; bit++) {
wim 0:4dd04aa1a3dc 152 STLED316S.cls();
wim 0:4dd04aa1a3dc 153
wim 0:4dd04aa1a3dc 154 bits = 0x01 << bit;
wim 0:4dd04aa1a3dc 155 STLED316S.writeData(i, bits);
wim 0:4dd04aa1a3dc 156
wim 0:4dd04aa1a3dc 157 pc.printf("Idx = %d, Bits = 0x%02x\r\n", i, bits);
wim 0:4dd04aa1a3dc 158 // wait(0.5);
wim 0:4dd04aa1a3dc 159 cmd = pc.getc(); // wait for key
wim 0:4dd04aa1a3dc 160 }
wim 0:4dd04aa1a3dc 161 }
wim 0:4dd04aa1a3dc 162 pc.printf("Show all segs done\r\n");
wim 0:4dd04aa1a3dc 163 wait(0.5);
wim 0:4dd04aa1a3dc 164 STLED316S.writeData(all_str);
wim 0:4dd04aa1a3dc 165 #endif
wim 0:4dd04aa1a3dc 166 }
wim 0:4dd04aa1a3dc 167
wim 0:4dd04aa1a3dc 168
wim 0:4dd04aa1a3dc 169 } //if
wim 0:4dd04aa1a3dc 170
wim 0:4dd04aa1a3dc 171 myled = !myled;
wim 0:4dd04aa1a3dc 172 wait(0.3);
wim 0:4dd04aa1a3dc 173 } //while
wim 0:4dd04aa1a3dc 174 }
wim 0:4dd04aa1a3dc 175 #endif
wim 0:4dd04aa1a3dc 176
wim 0:4dd04aa1a3dc 177
wim 0:4dd04aa1a3dc 178
wim 0:4dd04aa1a3dc 179 #if (ST316BOARD_TEST == 1)
wim 0:4dd04aa1a3dc 180 //High level Control STLED316S test display
wim 0:4dd04aa1a3dc 181
wim 0:4dd04aa1a3dc 182 STLED316S::DisplayData_t all_str = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
wim 0:4dd04aa1a3dc 183 STLED316S::DisplayData_t bye_str = {LO(C7_B), LO(C7_Y), LO(C7_E), 0x00, 0x00, 0x00};
wim 0:4dd04aa1a3dc 184 STLED316S::LedData_t all_led = {0xFF};
wim 0:4dd04aa1a3dc 185
wim 0:4dd04aa1a3dc 186 // KeyData_t size is 2 bytes
wim 0:4dd04aa1a3dc 187 STLED316S::KeyData_t keydata;
wim 0:4dd04aa1a3dc 188
wim 0:4dd04aa1a3dc 189 // STLED316S test display declaration: 6 Grids @ 8 Segments, 3 LEDs, 3 Keys
wim 0:4dd04aa1a3dc 190 STLED316S_BOARD STLED316S(p5,p6,p7, p8);
wim 0:4dd04aa1a3dc 191
wim 0:4dd04aa1a3dc 192 char cmd, bits;
wim 0:4dd04aa1a3dc 193 int main() {
wim 0:4dd04aa1a3dc 194
wim 0:4dd04aa1a3dc 195 pc.printf("Hello World\r\n"); //
wim 0:4dd04aa1a3dc 196
wim 0:4dd04aa1a3dc 197 STLED316S.cls();
wim 0:4dd04aa1a3dc 198 STLED316S.writeData(all_str);
wim 0:4dd04aa1a3dc 199 STLED316S.writeLedData(all_led);
wim 0:4dd04aa1a3dc 200 wait(2);
wim 0:4dd04aa1a3dc 201
wim 0:4dd04aa1a3dc 202 #if(1)
wim 0:4dd04aa1a3dc 203 pc.printf("Test Global Brightness\r\n");
wim 0:4dd04aa1a3dc 204 STLED316S.setBrightMode(STLED316S::GlobalBright);
wim 0:4dd04aa1a3dc 205
wim 0:4dd04aa1a3dc 206 STLED316S.setBrightness(STLED316S_BRT3);
wim 0:4dd04aa1a3dc 207 wait(0.5);
wim 0:4dd04aa1a3dc 208 STLED316S.setBrightness(STLED316S_BRT0);
wim 0:4dd04aa1a3dc 209 wait(0.5);
wim 0:4dd04aa1a3dc 210 STLED316S.setBrightness(STLED316S_BRT3);
wim 0:4dd04aa1a3dc 211
wim 0:4dd04aa1a3dc 212 STLED316S.clrLed(STLED316S_LED_ALL);
wim 0:4dd04aa1a3dc 213 wait(0.5);
wim 0:4dd04aa1a3dc 214 STLED316S.setLed(STLED316S_LED_L1);
wim 0:4dd04aa1a3dc 215 wait(0.5);
wim 0:4dd04aa1a3dc 216 STLED316S.clrLed(STLED316S_LED_L1);
wim 0:4dd04aa1a3dc 217
wim 0:4dd04aa1a3dc 218 STLED316S.setLed(STLED316S_LED_L2);
wim 0:4dd04aa1a3dc 219 wait(0.5);
wim 0:4dd04aa1a3dc 220 STLED316S.clrLed(STLED316S_LED_L2);
wim 0:4dd04aa1a3dc 221
wim 0:4dd04aa1a3dc 222 STLED316S.setLed(STLED316S_LED_L3);
wim 0:4dd04aa1a3dc 223 wait(0.5);
wim 0:4dd04aa1a3dc 224 STLED316S.clrLed(STLED316S_LED_L3);
wim 0:4dd04aa1a3dc 225
wim 0:4dd04aa1a3dc 226 wait(0.5);
wim 0:4dd04aa1a3dc 227 STLED316S.setLed(STLED316S_LED_L1 | STLED316S_LED_L2 | STLED316S_LED_L3);
wim 0:4dd04aa1a3dc 228 #endif
wim 0:4dd04aa1a3dc 229
wim 0:4dd04aa1a3dc 230 while (1) {
wim 0:4dd04aa1a3dc 231 // Check and read keydata
wim 0:4dd04aa1a3dc 232 if (STLED316S.getKeys(&keydata)) {
wim 0:4dd04aa1a3dc 233 pc.printf("Keydata 0..1 = 0x%02X 0x%02X\r\n", keydata[0], keydata[1]);
wim 0:4dd04aa1a3dc 234
wim 0:4dd04aa1a3dc 235 if (keydata[0] == 0x01) { // Key1&KS1
wim 0:4dd04aa1a3dc 236 pc.printf("Test Individual Brightness\r\n");
wim 0:4dd04aa1a3dc 237 STLED316S.setBrightMode(STLED316S::IndivBright);
wim 0:4dd04aa1a3dc 238
wim 0:4dd04aa1a3dc 239 wait(1);
wim 0:4dd04aa1a3dc 240 STLED316S.setLedBrightness(STLED316S_LED_L1, STLED316S_BRT3);
wim 0:4dd04aa1a3dc 241 wait(0.5);
wim 0:4dd04aa1a3dc 242 STLED316S.setLedBrightness(STLED316S_LED_L1, STLED316S_BRT0);
wim 0:4dd04aa1a3dc 243
wim 0:4dd04aa1a3dc 244 wait(0.5);
wim 0:4dd04aa1a3dc 245 STLED316S.setLedBrightness(STLED316S_LED_L2, STLED316S_BRT3);
wim 0:4dd04aa1a3dc 246 wait(0.5);
wim 0:4dd04aa1a3dc 247 STLED316S.setLedBrightness(STLED316S_LED_L2, STLED316S_BRT0);
wim 0:4dd04aa1a3dc 248
wim 0:4dd04aa1a3dc 249 wait(0.5);
wim 0:4dd04aa1a3dc 250 STLED316S.setLedBrightness(STLED316S_LED_L3, STLED316S_BRT3);
wim 0:4dd04aa1a3dc 251 wait(0.5);
wim 0:4dd04aa1a3dc 252 STLED316S.setLedBrightness(STLED316S_LED_L3, STLED316S_BRT0);
wim 0:4dd04aa1a3dc 253
wim 0:4dd04aa1a3dc 254 wait(0.5);
wim 0:4dd04aa1a3dc 255 STLED316S.setDigitBrightness(STLED316S_DIG_D2, STLED316S_BRT3);
wim 0:4dd04aa1a3dc 256 wait(0.5);
wim 0:4dd04aa1a3dc 257 STLED316S.setDigitBrightness(STLED316S_DIG_D2, STLED316S_BRT0);
wim 0:4dd04aa1a3dc 258
wim 0:4dd04aa1a3dc 259 wait(0.5);
wim 0:4dd04aa1a3dc 260 STLED316S.setDigitBrightness(STLED316S_DIG_D3, STLED316S_BRT3);
wim 0:4dd04aa1a3dc 261 wait(0.5);
wim 0:4dd04aa1a3dc 262 STLED316S.setDigitBrightness(STLED316S_DIG_D3, STLED316S_BRT0);
wim 0:4dd04aa1a3dc 263
wim 0:4dd04aa1a3dc 264 wait(0.5);
wim 0:4dd04aa1a3dc 265 STLED316S.setDigitBrightness(STLED316S_DIG_D4, STLED316S_BRT3);
wim 0:4dd04aa1a3dc 266 wait(0.5);
wim 0:4dd04aa1a3dc 267 STLED316S.setDigitBrightness(STLED316S_DIG_D4, STLED316S_BRT0);
wim 0:4dd04aa1a3dc 268
wim 0:4dd04aa1a3dc 269 wait(0.5);
wim 0:4dd04aa1a3dc 270 STLED316S.setDigitBrightness(STLED316S_DIG_D5, STLED316S_BRT3);
wim 0:4dd04aa1a3dc 271 wait(0.5);
wim 0:4dd04aa1a3dc 272 STLED316S.setDigitBrightness(STLED316S_DIG_D5, STLED316S_BRT0);
wim 0:4dd04aa1a3dc 273
wim 0:4dd04aa1a3dc 274 wait(0.5);
wim 0:4dd04aa1a3dc 275 STLED316S.setDigitBrightness(STLED316S_DIG_D6, STLED316S_BRT3);
wim 0:4dd04aa1a3dc 276 wait(0.5);
wim 0:4dd04aa1a3dc 277 STLED316S.setDigitBrightness(STLED316S_DIG_D6, STLED316S_BRT0);
wim 0:4dd04aa1a3dc 278
wim 0:4dd04aa1a3dc 279 wait(0.5);
wim 0:4dd04aa1a3dc 280 STLED316S.setDigitBrightness(STLED316S_DIG_D7, STLED316S_BRT3);
wim 0:4dd04aa1a3dc 281 wait(0.5);
wim 0:4dd04aa1a3dc 282 STLED316S.setDigitBrightness(STLED316S_DIG_D7, STLED316S_BRT0);
wim 0:4dd04aa1a3dc 283
wim 0:4dd04aa1a3dc 284 wait(0.5);
wim 0:4dd04aa1a3dc 285 STLED316S.setBrightMode(STLED316S::GlobalBright);
wim 0:4dd04aa1a3dc 286 }
wim 0:4dd04aa1a3dc 287
wim 0:4dd04aa1a3dc 288 if (keydata[0] == 0x02) { // Key1&KS2
wim 0:4dd04aa1a3dc 289 STLED316S.cls();
wim 0:4dd04aa1a3dc 290
wim 0:4dd04aa1a3dc 291 STLED316S.locate(0);
wim 0:4dd04aa1a3dc 292 STLED316S.printf("%06x", 0x012345);
wim 0:4dd04aa1a3dc 293 wait(1.0);
wim 0:4dd04aa1a3dc 294 STLED316S.locate(0);
wim 0:4dd04aa1a3dc 295 STLED316S.printf("%06x", 0x789ABC);
wim 0:4dd04aa1a3dc 296 wait(1.0);
wim 0:4dd04aa1a3dc 297 STLED316S.printf("%01.4f", -0.2345);
wim 0:4dd04aa1a3dc 298
wim 0:4dd04aa1a3dc 299 wait(2.0);
wim 0:4dd04aa1a3dc 300 STLED316S.printf("Hello ");
wim 0:4dd04aa1a3dc 301 }
wim 0:4dd04aa1a3dc 302
wim 0:4dd04aa1a3dc 303 if (keydata[0] == 0x04) { // Key1&KS3
wim 0:4dd04aa1a3dc 304 #if(0)
wim 0:4dd04aa1a3dc 305 //test to show all segs
wim 0:4dd04aa1a3dc 306 pc.printf("Show all segs\r\n");
wim 0:4dd04aa1a3dc 307 wait(1);
wim 0:4dd04aa1a3dc 308 STLED316S.cls();
wim 0:4dd04aa1a3dc 309
wim 0:4dd04aa1a3dc 310 for (int i=0; i<STLED316S_DISPLAY_MEM; i++) {
wim 0:4dd04aa1a3dc 311 for (int bit=0; bit<8; bit++) {
wim 0:4dd04aa1a3dc 312 STLED316S.cls();
wim 0:4dd04aa1a3dc 313
wim 0:4dd04aa1a3dc 314 bits = 0x01 << bit;
wim 0:4dd04aa1a3dc 315 STLED316S.writeData(i, bits);
wim 0:4dd04aa1a3dc 316
wim 0:4dd04aa1a3dc 317 pc.printf("Idx = %d, Bits = 0x%02x\r\n", i, bits);
wim 0:4dd04aa1a3dc 318 // wait(0.5);
wim 0:4dd04aa1a3dc 319 cmd = pc.getc(); // wait for key
wim 0:4dd04aa1a3dc 320 }
wim 0:4dd04aa1a3dc 321 }
wim 0:4dd04aa1a3dc 322 pc.printf("Show all segs done\r\n");
wim 0:4dd04aa1a3dc 323 wait(0.5);
wim 0:4dd04aa1a3dc 324 STLED316S.writeData(all_str);
wim 0:4dd04aa1a3dc 325 #else
wim 0:4dd04aa1a3dc 326 //test to show all digits (base is 0x10)
wim 0:4dd04aa1a3dc 327 pc.printf("Show all hex digits\r\n");
wim 0:4dd04aa1a3dc 328 wait(1);
wim 0:4dd04aa1a3dc 329 STLED316S.cls();
wim 0:4dd04aa1a3dc 330
wim 0:4dd04aa1a3dc 331 STLED316S.printf("%06x", 0x01ABCD);
wim 0:4dd04aa1a3dc 332 cmd = pc.getc(); // wait for key
wim 0:4dd04aa1a3dc 333
wim 0:4dd04aa1a3dc 334 for (int i=0; i<ST316BOARD_NR_DIGITS; i++) {
wim 0:4dd04aa1a3dc 335
wim 0:4dd04aa1a3dc 336 for (int cnt=0; cnt<0x10; cnt++) {
wim 0:4dd04aa1a3dc 337 STLED316S.locate(i);
wim 0:4dd04aa1a3dc 338 STLED316S.printf("%01x", cnt);
wim 0:4dd04aa1a3dc 339
wim 0:4dd04aa1a3dc 340 // wait(0.5);
wim 0:4dd04aa1a3dc 341 cmd = pc.getc(); // wait for key
wim 0:4dd04aa1a3dc 342 }
wim 0:4dd04aa1a3dc 343 }
wim 0:4dd04aa1a3dc 344 pc.printf("\r\nShow all hex digits done\r\n");
wim 0:4dd04aa1a3dc 345 #endif
wim 0:4dd04aa1a3dc 346 }
wim 0:4dd04aa1a3dc 347
wim 0:4dd04aa1a3dc 348 } //if
wim 0:4dd04aa1a3dc 349
wim 0:4dd04aa1a3dc 350 myled = !myled;
wim 0:4dd04aa1a3dc 351 wait(0.3);
wim 0:4dd04aa1a3dc 352 } //while
wim 0:4dd04aa1a3dc 353 }
wim 0:4dd04aa1a3dc 354 #endif
wim 0:4dd04aa1a3dc 355
wim 0:4dd04aa1a3dc 356
wim 0:4dd04aa1a3dc 357