Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: EightDotMatrixLed mbed
main.cpp@1:bde1037a0ee5, 2015-11-17 (annotated)
- Committer:
- hirokuru
- Date:
- Tue Nov 17 06:31:46 2015 +0000
- Revision:
- 1:bde1037a0ee5
- Parent:
- 0:d7c2060a9a36
?????????????????
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| hirokuru | 0:d7c2060a9a36 | 1 | #include "mbed.h" | 
| hirokuru | 0:d7c2060a9a36 | 2 | #include "EightDotMatrixLed.h" | 
| hirokuru | 0:d7c2060a9a36 | 3 | |
| hirokuru | 1:bde1037a0ee5 | 4 | // common type (0:anode common 1:cathode common) | 
| hirokuru | 1:bde1037a0ee5 | 5 | // | | 
| hirokuru | 1:bde1037a0ee5 | 6 | // | segA segB segC segD segE segF segG segh com1 com2 com3 com4 com5 com6 com7 com8 | 
| hirokuru | 1:bde1037a0ee5 | 7 | // | | | | | | | | | | | | | | | | | | 
| hirokuru | 1:bde1037a0ee5 | 8 | EightDotMatrixLed segmentled(0, dp24, dp25, dp26, dp27, dp28, dp17, dp18, dp5, dp13, dp14, dp15, dp16, dp6, dp9, dp10, dp11); | 
| hirokuru | 0:d7c2060a9a36 | 9 | |
| hirokuru | 0:d7c2060a9a36 | 10 | BusOut Rows (dp24, dp25, dp26, dp27,dp28,dp17,dp18,dp5); | 
| hirokuru | 0:d7c2060a9a36 | 11 | BusOut Cols (dp13,dp14,dp15,dp16,dp6,dp9,dp10,dp11); | 
| hirokuru | 0:d7c2060a9a36 | 12 | |
| hirokuru | 0:d7c2060a9a36 | 13 | |
| hirokuru | 0:d7c2060a9a36 | 14 | int DotPattern1[] = {0x7f, 0x7f, 0x7f, 0x7f, 0x7f, | 
| hirokuru | 0:d7c2060a9a36 | 15 | 0x7F, 0x00, 0x7F, 0x7E, 0x7E, | 
| hirokuru | 0:d7c2060a9a36 | 16 | 0x00, 0x7E, 0x7E, 0x7F, 0x78, | 
| hirokuru | 0:d7c2060a9a36 | 17 | 0x47, 0x3F, 0x47, 0x3F, 0x47, | 
| hirokuru | 0:d7c2060a9a36 | 18 | 0x78, 0x7F, 0x7F, 0x7F, 0x7F, | 
| hirokuru | 0:d7c2060a9a36 | 19 | 0x5D, 0x3A, 0x36, 0x4D, 0x7F, | 
| hirokuru | 0:d7c2060a9a36 | 20 | 0x43, 0x3F, 0x5F, 0x3F, 0x43, | 
| hirokuru | 0:d7c2060a9a36 | 21 | 0x7F, 0x02, 0x7F, 0x7D, 0x40, | 
| hirokuru | 0:d7c2060a9a36 | 22 | 0x3D, 0x5D, 0x7F, 0x47, 0x3B, | 
| hirokuru | 0:d7c2060a9a36 | 23 | 0x3B, 0x57, 0x7F, 0x00, 0x7B, | 
| hirokuru | 0:d7c2060a9a36 | 24 | 0x03, 0x7F, 0x47, 0x2B, 0x2B, | 
| hirokuru | 0:d7c2060a9a36 | 25 | 0x37, 0x7F, 0x37, 0x2B, 0x5B, | 
| hirokuru | 0:d7c2060a9a36 | 26 | 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, | 
| hirokuru | 0:d7c2060a9a36 | 27 | 0x7f, 0x7f, 0x7f, 0x7f, 0x7f | 
| hirokuru | 0:d7c2060a9a36 | 28 | }; //Message = "ITW Switches". | 
| hirokuru | 0:d7c2060a9a36 | 29 | |
| hirokuru | 1:bde1037a0ee5 | 30 | |
| hirokuru | 1:bde1037a0ee5 | 31 | |
| hirokuru | 1:bde1037a0ee5 | 32 | |
| hirokuru | 1:bde1037a0ee5 | 33 | |
| hirokuru | 1:bde1037a0ee5 | 34 | |
| hirokuru | 1:bde1037a0ee5 | 35 | |
| hirokuru | 1:bde1037a0ee5 | 36 | |
| hirokuru | 1:bde1037a0ee5 | 37 | |
| hirokuru | 1:bde1037a0ee5 | 38 | |
| hirokuru | 1:bde1037a0ee5 | 39 | |
| hirokuru | 1:bde1037a0ee5 | 40 | |
| hirokuru | 1:bde1037a0ee5 | 41 | |
| hirokuru | 1:bde1037a0ee5 | 42 | |
| hirokuru | 1:bde1037a0ee5 | 43 | |
| hirokuru | 1:bde1037a0ee5 | 44 | |
| hirokuru | 1:bde1037a0ee5 | 45 | |
| hirokuru | 1:bde1037a0ee5 | 46 | |
| hirokuru | 1:bde1037a0ee5 | 47 | |
| hirokuru | 1:bde1037a0ee5 | 48 | |
| hirokuru | 1:bde1037a0ee5 | 49 | |
| hirokuru | 1:bde1037a0ee5 | 50 | |
| hirokuru | 1:bde1037a0ee5 | 51 | |
| hirokuru | 1:bde1037a0ee5 | 52 | |
| hirokuru | 1:bde1037a0ee5 | 53 | |
| hirokuru | 1:bde1037a0ee5 | 54 | |
| hirokuru | 1:bde1037a0ee5 | 55 | |
| hirokuru | 1:bde1037a0ee5 | 56 | uint8_t D_dotGrayData[8][8] = { | 
| hirokuru | 1:bde1037a0ee5 | 57 | {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},//snow | 
| hirokuru | 1:bde1037a0ee5 | 58 | {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, | 
| hirokuru | 1:bde1037a0ee5 | 59 | {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, | 
| hirokuru | 1:bde1037a0ee5 | 60 | {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, | 
| hirokuru | 1:bde1037a0ee5 | 61 | {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, | 
| hirokuru | 1:bde1037a0ee5 | 62 | {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, | 
| hirokuru | 1:bde1037a0ee5 | 63 | {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, | 
| hirokuru | 1:bde1037a0ee5 | 64 | {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, | 
| hirokuru | 1:bde1037a0ee5 | 65 | }; | 
| hirokuru | 1:bde1037a0ee5 | 66 | uint8_t D_dotDigitalData[8][8] = { | 
| hirokuru | 1:bde1037a0ee5 | 67 | {0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},//snow | 
| hirokuru | 1:bde1037a0ee5 | 68 | {0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00}, | 
| hirokuru | 1:bde1037a0ee5 | 69 | {0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00}, | 
| hirokuru | 1:bde1037a0ee5 | 70 | {0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, | 
| hirokuru | 1:bde1037a0ee5 | 71 | {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, | 
| hirokuru | 1:bde1037a0ee5 | 72 | {0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01}, | 
| hirokuru | 1:bde1037a0ee5 | 73 | {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, | 
| hirokuru | 1:bde1037a0ee5 | 74 | {0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00} | 
| hirokuru | 1:bde1037a0ee5 | 75 | }; | 
| hirokuru | 1:bde1037a0ee5 | 76 | |
| hirokuru | 1:bde1037a0ee5 | 77 | Timer timer; // data change timer | 
| hirokuru | 1:bde1037a0ee5 | 78 | |
| hirokuru | 0:d7c2060a9a36 | 79 | float count; | 
| hirokuru | 0:d7c2060a9a36 | 80 | int ColCount; | 
| hirokuru | 0:d7c2060a9a36 | 81 | int pattern; | 
| hirokuru | 0:d7c2060a9a36 | 82 | int loop; | 
| hirokuru | 0:d7c2060a9a36 | 83 | int index; | 
| hirokuru | 1:bde1037a0ee5 | 84 | int i; | 
| hirokuru | 1:bde1037a0ee5 | 85 | int k; | 
| hirokuru | 1:bde1037a0ee5 | 86 | |
| hirokuru | 0:d7c2060a9a36 | 87 | int main() { | 
| hirokuru | 0:d7c2060a9a36 | 88 | i=0; | 
| hirokuru | 1:bde1037a0ee5 | 89 | uint8_t seg; | 
| hirokuru | 1:bde1037a0ee5 | 90 | uint8_t wk0, wk1, wk2, wk3, wk4, wk5, wk6, wk7; | 
| hirokuru | 1:bde1037a0ee5 | 91 | |
| hirokuru | 1:bde1037a0ee5 | 92 | |
| hirokuru | 0:d7c2060a9a36 | 93 | |
| hirokuru | 1:bde1037a0ee5 | 94 | while(1) { | 
| hirokuru | 0:d7c2060a9a36 | 95 | index=0; | 
| hirokuru | 1:bde1037a0ee5 | 96 | while (index<65) {//横方向移動回数(65)1だと停止 | 
| hirokuru | 0:d7c2060a9a36 | 97 | loop=0; | 
| hirokuru | 0:d7c2060a9a36 | 98 | while (loop<8) {//スクロール速度初期値(4) | 
| hirokuru | 0:d7c2060a9a36 | 99 | |
| hirokuru | 0:d7c2060a9a36 | 100 | count = 1; | 
| hirokuru | 0:d7c2060a9a36 | 101 | pattern = 0+index; | 
| hirokuru | 0:d7c2060a9a36 | 102 | while (count<0x81) {//cols側の表示行数2進数ケタ数(20) | 
| hirokuru | 1:bde1037a0ee5 | 103 | Cols = count; | 
| hirokuru | 1:bde1037a0ee5 | 104 | if(i==0){ | 
| hirokuru | 1:bde1037a0ee5 | 105 | Rows = DotPattern1[pattern]; | 
| hirokuru | 1:bde1037a0ee5 | 106 | }else{if(i==1){ | 
| hirokuru | 1:bde1037a0ee5 | 107 | // After 500[ms] to start the process | 
| hirokuru | 1:bde1037a0ee5 | 108 | |
| hirokuru | 1:bde1037a0ee5 | 109 | timer.start(); | 
| hirokuru | 1:bde1037a0ee5 | 110 | |
| hirokuru | 1:bde1037a0ee5 | 111 | while(k<6000) { | 
| hirokuru | 1:bde1037a0ee5 | 112 | |
| hirokuru | 1:bde1037a0ee5 | 113 | if(timer.read_ms() >= 500){ | 
| hirokuru | 1:bde1037a0ee5 | 114 | timer.reset(); | 
| hirokuru | 1:bde1037a0ee5 | 115 | |
| hirokuru | 1:bde1037a0ee5 | 116 | // com0 Led off to on smooth, on to off hard | 
| hirokuru | 1:bde1037a0ee5 | 117 | wk0 = D_dotDigitalData[0][7]; | 
| hirokuru | 1:bde1037a0ee5 | 118 | for(seg = 7; seg > 0; seg--){ | 
| hirokuru | 1:bde1037a0ee5 | 119 | D_dotDigitalData[0][seg] = D_dotDigitalData[0][seg - 1]; | 
| hirokuru | 1:bde1037a0ee5 | 120 | } | 
| hirokuru | 1:bde1037a0ee5 | 121 | D_dotDigitalData[0][0] = wk0; | 
| hirokuru | 1:bde1037a0ee5 | 122 | |
| hirokuru | 1:bde1037a0ee5 | 123 | // com1 Led off to on smooth, on to off hard | 
| hirokuru | 1:bde1037a0ee5 | 124 | wk1 = D_dotDigitalData[1][7]; | 
| hirokuru | 1:bde1037a0ee5 | 125 | for(seg = 7; seg > 0; seg--){ | 
| hirokuru | 1:bde1037a0ee5 | 126 | D_dotDigitalData[1][seg] = D_dotDigitalData[1][seg - 1]; | 
| hirokuru | 1:bde1037a0ee5 | 127 | } | 
| hirokuru | 1:bde1037a0ee5 | 128 | D_dotDigitalData[1][0] = wk1; | 
| hirokuru | 1:bde1037a0ee5 | 129 | |
| hirokuru | 1:bde1037a0ee5 | 130 | // com2 Led off to on smooth, on to off hard | 
| hirokuru | 1:bde1037a0ee5 | 131 | wk2 = D_dotDigitalData[2][7]; | 
| hirokuru | 1:bde1037a0ee5 | 132 | for(seg = 7; seg > 0; seg--){ | 
| hirokuru | 1:bde1037a0ee5 | 133 | D_dotDigitalData[2][seg] = D_dotDigitalData[2][seg - 1]; | 
| hirokuru | 1:bde1037a0ee5 | 134 | } | 
| hirokuru | 1:bde1037a0ee5 | 135 | D_dotDigitalData[2][0] = wk2; | 
| hirokuru | 1:bde1037a0ee5 | 136 | |
| hirokuru | 1:bde1037a0ee5 | 137 | // com3 Led off to on smooth, on to off hard | 
| hirokuru | 1:bde1037a0ee5 | 138 | wk3 = D_dotDigitalData[3][7]; | 
| hirokuru | 1:bde1037a0ee5 | 139 | for(seg = 7; seg > 0; seg--){ | 
| hirokuru | 1:bde1037a0ee5 | 140 | D_dotDigitalData[3][seg] = D_dotDigitalData[3][seg - 1]; | 
| hirokuru | 1:bde1037a0ee5 | 141 | } | 
| hirokuru | 1:bde1037a0ee5 | 142 | D_dotDigitalData[3][0] = wk3; | 
| hirokuru | 1:bde1037a0ee5 | 143 | |
| hirokuru | 1:bde1037a0ee5 | 144 | // com4 Led off to on smooth, on to off hard | 
| hirokuru | 1:bde1037a0ee5 | 145 | wk4 = D_dotDigitalData[4][7]; | 
| hirokuru | 1:bde1037a0ee5 | 146 | for(seg = 7; seg > 0; seg--){ | 
| hirokuru | 1:bde1037a0ee5 | 147 | D_dotDigitalData[4][seg] = D_dotDigitalData[4][seg - 1]; | 
| hirokuru | 1:bde1037a0ee5 | 148 | } | 
| hirokuru | 1:bde1037a0ee5 | 149 | D_dotDigitalData[4][0] = wk4; | 
| hirokuru | 1:bde1037a0ee5 | 150 | |
| hirokuru | 1:bde1037a0ee5 | 151 | // com5 Led off to on smooth, on to off hard | 
| hirokuru | 1:bde1037a0ee5 | 152 | wk5 = D_dotDigitalData[5][7]; | 
| hirokuru | 1:bde1037a0ee5 | 153 | for(seg = 7; seg > 0; seg--){ | 
| hirokuru | 1:bde1037a0ee5 | 154 | D_dotDigitalData[5][seg] = D_dotDigitalData[5][seg - 1]; | 
| hirokuru | 1:bde1037a0ee5 | 155 | } | 
| hirokuru | 1:bde1037a0ee5 | 156 | D_dotDigitalData[5][0] = wk5; | 
| hirokuru | 1:bde1037a0ee5 | 157 | |
| hirokuru | 1:bde1037a0ee5 | 158 | // com6 Led off to on smooth, on to off hard | 
| hirokuru | 1:bde1037a0ee5 | 159 | wk6 = D_dotDigitalData[6][7]; | 
| hirokuru | 1:bde1037a0ee5 | 160 | for(seg = 7; seg > 0; seg--){ | 
| hirokuru | 1:bde1037a0ee5 | 161 | D_dotDigitalData[6][seg] = D_dotDigitalData[6][seg - 1]; | 
| hirokuru | 1:bde1037a0ee5 | 162 | } | 
| hirokuru | 1:bde1037a0ee5 | 163 | D_dotDigitalData[6][0] = wk6; | 
| hirokuru | 1:bde1037a0ee5 | 164 | |
| hirokuru | 1:bde1037a0ee5 | 165 | // com7 Led off to on smooth, on to off hard | 
| hirokuru | 1:bde1037a0ee5 | 166 | wk7 = D_dotDigitalData[7][7]; | 
| hirokuru | 1:bde1037a0ee5 | 167 | for(seg = 7; seg > 0; seg--){ | 
| hirokuru | 1:bde1037a0ee5 | 168 | D_dotDigitalData[7][seg] = D_dotDigitalData[7][seg - 1]; | 
| hirokuru | 1:bde1037a0ee5 | 169 | } | 
| hirokuru | 1:bde1037a0ee5 | 170 | D_dotDigitalData[7][0] = wk7; | 
| hirokuru | 1:bde1037a0ee5 | 171 | } | 
| hirokuru | 1:bde1037a0ee5 | 172 | |
| hirokuru | 1:bde1037a0ee5 | 173 | // This function, please repeat the process in less than 1ms. | 
| hirokuru | 1:bde1037a0ee5 | 174 | segmentled.EightDotMatrixLed_main((uint8_t*)D_dotGrayData, (uint8_t*)D_dotDigitalData); | 
| hirokuru | 1:bde1037a0ee5 | 175 | k++; | 
| hirokuru | 1:bde1037a0ee5 | 176 | } | 
| hirokuru | 1:bde1037a0ee5 | 177 | }{ | 
| hirokuru | 1:bde1037a0ee5 | 178 | i=0; | 
| hirokuru | 1:bde1037a0ee5 | 179 | k=0; | 
| hirokuru | 1:bde1037a0ee5 | 180 | } | 
| hirokuru | 1:bde1037a0ee5 | 181 | |
| hirokuru | 1:bde1037a0ee5 | 182 | } | 
| hirokuru | 1:bde1037a0ee5 | 183 | |
| hirokuru | 0:d7c2060a9a36 | 184 | wait_ms(3); | 
| hirokuru | 0:d7c2060a9a36 | 185 | count = count*2; | 
| hirokuru | 0:d7c2060a9a36 | 186 | pattern++; | 
| hirokuru | 0:d7c2060a9a36 | 187 | } | 
| hirokuru | 1:bde1037a0ee5 | 188 | loop++; | 
| hirokuru | 1:bde1037a0ee5 | 189 | } | 
| hirokuru | 1:bde1037a0ee5 | 190 | index++; | 
| hirokuru | 0:d7c2060a9a36 | 191 | |
| hirokuru | 0:d7c2060a9a36 | 192 | } | 
| hirokuru | 1:bde1037a0ee5 | 193 | i++;} | 
| hirokuru | 0:d7c2060a9a36 | 194 | } | 
| hirokuru | 1:bde1037a0ee5 | 195 | |
| hirokuru | 1:bde1037a0ee5 | 196 | |
| hirokuru | 1:bde1037a0ee5 | 197 | |
| hirokuru | 1:bde1037a0ee5 | 198 | |
| hirokuru | 1:bde1037a0ee5 | 199 | |
| hirokuru | 1:bde1037a0ee5 | 200 | |
| hirokuru | 1:bde1037a0ee5 | 201 | |
| hirokuru | 1:bde1037a0ee5 | 202 | |
| hirokuru | 1:bde1037a0ee5 | 203 | |
| hirokuru | 1:bde1037a0ee5 | 204 | |
| hirokuru | 1:bde1037a0ee5 | 205 | |
| hirokuru | 1:bde1037a0ee5 | 206 | |
| hirokuru | 1:bde1037a0ee5 | 207 | |
| hirokuru | 1:bde1037a0ee5 | 208 | |
| hirokuru | 1:bde1037a0ee5 | 209 | |
| hirokuru | 1:bde1037a0ee5 | 210 | |
| hirokuru | 1:bde1037a0ee5 | 211 |