Wim Huiskamp
/
mbed_STLED316S
Testprogram for STLED316S driver lib SPI Interface
See here for more information.
main.cpp@0:4dd04aa1a3dc, 2016-10-01 (annotated)
- 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?
User | Revision | Line number | New 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 |