Aliexpressなどで販売されている64x32のフルカラードットマトリクスLED2枚とNucleo F401REを利用して、 E233系の駅停車時、路線名表示ありのLED側面行先表示を再現するプログラムです。 3秒間隔、3段階切替で、路線名、種別、行先、次停車駅を個別に指定することが可能です。
Dependencies: SDFileSystem mbed
main.cpp@33:c934bc793c5a, 2015-03-19 (annotated)
- Committer:
- chirashi
- Date:
- Thu Mar 19 10:55:18 2015 +0000
- Revision:
- 33:c934bc793c5a
- Parent:
- 32:3bf210e07de7
- Child:
- 34:9ee64899b004
.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
chirashi | 33:c934bc793c5a | 1 | //E233SideLED E233系側面LED再現 |
chirashi | 33:c934bc793c5a | 2 | //Ver:0.90 |
RRacer | 0:1f58ecec51d6 | 3 | |
chirashi | 33:c934bc793c5a | 4 | //簡単な説明,また表示データを以下で配布しています。 |
chirashi | 33:c934bc793c5a | 5 | //https://chirashitech.wordpress.com/ |
chirashi | 33:c934bc793c5a | 6 | |
chirashi | 33:c934bc793c5a | 7 | //このソースはSDカードが存在することが前提です。 |
chirashi | 33:c934bc793c5a | 8 | //SDカードがない状態で停車駅スクロールが有効になっている場合エラー文が出力されるため起動までに時間がかかります。 |
chirashi | 33:c934bc793c5a | 9 | //SDカードがない場合ScrollEnableを0にしてください。 |
chirashi | 33:c934bc793c5a | 10 | |
RRacer | 0:1f58ecec51d6 | 11 | |
RRacer | 0:1f58ecec51d6 | 12 | #include "mbed.h" |
chirashi | 13:0c542447e6da | 13 | #include "SDFileSystem.h" |
chirashi | 13:0c542447e6da | 14 | |
chirashi | 23:6fb1181345a7 | 15 | #define bitRead(value, bit) (((value) >> (bit)) & 0x01) |
chirashi | 23:6fb1181345a7 | 16 | #define bitSet(value, bit) ((value) |= (1UL << (bit))) |
chirashi | 23:6fb1181345a7 | 17 | #define bitClear(value, bit) ((value) &= ~(1UL << (bit))) |
chirashi | 23:6fb1181345a7 | 18 | #define bitWrite(value, bit, bitvalue) (bitvalue ? bitSet(value, bit) : bitClear(value, bit)) |
chirashi | 23:6fb1181345a7 | 19 | |
RRacer | 0:1f58ecec51d6 | 20 | #define LOW 0 |
RRacer | 0:1f58ecec51d6 | 21 | #define HIGH 1 |
RRacer | 0:1f58ecec51d6 | 22 | |
chirashi | 6:e6cb4a476422 | 23 | #define R_Debug1 0 |
chirashi | 6:e6cb4a476422 | 24 | #define R_Debug2 0 |
chirashi | 6:e6cb4a476422 | 25 | #define R_Debug3 0 |
chirashi | 6:e6cb4a476422 | 26 | #define R_Debug4 0 |
chirashi | 6:e6cb4a476422 | 27 | |
chirashi | 6:e6cb4a476422 | 28 | #define G_Debug1 0 |
chirashi | 6:e6cb4a476422 | 29 | #define G_Debug2 0 |
chirashi | 6:e6cb4a476422 | 30 | #define G_Debug3 0 |
chirashi | 6:e6cb4a476422 | 31 | #define G_Debug4 0 |
chirashi | 6:e6cb4a476422 | 32 | |
chirashi | 6:e6cb4a476422 | 33 | #define B_Debug1 0 |
chirashi | 6:e6cb4a476422 | 34 | #define B_Debug2 0 |
chirashi | 6:e6cb4a476422 | 35 | #define B_Debug3 0 |
chirashi | 6:e6cb4a476422 | 36 | #define B_Debug4 0 |
chirashi | 6:e6cb4a476422 | 37 | |
chirashi | 29:bc82c25b6b94 | 38 | //表示幅を増やす場合ここ以外も変更が必要 |
chirashi | 11:4be8dcbad9f1 | 39 | #define LED_Width 128 |
chirashi | 10:4d9cf202a845 | 40 | #define LED_Height 16 |
chirashi | 6:e6cb4a476422 | 41 | |
chirashi | 33:c934bc793c5a | 42 | //表示処理Wait |
chirashi | 33:c934bc793c5a | 43 | //ここを変更することで輝度調整可能 |
chirashi | 33:c934bc793c5a | 44 | //ただし消費電力も変動します。出力に余裕のない電源を利用している場合変更しないでください |
chirashi | 21:b536f614ba71 | 45 | #define DisplayWait 15 |
chirashi | 21:b536f614ba71 | 46 | |
chirashi | 24:7232abdf7884 | 47 | //最大停車駅数 |
chirashi | 24:7232abdf7884 | 48 | #define MaxStopStation 100 |
chirashi | 24:7232abdf7884 | 49 | |
chirashi | 30:3ac9aa4faa34 | 50 | //将来的な複数機器連動用の機器ID |
chirashi | 30:3ac9aa4faa34 | 51 | //0:全機器一斉送信用 1:前面LED 2:側面LED(暫定) |
chirashi | 30:3ac9aa4faa34 | 52 | #define DeviceID 2 |
chirashi | 30:3ac9aa4faa34 | 53 | |
chirashi | 30:3ac9aa4faa34 | 54 | |
chirashi | 27:3dccc05e760b | 55 | //SDCard |
chirashi | 27:3dccc05e760b | 56 | //MOSI - D11(PA7) |
chirashi | 27:3dccc05e760b | 57 | //MISO - D12(PA6) |
chirashi | 27:3dccc05e760b | 58 | //SCK - D13(PA5) |
chirashi | 27:3dccc05e760b | 59 | //CS - D10(PB6) |
chirashi | 27:3dccc05e760b | 60 | |
chirashi | 13:0c542447e6da | 61 | SDFileSystem sd(D11, D12, D13, D10, "sd"); |
chirashi | 27:3dccc05e760b | 62 | |
chirashi | 30:3ac9aa4faa34 | 63 | //Serial USB |
chirashi | 13:0c542447e6da | 64 | Serial pc(USBTX,USBRX ); |
chirashi | 27:3dccc05e760b | 65 | |
chirashi | 30:3ac9aa4faa34 | 66 | //Bluetooth Serial6 |
chirashi | 30:3ac9aa4faa34 | 67 | //Serial pc(PA_11,PA_12 ); |
chirashi | 30:3ac9aa4faa34 | 68 | |
chirashi | 30:3ac9aa4faa34 | 69 | |
chirashi | 27:3dccc05e760b | 70 | //LEDModule |
chirashi | 29:bc82c25b6b94 | 71 | //R1,R2,G1,G2,B1,B2はモジュールによりコネクタのピンアサインが異なります。 |
chirashi | 29:bc82c25b6b94 | 72 | //色が違う場合DigitalOutのピンアサインを変更してください。 |
chirashi | 29:bc82c25b6b94 | 73 | |
chirashi | 27:3dccc05e760b | 74 | //R1 - D4(PB5) |
chirashi | 27:3dccc05e760b | 75 | //R2 - D5(PB4) |
chirashi | 27:3dccc05e760b | 76 | //G1 - D6(PB10) |
chirashi | 27:3dccc05e760b | 77 | //G2 - D7(PA8) |
chirashi | 27:3dccc05e760b | 78 | //B1 - D2(PA10) |
chirashi | 27:3dccc05e760b | 79 | //B2 - D3(PB3) |
chirashi | 30:3ac9aa4faa34 | 80 | //or |
chirashi | 30:3ac9aa4faa34 | 81 | //R1 - D6(PB5) |
chirashi | 30:3ac9aa4faa34 | 82 | //R2 - D7(PB4) |
chirashi | 30:3ac9aa4faa34 | 83 | //G1 - D2(PB10) |
chirashi | 30:3ac9aa4faa34 | 84 | //G2 - D3(PA8) |
chirashi | 30:3ac9aa4faa34 | 85 | //B1 - D4(PA10) |
chirashi | 30:3ac9aa4faa34 | 86 | //B2 - D5(PB3) |
chirashi | 27:3dccc05e760b | 87 | |
chirashi | 27:3dccc05e760b | 88 | //A - D8(PA9) |
chirashi | 27:3dccc05e760b | 89 | //B - D9(PC7) |
chirashi | 27:3dccc05e760b | 90 | //C - PB13 |
chirashi | 27:3dccc05e760b | 91 | //D - PC5 |
chirashi | 27:3dccc05e760b | 92 | |
chirashi | 27:3dccc05e760b | 93 | //CLK - PB14 |
chirashi | 27:3dccc05e760b | 94 | //LAT - PB15 |
chirashi | 27:3dccc05e760b | 95 | //OE - PB1 |
chirashi | 27:3dccc05e760b | 96 | |
chirashi | 21:b536f614ba71 | 97 | BusOut ABC(D8,D9,PB_13,PC_5); // Row address. |
chirashi | 13:0c542447e6da | 98 | DigitalOut CLK(PB_14); // Data clock - rising edge |
chirashi | 13:0c542447e6da | 99 | DigitalOut LAT(PB_15); // Data latch - active low (pulse up after data load) |
chirashi | 13:0c542447e6da | 100 | DigitalOut OE(PB_1); // Output enable - active low (hold high during data load, bring low after LAT pulse) |
chirashi | 21:b536f614ba71 | 101 | |
chirashi | 30:3ac9aa4faa34 | 102 | DigitalOut R1(D4); // RED Serial in for upper half |
chirashi | 30:3ac9aa4faa34 | 103 | DigitalOut R2(D5); // RED Serial in for lower half |
chirashi | 30:3ac9aa4faa34 | 104 | DigitalOut G1(D6); // GREEN Serial in for upper half |
chirashi | 30:3ac9aa4faa34 | 105 | DigitalOut G2(D7); // GREEN Serial in for lower half |
chirashi | 30:3ac9aa4faa34 | 106 | DigitalOut B1(D2); // BLUE Serial in for upper half |
chirashi | 30:3ac9aa4faa34 | 107 | DigitalOut B2(D3); // BLUE Serial in for lower half |
chirashi | 21:b536f614ba71 | 108 | |
chirashi | 21:b536f614ba71 | 109 | |
chirashi | 21:b536f614ba71 | 110 | |
chirashi | 12:680db9f1f4eb | 111 | |
chirashi | 12:680db9f1f4eb | 112 | |
chirashi | 29:bc82c25b6b94 | 113 | //SumSW(現状未使用) |
chirashi | 13:0c542447e6da | 114 | DigitalOut SCK(PB_7); |
chirashi | 13:0c542447e6da | 115 | DigitalOut SI(PC_13); |
chirashi | 13:0c542447e6da | 116 | DigitalOut RCK(PC_14); |
chirashi | 13:0c542447e6da | 117 | |
chirashi | 13:0c542447e6da | 118 | DigitalIn SumSW1(PA_0); |
chirashi | 13:0c542447e6da | 119 | DigitalIn SumSW2(PA_1); |
chirashi | 13:0c542447e6da | 120 | DigitalIn SumSW4(PA_4); |
chirashi | 13:0c542447e6da | 121 | DigitalIn SumSW8(PB_0); |
chirashi | 14:0f4d44927b20 | 122 | //BusIn SumSWNum(PA_0,PA_1,PA_4,PB_0); |
chirashi | 13:0c542447e6da | 123 | |
chirashi | 29:bc82c25b6b94 | 124 | |
chirashi | 29:bc82c25b6b94 | 125 | //表示切替用タイマ |
chirashi | 8:9d22c9910917 | 126 | Ticker ChangeTimer; |
chirashi | 33:c934bc793c5a | 127 | //スクロール用タイマ |
chirashi | 22:ebab951db9f6 | 128 | Ticker ScrollTimer; |
chirashi | 13:0c542447e6da | 129 | |
chirashi | 14:0f4d44927b20 | 130 | //Debug |
chirashi | 21:b536f614ba71 | 131 | bool Debug = 0; |
chirashi | 13:0c542447e6da | 132 | |
chirashi | 13:0c542447e6da | 133 | |
chirashi | 33:c934bc793c5a | 134 | //Mode(未使用?) |
chirashi | 19:26e0fae24da6 | 135 | //1固定 |
chirashi | 19:26e0fae24da6 | 136 | int WriteMode = 1; |
chirashi | 19:26e0fae24da6 | 137 | |
chirashi | 19:26e0fae24da6 | 138 | |
chirashi | 19:26e0fae24da6 | 139 | |
chirashi | 19:26e0fae24da6 | 140 | //1:3段階 LEDBuffer-LEDBuffer2-LEDBuffer3 |
chirashi | 33:c934bc793c5a | 141 | //2:2段階 LEDBuffer5-LEDBuffer6 |
chirashi | 33:c934bc793c5a | 142 | //3:固定 LEDBuffer |
chirashi | 33:c934bc793c5a | 143 | //4:2段階 LEDBuffer2-LEDBuffer3(次駅あり) |
chirashi | 33:c934bc793c5a | 144 | //5:4段階 LEDBuffer-LEDBuffer4-LEDBuffer2-LEDBuffer3 |
chirashi | 19:26e0fae24da6 | 145 | int DisplayMode = 1; |
chirashi | 19:26e0fae24da6 | 146 | |
chirashi | 33:c934bc793c5a | 147 | //スクロール有効/無効 |
chirashi | 28:4cc6aa3acd92 | 148 | bool Scroll = 1; |
chirashi | 22:ebab951db9f6 | 149 | |
chirashi | 26:99c72fe9366e | 150 | //起動時スクロール読み込み有効/無効(SDがない場合0にする) |
chirashi | 29:bc82c25b6b94 | 151 | //(1になっている場合SDカードが刺さっていないと起動に数分かかります) |
chirashi | 28:4cc6aa3acd92 | 152 | bool ScrollEnable = 1; |
chirashi | 22:ebab951db9f6 | 153 | |
chirashi | 33:c934bc793c5a | 154 | |
chirashi | 17:95bcbc53d96b | 155 | int ChangeCount = 0; |
chirashi | 33:c934bc793c5a | 156 | //路線コード |
chirashi | 32:3bf210e07de7 | 157 | int LineNumber = 1; |
chirashi | 33:c934bc793c5a | 158 | //種別コード |
chirashi | 24:7232abdf7884 | 159 | int KindNumber = 22; |
chirashi | 33:c934bc793c5a | 160 | //行先コード |
chirashi | 24:7232abdf7884 | 161 | int ForNumber = 114; |
chirashi | 33:c934bc793c5a | 162 | //次駅コード |
chirashi | 17:95bcbc53d96b | 163 | int NextStaNumber = 1; |
chirashi | 33:c934bc793c5a | 164 | //運用パターン番号 |
chirashi | 32:3bf210e07de7 | 165 | int RoutePatternNumber = 1; |
chirashi | 33:c934bc793c5a | 166 | //始発駅コード |
chirashi | 32:3bf210e07de7 | 167 | int DeptStaNumber = 3; |
chirashi | 33:c934bc793c5a | 168 | //終着駅コード |
chirashi | 32:3bf210e07de7 | 169 | int TermStaNumber = 32; |
chirashi | 32:3bf210e07de7 | 170 | |
chirashi | 33:c934bc793c5a | 171 | |
chirashi | 33:c934bc793c5a | 172 | char SerialBuffer[60]; |
chirashi | 30:3ac9aa4faa34 | 173 | //シリアル処理用バッファ |
chirashi | 33:c934bc793c5a | 174 | char ABuffer[60]; |
chirashi | 30:3ac9aa4faa34 | 175 | bool busyflag = false; |
chirashi | 17:95bcbc53d96b | 176 | int count = 0; |
chirashi | 13:0c542447e6da | 177 | |
chirashi | 33:c934bc793c5a | 178 | //スクロール用変数 |
chirashi | 22:ebab951db9f6 | 179 | int ScrollCount = 0; |
chirashi | 23:6fb1181345a7 | 180 | int ScrollWriteCount = 80; |
chirashi | 22:ebab951db9f6 | 181 | |
chirashi | 22:ebab951db9f6 | 182 | |
chirashi | 13:0c542447e6da | 183 | //SDCardFilePath |
chirashi | 17:95bcbc53d96b | 184 | char SDFilePath[80]= "/sd/a.txt"; |
chirashi | 13:0c542447e6da | 185 | |
chirashi | 33:c934bc793c5a | 186 | unsigned long CT; |
chirashi | 29:bc82c25b6b94 | 187 | |
chirashi | 29:bc82c25b6b94 | 188 | //StopStationCode:停車駅コード(最大100駅 それ以上の場合MaxStopStationを増やしてください) |
chirashi | 29:bc82c25b6b94 | 189 | //停車駅コード終端は0にする |
chirashi | 29:bc82c25b6b94 | 190 | //StationNameLength:駅名の文字数(最大8文字) |
chirashi | 24:7232abdf7884 | 191 | int StopStationCode[MaxStopStation] = {320,319,318,317,316,315,314,313,312,311,310,309,308,307,306,305,304,303,302,301,351,352,353,354,355,356,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,0}; |
chirashi | 23:6fb1181345a7 | 192 | int StationNameLength[100] = {0,2,2,4,3,3,3,3,3,4,3,2,3,3,2,3,4,2,3,3,2,3,4,5,3,4,2,2,2,2,3,4,2,3,2,3,3,2,2,2,2,3,3,2,2,3,3,7,4,2,3,1,5,3,3,3,8,3}; |
chirashi | 23:6fb1181345a7 | 193 | |
chirashi | 23:6fb1181345a7 | 194 | |
chirashi | 13:0c542447e6da | 195 | |
chirashi | 13:0c542447e6da | 196 | |
chirashi | 33:c934bc793c5a | 197 | int8_t LEDBuffer [32][LED_Width] = { |
chirashi | 12:680db9f1f4eb | 198 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 199 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 200 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 201 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 202 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 203 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 204 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 205 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 206 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 207 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,15,15,15,15,15,15,7,7,7,7,7,7,7,7,7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 208 | {0,0,0,0,15,15,15,15,15,15,15,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 209 | {15,15,15,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 210 | {0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,15,15,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 211 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 212 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,7,7,7,0,0,0,0,0,0,0,0,7,7,7,0,0,7,7,7,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,7,15,0,0,0,0,0,0,0,0,0,0,0,15,7,7,7,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 213 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,7,7,7,0,0,0,0,0,0,0,0,7,7,7,0,0,7,7,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,7,7,7,15,0,0,0,0,0,0,0,0,0,15,7,7,7,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 214 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,7,7,7,7,0,0,0,0,0,0,0,7,7,7,0,0,7,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,7,7,7,15,0,0,0,0,0,0,0,15,7,7,7,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 215 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,7,7,7,7,7,0,0,0,0,0,0,7,7,7,0,0,0,0,0,0,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,15,0,0,0,0,0,15,7,7,7,0,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 216 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,7,7,7,7,7,7,0,0,0,0,0,7,7,7,0,0,0,0,0,0,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,15,0,0,0,15,7,7,7,0,0,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 217 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,7,7,7,7,7,7,7,0,0,0,0,7,7,7,0,0,0,0,0,0,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,15,0,15,7,7,7,0,0,0,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 218 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,7,7,7,7,7,7,7,7,0,0,0,7,7,7,0,0,0,0,0,0,7,7,7,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,7,7,15,1,15,7,7,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 219 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,7,7,7,0,7,7,7,7,7,0,0,7,7,7,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 220 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,7,7,7,0,0,7,7,7,7,7,0,7,7,7,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 221 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,7,7,7,0,0,0,7,7,7,7,7,7,7,7,0,0,0,0,0,0,7,7,7,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,15,7,1,1,1,7,15,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 222 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,7,7,7,0,0,0,0,7,7,7,7,7,7,7,0,0,0,0,0,0,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,7,7,7,0,7,7,7,15,0,0,0,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 223 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,7,7,7,0,0,0,0,0,7,7,7,7,7,7,0,0,0,0,0,0,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,7,7,7,0,0,0,7,7,7,15,0,0,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 224 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,7,7,7,0,0,0,0,0,0,7,7,7,7,7,0,0,0,0,0,0,7,7,7,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,15,7,7,7,0,0,0,0,0,7,7,7,15,0,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 225 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,7,7,7,0,0,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,15,7,7,7,0,0,0,0,0,0,0,7,7,7,15,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 226 | {14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,15,7,7,7,14,14,14,14,14,14,14,14,7,7,7,14,14,14,14,14,14,7,7,7,7,7,7,7,7,7,7,7,7,7,7,14,14,15,7,7,7,14,14,14,14,14,14,14,14,14,7,7,7,15,14,14,14,14,14}, |
chirashi | 12:680db9f1f4eb | 227 | {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,7,7,1,1,1,1,1,1,1,1,1,7,7,1,1,1,1,1,1,7,7,7,7,7,7,7,7,7,7,7,7,7,7,1,1,7,7,7,1,1,1,1,1,1,1,1,1,1,1,7,7,7,1,1,1,1,1}, |
chirashi | 12:680db9f1f4eb | 228 | {14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14}, |
chirashi | 12:680db9f1f4eb | 229 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} |
chirashi | 12:680db9f1f4eb | 230 | |
chirashi | 9:ab87b0e361aa | 231 | |
chirashi | 8:9d22c9910917 | 232 | }; |
chirashi | 6:e6cb4a476422 | 233 | |
chirashi | 33:c934bc793c5a | 234 | int8_t LEDBuffer2[32][LED_Width] = { |
chirashi | 14:0f4d44927b20 | 235 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,7,7,7,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 236 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,7,7,7,7,0,0,7,7,7,7,7,7,7,7,7,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,7,7,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 237 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,7,7,7,7,0,7,7,7,7,7,7,7,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,7,7,0,0,7,7,0,0,0,7,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 238 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,7,7,0,0,7,7,7,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 239 | {9,9,9,9,7,7,9,9,9,9,9,9,9,9,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,9,9,9,9,9,9,9,9,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,7,0,0,0,0,0,7,7,7,7,7,7,7,7,7,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,7,7,7,7,7,7,0,0,7,7,0,7,7,7,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 240 | {9,9,9,9,7,7,9,9,9,9,9,9,9,9,7,7,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,7,7,9,9,9,9,9,9,9,9,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,7,7,7,7,0,0,0,7,7,7,7,7,7,7,7,7,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,7,7,7,7,7,7,0,0,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 241 | {9,9,9,9,7,7,9,9,9,9,9,9,9,9,7,7,9,9,9,9,9,9,9,9,9,9,7,7,7,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,0,0,0,7,7,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,7,7,7,7,0,0,7,7,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,0,0,0,0,0,0,7,7,0,0,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 242 | {9,9,9,9,7,7,9,9,9,9,9,9,9,9,7,7,9,9,9,9,9,9,9,9,9,9,9,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,7,0,0,0,7,7,0,0,7,7,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,7,7,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 243 | {9,7,7,9,7,7,7,9,9,7,7,7,7,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,7,7,9,9,9,9,9,9,9,9,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,7,0,0,7,7,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,0,0,0,0,0,0,7,7,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 244 | {9,7,7,9,7,7,9,7,9,7,7,7,7,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,7,7,7,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 245 | {9,7,7,9,7,7,9,7,7,9,9,9,9,9,7,7,9,9,9,7,7,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,9,0,0,0,0,7,0,0,0,7,7,0,0,0,7,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,7,7,7,7,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 246 | {9,7,7,9,7,7,9,7,7,9,9,9,9,9,7,7,9,9,9,7,7,9,9,9,9,9,9,9,9,9,9,9,7,7,9,9,9,9,7,7,9,9,9,9,7,7,9,9,0,0,0,7,7,7,0,0,7,7,0,0,7,7,7,0,0,0,0,0,0,7,7,0,0,0,7,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,7,7,7,7,7,7,0,0,7,7,0,0,0,7,7,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 247 | {9,7,7,9,7,7,9,7,7,9,9,9,9,9,7,7,9,9,9,7,7,9,9,9,9,9,9,9,9,9,9,9,7,7,9,9,9,9,7,7,9,9,9,9,7,7,9,9,0,0,7,7,7,0,0,0,7,7,0,0,0,7,7,7,7,0,0,0,7,7,7,0,7,7,7,7,0,0,0,7,7,7,7,0,0,0,0,0,7,7,7,0,7,7,0,7,7,7,0,0,0,0,0,7,7,7,7,0,7,7,0,0,7,7,0,0,0,7,7,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 248 | {9,7,7,9,7,7,9,9,9,9,9,9,9,9,7,7,9,9,9,7,7,9,9,9,9,7,7,7,7,7,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,9,0,7,7,7,0,0,7,7,7,7,0,0,0,0,7,7,7,7,0,7,7,7,0,7,7,7,7,0,0,0,0,0,7,7,7,7,0,7,7,7,7,7,0,0,7,7,0,0,7,7,7,7,7,0,0,0,7,0,0,0,7,7,0,0,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 249 | {9,7,7,9,7,7,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,9,7,7,7,7,7,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,9,0,0,7,0,0,0,0,7,7,0,0,0,0,0,0,7,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,0,0,7,0,0,7,7,7,7,0,0,0,7,7,0,0,0,7,7,7,7,0,0,0,0,0,0,0,7,7,0,0,0,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 250 | {9,9,9,9,7,7,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,9,9,9,9,7,7,9,9,9,9,9,9,9,7,7,7,7,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 251 | {9,9,9,9,7,7,9,9,9,9,9,9,9,9,7,7,7,9,9,9,9,9,9,9,9,9,9,9,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,7,7,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 252 | {9,9,9,9,7,7,9,9,9,9,9,9,9,9,7,7,7,9,9,9,9,9,9,9,9,9,9,9,7,7,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,7,7,7,7,7,7,7,7,0,0,0,0,0,0,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,0,0,7,7,7,0,0,0,7,7,7,7,7,7,7,7,0,0}, |
chirashi | 14:0f4d44927b20 | 253 | {9,9,9,9,7,7,9,9,9,9,9,9,9,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,7,7,9,9,9,7,7,7,7,9,7,7,9,7,7,7,7,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,7,7,7,7,7,7,7,7,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,7,7,0,7,0,0,7,7,7,7,7,7,7,7,0,0}, |
chirashi | 14:0f4d44927b20 | 254 | {9,9,9,9,7,7,9,9,9,9,9,9,9,7,7,9,7,7,9,9,9,9,9,9,9,9,9,9,7,7,9,7,7,7,7,7,9,9,7,7,9,9,7,7,7,7,7,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,0,0,0,0,7,7,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,7,7,0,7,7,0,0,7,7,0,0,0,0,7,7,0,0}, |
chirashi | 14:0f4d44927b20 | 255 | {9,9,9,9,7,7,9,9,9,9,9,9,7,7,7,9,7,7,7,9,9,9,9,9,9,9,9,9,7,7,9,7,7,7,9,9,9,9,7,7,9,9,9,9,7,7,7,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,0,0,7,7,7,7,7,7,7,7,0,0}, |
chirashi | 14:0f4d44927b20 | 256 | {9,9,9,9,7,7,9,9,9,9,9,7,7,7,9,9,9,7,7,7,9,9,9,9,9,9,9,7,7,7,7,9,9,9,9,9,9,9,7,7,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,7,7,7,7,7,7,7,7,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,7,7,7,7,0,0,0,7,7,0,0,0,0,7,7,0,0}, |
chirashi | 14:0f4d44927b20 | 257 | {9,9,9,9,7,7,9,9,9,7,7,7,7,9,9,9,9,9,7,7,7,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,7,7,7,0,0,7,7,0,0,0,0,7,7,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,7,7,0,7,7,0,7,7,7,7,7,7,7,7,0,0}, |
chirashi | 14:0f4d44927b20 | 258 | {9,9,9,9,7,7,9,7,7,7,7,7,9,9,9,9,9,9,9,7,7,7,7,9,9,7,7,7,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,0,0,0,0,0,7,7,7,7,0,7,7,7,7,7,7,7,7,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,0,7,7,7,7,7,7,7,7,0,0}, |
chirashi | 14:0f4d44927b20 | 259 | {9,9,9,9,7,7,9,7,7,7,9,9,9,9,9,9,9,9,9,9,7,7,7,9,9,9,7,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,7,7,0,0,7,7,0,7,7,7,7,7,7,7,7,7,7,0,0,0,7,7,7,7,7,7,7,7,0,0,0,7,7,0,0,0,7,0}, |
chirashi | 14:0f4d44927b20 | 260 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,7,7,7,7,7,0,7,7,7,0,7,7,0,0,0,7,7,0,0,0,7,7,0,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,7,7,0,7,7,7,7,0,7,7,7,0,0,7,0}, |
chirashi | 14:0f4d44927b20 | 261 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,7,7,0,0,7,7,0,7,7,7,0,7,7,0,0,0,0,7,7,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,7,7,7,0,0,0,7,0,7,7,7,0,7,0,0}, |
chirashi | 14:0f4d44927b20 | 262 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,7,7,0,0,7,7,7,7,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,7,7,0,7,7,0,7,0,0,7,0,7,7,7,7,0,0,0}, |
chirashi | 14:0f4d44927b20 | 263 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,7,7,0,0,0,7,7,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,7,7,0,7,7,0,7,0,7,7,0,7,7,0,7,0,0,0}, |
chirashi | 14:0f4d44927b20 | 264 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,7,7,7,7,0,7,7,7,0,0,0,0,7,7,7,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,7,7,0,0,0,7,0,0,7,7,0,7,7,0,0}, |
chirashi | 14:0f4d44927b20 | 265 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,7,7,7,7,0,0,0,7,7,7,7,0,7,7,7,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,7,7,0,7,7,0,7,7,7,7,0,0,7,7,0}, |
chirashi | 14:0f4d44927b20 | 266 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,7,7,0,0,0,0,0,0,7,7,0,0,0,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,7,7,0,0,0,0,0,0} |
chirashi | 8:9d22c9910917 | 267 | |
chirashi | 8:9d22c9910917 | 268 | }; |
chirashi | 8:9d22c9910917 | 269 | |
chirashi | 33:c934bc793c5a | 270 | int8_t LEDBuffer3[32][LED_Width] = { |
chirashi | 12:680db9f1f4eb | 271 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 272 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 273 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,7,7,0,7,7,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 274 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,7,7,0,7,7,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 275 | {9,9,9,9,7,7,9,9,9,9,9,9,9,9,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,0,0,0,7,7,0,7,7,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 276 | {9,9,9,9,7,7,9,9,9,9,9,9,9,9,7,7,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,7,7,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,0,0,0,7,7,0,7,7,7,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 277 | {9,9,9,9,7,7,9,9,9,9,9,9,9,9,7,7,9,9,9,9,9,9,9,9,9,9,7,7,7,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,7,7,0,0,7,7,0,0,0,7,7,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 278 | {9,9,9,9,7,7,9,9,9,9,9,9,9,9,7,7,9,9,9,9,9,9,9,9,9,9,9,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,7,7,0,7,7,0,0,7,7,0,0,0,7,7,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 279 | {9,7,7,9,7,7,7,9,9,7,7,7,7,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,7,7,9,9,9,9,9,9,9,9,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,7,7,0,7,7,0,7,7,7,0,0,0,7,7,7,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 280 | {9,7,7,9,7,7,9,7,9,7,7,7,7,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,7,7,0,7,7,0,7,7,0,0,0,0,0,7,7,7,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 281 | {9,7,7,9,7,7,9,7,7,9,9,9,9,9,7,7,9,9,9,7,7,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,7,7,7,7,7,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 282 | {9,7,7,9,7,7,9,7,7,9,9,9,9,9,7,7,9,9,9,7,7,9,9,9,9,9,9,9,9,9,9,9,7,7,9,9,9,9,7,7,9,9,9,9,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,0,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 283 | {9,7,7,9,7,7,9,7,7,9,9,9,9,9,7,7,9,9,9,7,7,9,9,9,9,9,9,9,9,9,9,9,7,7,9,9,9,9,7,7,9,9,9,9,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 284 | {9,7,7,9,7,7,9,9,9,9,9,9,9,9,7,7,9,9,9,7,7,9,9,9,9,7,7,7,7,7,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,7,7,0,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 285 | {9,7,7,9,7,7,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,9,7,7,7,7,7,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,7,7,0,7,7,0,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 286 | {9,9,9,9,7,7,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,9,9,9,9,7,7,9,9,9,9,9,9,9,7,7,7,7,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,7,7,0,7,7,0,7,7,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 287 | {9,9,9,9,7,7,9,9,9,9,9,9,9,9,7,7,7,9,9,9,9,9,9,9,9,9,9,9,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,7,7,0,7,7,0,7,7,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 288 | {9,9,9,9,7,7,9,9,9,9,9,9,9,9,7,7,7,9,9,9,9,9,9,9,9,9,9,9,7,7,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,7,7,0,7,7,0,7,7,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 289 | {9,9,9,9,7,7,9,9,9,9,9,9,9,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,7,7,9,9,9,7,7,7,7,9,7,7,9,7,7,7,7,9,9,9,0,0,0,0,0,0,0,0,0,0,0,7,7,7,0,0,0,0,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,7,7,0,7,7,0,7,7,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 290 | {9,9,9,9,7,7,9,9,9,9,9,9,9,7,7,9,7,7,9,9,9,9,9,9,9,9,9,9,7,7,9,7,7,7,7,7,9,9,7,7,9,9,7,7,7,7,7,9,0,0,0,0,0,0,0,0,0,0,7,7,7,0,0,0,0,0,0,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,7,7,0,7,7,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 291 | {9,9,9,9,7,7,9,9,9,9,9,9,7,7,7,9,7,7,7,9,9,9,9,9,9,9,9,9,7,7,9,7,7,7,9,9,9,9,7,7,9,9,9,9,7,7,7,9,0,0,0,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,0,0,0,0,7,7,0,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 292 | {9,9,9,9,7,7,9,9,9,9,9,7,7,7,9,9,9,7,7,7,9,9,9,9,9,9,9,7,7,7,7,9,9,9,9,9,9,9,7,7,9,9,9,9,9,9,9,9,0,0,0,0,0,0,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,7,7,7,7,0,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 293 | {9,9,9,9,7,7,9,9,9,7,7,7,7,9,9,9,9,9,7,7,7,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,7,7,7,0,0,7,7,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 294 | {9,9,9,9,7,7,9,7,7,7,7,7,9,9,9,9,9,9,9,7,7,7,7,9,9,7,7,7,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 295 | {9,9,9,9,7,7,9,7,7,7,9,9,9,9,9,9,9,9,9,9,7,7,7,9,9,9,7,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 296 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 297 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,7,0,7,7,0,0,0,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 298 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,7,0,0,7,7,7,0,0,7,0,0,0,7,0,7,7,0,0,7,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 299 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,7,0,0,0,7,0,0,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 300 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,7,7,0,7,0,0,0,7,0,7,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 14:0f4d44927b20 | 301 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,0,0,0,0,7,0,0,0,0,7,7,0,7,0,7,0,0,0,7,0,0,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 12:680db9f1f4eb | 302 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} |
chirashi | 8:9d22c9910917 | 303 | |
chirashi | 8:9d22c9910917 | 304 | }; |
chirashi | 21:b536f614ba71 | 305 | |
chirashi | 33:c934bc793c5a | 306 | int8_t LEDBuffer4[32][LED_Width] = { |
chirashi | 21:b536f614ba71 | 307 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 308 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 309 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,7,7,0,7,7,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 310 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,7,7,0,7,7,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 311 | {9,9,9,9,7,7,9,9,9,9,9,9,9,9,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,0,0,0,7,7,0,7,7,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 312 | {9,9,9,9,7,7,9,9,9,9,9,9,9,9,7,7,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,7,7,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,0,0,0,7,7,0,7,7,7,0,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 313 | {9,9,9,9,7,7,9,9,9,9,9,9,9,9,7,7,9,9,9,9,9,9,9,9,9,9,7,7,7,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,7,7,0,0,7,7,0,0,0,7,7,0,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 314 | {9,9,9,9,7,7,9,9,9,9,9,9,9,9,7,7,9,9,9,9,9,9,9,9,9,9,9,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,7,7,0,7,7,0,0,7,7,0,0,0,7,7,0,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 315 | {9,7,7,9,7,7,7,9,9,7,7,7,7,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,7,7,9,9,9,9,9,9,9,9,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,7,7,0,7,7,0,7,7,7,0,0,0,7,7,7,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 316 | {9,7,7,9,7,7,9,7,9,7,7,7,7,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,7,7,0,7,7,0,7,7,0,0,0,0,0,7,7,7,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 317 | {9,7,7,9,7,7,9,7,7,9,9,9,9,9,7,7,9,9,9,7,7,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,7,7,7,7,7,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 318 | {9,7,7,9,7,7,9,7,7,9,9,9,9,9,7,7,9,9,9,7,7,9,9,9,9,9,9,9,9,9,9,9,7,7,9,9,9,9,7,7,9,9,9,9,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,0,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 319 | {9,7,7,9,7,7,9,7,7,9,9,9,9,9,7,7,9,9,9,7,7,9,9,9,9,9,9,9,9,9,9,9,7,7,9,9,9,9,7,7,9,9,9,9,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 320 | {9,7,7,9,7,7,9,9,9,9,9,9,9,9,7,7,9,9,9,7,7,9,9,9,9,7,7,7,7,7,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,7,7,0,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 321 | {9,7,7,9,7,7,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,9,7,7,7,7,7,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,7,7,0,7,7,0,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 322 | {9,9,9,9,7,7,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,9,9,9,9,7,7,9,9,9,9,9,9,9,7,7,7,7,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,7,7,0,7,7,0,7,7,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 323 | {9,9,9,9,7,7,9,9,9,9,9,9,9,9,7,7,7,9,9,9,9,9,9,9,9,9,9,9,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,7,7,0,7,7,0,7,7,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 324 | {9,9,9,9,7,7,9,9,9,9,9,9,9,9,7,7,7,9,9,9,9,9,9,9,9,9,9,9,7,7,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,7,7,0,7,7,0,7,7,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 325 | {9,9,9,9,7,7,9,9,9,9,9,9,9,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,7,7,9,9,9,7,7,7,7,9,7,7,9,7,7,7,7,9,9,9,0,0,0,0,0,0,0,0,0,0,0,7,7,7,0,0,0,0,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,7,7,0,7,7,0,7,7,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 326 | {9,9,9,9,7,7,9,9,9,9,9,9,9,7,7,9,7,7,9,9,9,9,9,9,9,9,9,9,7,7,9,7,7,7,7,7,9,9,7,7,9,9,7,7,7,7,7,9,0,0,0,0,0,0,0,0,0,0,7,7,7,0,0,0,0,0,0,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,7,7,0,7,7,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 327 | {9,9,9,9,7,7,9,9,9,9,9,9,7,7,7,9,7,7,7,9,9,9,9,9,9,9,9,9,7,7,9,7,7,7,9,9,9,9,7,7,9,9,9,9,7,7,7,9,0,0,0,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,0,0,0,0,7,7,0,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 328 | {9,9,9,9,7,7,9,9,9,9,9,7,7,7,9,9,9,7,7,7,9,9,9,9,9,9,9,7,7,7,7,9,9,9,9,9,9,9,7,7,9,9,9,9,9,9,9,9,0,0,0,0,0,0,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,7,7,7,7,0,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 329 | {9,9,9,9,7,7,9,9,9,7,7,7,7,9,9,9,9,9,7,7,7,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,7,7,7,0,0,7,7,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 330 | {9,9,9,9,7,7,9,7,7,7,7,7,9,9,9,9,9,9,9,7,7,7,7,9,9,7,7,7,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 331 | {9,9,9,9,7,7,9,7,7,7,9,9,9,9,9,9,9,9,9,9,7,7,7,9,9,9,7,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 332 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 333 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,7,0,7,7,0,0,0,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 334 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,7,0,0,7,7,7,0,0,7,0,0,0,7,0,7,7,0,0,7,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 335 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,7,0,0,0,7,0,0,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 336 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,7,7,0,7,0,0,0,7,0,7,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 337 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,0,0,0,0,7,0,0,0,0,7,7,0,7,0,7,0,0,0,7,0,0,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 21:b536f614ba71 | 338 | {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} |
chirashi | 21:b536f614ba71 | 339 | |
chirashi | 21:b536f614ba71 | 340 | }; |
chirashi | 21:b536f614ba71 | 341 | |
chirashi | 33:c934bc793c5a | 342 | int8_t LEDBuffer5[32][LED_Width] = { |
chirashi | 33:c934bc793c5a | 343 | |
chirashi | 33:c934bc793c5a | 344 | }; |
chirashi | 33:c934bc793c5a | 345 | |
chirashi | 33:c934bc793c5a | 346 | int8_t LEDBuffer6[32][LED_Width] = { |
chirashi | 33:c934bc793c5a | 347 | |
chirashi | 33:c934bc793c5a | 348 | }; |
chirashi | 33:c934bc793c5a | 349 | int8_t LEDMainBuffer[32][LED_Width] = { |
chirashi | 33:c934bc793c5a | 350 | |
chirashi | 33:c934bc793c5a | 351 | }; |
chirashi | 33:c934bc793c5a | 352 | |
chirashi | 22:ebab951db9f6 | 353 | int8_t ScrollBuffer[16][2048] = { |
chirashi | 22:ebab951db9f6 | 354 | |
chirashi | 22:ebab951db9f6 | 355 | }; |
chirashi | 22:ebab951db9f6 | 356 | |
chirashi | 21:b536f614ba71 | 357 | |
chirashi | 19:26e0fae24da6 | 358 | //01 Red |
chirashi | 19:26e0fae24da6 | 359 | //02 Green |
chirashi | 19:26e0fae24da6 | 360 | //03 Blue |
chirashi | 19:26e0fae24da6 | 361 | //04 Yellow(R,G) |
chirashi | 19:26e0fae24da6 | 362 | //05(G,B) |
chirashi | 19:26e0fae24da6 | 363 | //06 purple(R,B) |
chirashi | 33:c934bc793c5a | 364 | //07 White(R,G,B) |
chirashi | 19:26e0fae24da6 | 365 | //08 Blue(Keihin-tohoku Line) |
chirashi | 9:ab87b0e361aa | 366 | //10 Yellow(Nambu Local) |
chirashi | 9:ab87b0e361aa | 367 | //11 Green (Yokohama Line) |
chirashi | 33:c934bc793c5a | 368 | //12 Orange(Rapid Acty,Urban) |
chirashi | 19:26e0fae24da6 | 369 | //13 Green(Saikyo Line) |
chirashi | 33:c934bc793c5a | 370 | //14 |
chirashi | 33:c934bc793c5a | 371 | //15 |
chirashi | 16:d02248f44c4b | 372 | //16 Green(Utsunomiya Line) |
chirashi | 19:26e0fae24da6 | 373 | //17 Green(Joban Local Local) |
chirashi | 24:7232abdf7884 | 374 | //18 Keikyu Logo(Gray |
chirashi | 28:4cc6aa3acd92 | 375 | |
chirashi | 28:4cc6aa3acd92 | 376 | bool R1Data[8][32]={ |
chirashi | 28:4cc6aa3acd92 | 377 | {0,1,0,0,1,0,1,1,0,1,1,1,1,0,1,1,0,0,1}, |
chirashi | 28:4cc6aa3acd92 | 378 | {0,1,0,0,1,0,1,1,0,1,1,0,1,0,0,0,0,0,1}, |
chirashi | 28:4cc6aa3acd92 | 379 | {0,1,0,0,1,0,1,1,0,1,1,0,1,0,0,0,0,0,0}, |
chirashi | 28:4cc6aa3acd92 | 380 | {0,1,0,0,1,0,1,1,0,1,0,0,1,0,0,0,0,0,0}, |
chirashi | 28:4cc6aa3acd92 | 381 | |
chirashi | 28:4cc6aa3acd92 | 382 | {0,1,0,0,1,0,1,1,0,1,1,1,1,0,1,1,0,0,1}, |
chirashi | 28:4cc6aa3acd92 | 383 | {0,1,0,0,1,0,1,1,0,1,1,0,1,0,0,0,0,0,1}, |
chirashi | 28:4cc6aa3acd92 | 384 | {0,1,0,0,1,0,1,1,0,1,1,0,1,0,0,0,0,0,0}, |
chirashi | 28:4cc6aa3acd92 | 385 | {0,1,0,0,1,0,1,1,0,1,0,0,1,0,0,0,0,0,0} |
chirashi | 28:4cc6aa3acd92 | 386 | }; |
chirashi | 4:245f17936b1a | 387 | |
chirashi | 28:4cc6aa3acd92 | 388 | bool G1Data[8][32]={ |
chirashi | 28:4cc6aa3acd92 | 389 | {0,0,1,0,1,1,0,1,1,0,1,1,1,1,0,1,1,1,1}, |
chirashi | 28:4cc6aa3acd92 | 390 | {0,0,1,0,1,1,0,1,1,0,1,1,0,0,0,0,1,1,1}, |
chirashi | 28:4cc6aa3acd92 | 391 | {0,0,1,0,1,1,0,1,0,0,0,0,0,0,0,0,0,1,0}, |
chirashi | 28:4cc6aa3acd92 | 392 | {0,0,1,0,1,1,0,1,0,0,0,0,0,0,0,0,0,1,0}, |
chirashi | 28:4cc6aa3acd92 | 393 | |
chirashi | 28:4cc6aa3acd92 | 394 | {0,0,1,0,1,1,0,1,1,0,1,1,1,1,0,1,1,1,1}, |
chirashi | 28:4cc6aa3acd92 | 395 | {0,0,1,0,1,1,0,1,1,0,1,1,0,0,0,0,1,1,1}, |
chirashi | 28:4cc6aa3acd92 | 396 | {0,0,1,0,1,1,0,1,0,0,0,0,0,0,0,0,0,1,0}, |
chirashi | 28:4cc6aa3acd92 | 397 | {0,0,1,0,1,1,0,1,0,0,0,0,0,0,0,0,0,1,0} |
chirashi | 28:4cc6aa3acd92 | 398 | }; |
chirashi | 7:79dfe71beb88 | 399 | |
chirashi | 28:4cc6aa3acd92 | 400 | bool B1Data[8][32]={ |
chirashi | 28:4cc6aa3acd92 | 401 | {0,0,0,1,0,1,1,1,1,1,0,0,0,0,0,1,0,1,1}, |
chirashi | 28:4cc6aa3acd92 | 402 | {0,0,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1}, |
chirashi | 28:4cc6aa3acd92 | 403 | {0,0,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 28:4cc6aa3acd92 | 404 | {0,0,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 7:79dfe71beb88 | 405 | |
chirashi | 28:4cc6aa3acd92 | 406 | {0,0,0,1,0,1,1,1,1,1,0,0,0,0,0,1,0,1,1}, |
chirashi | 28:4cc6aa3acd92 | 407 | {0,0,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1}, |
chirashi | 28:4cc6aa3acd92 | 408 | {0,0,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0}, |
chirashi | 28:4cc6aa3acd92 | 409 | {0,0,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0} |
chirashi | 28:4cc6aa3acd92 | 410 | }; |
chirashi | 7:79dfe71beb88 | 411 | |
chirashi | 7:79dfe71beb88 | 412 | |
RRacer | 0:1f58ecec51d6 | 413 | |
RRacer | 0:1f58ecec51d6 | 414 | void Init() |
RRacer | 0:1f58ecec51d6 | 415 | { |
chirashi | 30:3ac9aa4faa34 | 416 | //pc.baud(9600); |
RRacer | 0:1f58ecec51d6 | 417 | // Set up things to a known state |
RRacer | 0:1f58ecec51d6 | 418 | CLK = LOW; |
RRacer | 0:1f58ecec51d6 | 419 | LAT = LOW; |
RRacer | 0:1f58ecec51d6 | 420 | OE = HIGH; //display off |
RRacer | 0:1f58ecec51d6 | 421 | ABC = 0; |
RRacer | 0:1f58ecec51d6 | 422 | CT=0; |
chirashi | 7:79dfe71beb88 | 423 | |
RRacer | 0:1f58ecec51d6 | 424 | } |
RRacer | 0:1f58ecec51d6 | 425 | |
chirashi | 33:c934bc793c5a | 426 | void WriteRow(unsigned char Row, int8_t Buffer[32][LED_Width], int8_t index2) |
RRacer | 0:1f58ecec51d6 | 427 | { |
chirashi | 28:4cc6aa3acd92 | 428 | ABC = 15-Row; |
chirashi | 28:4cc6aa3acd92 | 429 | for(int col=0; col<LED_Width; col++) { |
chirashi | 29:bc82c25b6b94 | 430 | R1 = R1Data[index2][(Buffer [(15-Row)][col])]; |
chirashi | 29:bc82c25b6b94 | 431 | G1 = G1Data[index2][(Buffer [(15-Row)][col])]; |
chirashi | 29:bc82c25b6b94 | 432 | B1 = B1Data[index2][(Buffer [(15-Row)][col])]; |
chirashi | 29:bc82c25b6b94 | 433 | R2 = R1Data[index2][(Buffer [(31-Row)][col])]; |
chirashi | 29:bc82c25b6b94 | 434 | G2 = G1Data[index2][(Buffer [(31-Row)][col])]; |
chirashi | 29:bc82c25b6b94 | 435 | B2 = B1Data[index2][(Buffer [(31-Row)][col])]; |
chirashi | 28:4cc6aa3acd92 | 436 | CLK = HIGH; |
chirashi | 28:4cc6aa3acd92 | 437 | CLK = LOW; |
chirashi | 4:245f17936b1a | 438 | } |
chirashi | 28:4cc6aa3acd92 | 439 | LAT = HIGH; |
chirashi | 4:245f17936b1a | 440 | LAT = LOW; |
chirashi | 4:245f17936b1a | 441 | } |
chirashi | 4:245f17936b1a | 442 | |
chirashi | 3:6dbbc0130e96 | 443 | void WrRowOFF(unsigned char Row) |
chirashi | 3:6dbbc0130e96 | 444 | { |
chirashi | 3:6dbbc0130e96 | 445 | // Write specified row (and row+8) to display. Valid input: 0 to 7. |
chirashi | 10:4d9cf202a845 | 446 | ABC = 15-Row; // Set row address |
chirashi | 6:e6cb4a476422 | 447 | for(int col=0; col<LED_Width; col++) { // To daisychain more displays, I guess you would have to increase this counter to n*32 columns. Might mirror though. |
chirashi | 3:6dbbc0130e96 | 448 | R1 = 0; // Red bit, upper half |
chirashi | 3:6dbbc0130e96 | 449 | G1 = 0; // Green bit, upper half |
chirashi | 3:6dbbc0130e96 | 450 | B1 = 0; // Blue bit, upper half |
chirashi | 3:6dbbc0130e96 | 451 | R2 = 0; // Red bit, lower half |
chirashi | 3:6dbbc0130e96 | 452 | G2 = 0; // Green bit, lower half |
chirashi | 3:6dbbc0130e96 | 453 | B2 = 0; // Blue bit, lower half |
chirashi | 3:6dbbc0130e96 | 454 | CLK = HIGH; // tick (clock bit in) |
chirashi | 3:6dbbc0130e96 | 455 | CLK = LOW; // tock |
chirashi | 3:6dbbc0130e96 | 456 | } |
chirashi | 3:6dbbc0130e96 | 457 | LAT = HIGH; // Latch entire row |
chirashi | 3:6dbbc0130e96 | 458 | LAT = LOW; |
chirashi | 3:6dbbc0130e96 | 459 | } |
chirashi | 3:6dbbc0130e96 | 460 | |
chirashi | 33:c934bc793c5a | 461 | void Paint(int8_t Buffer2[32][LED_Width]) |
RRacer | 0:1f58ecec51d6 | 462 | { |
chirashi | 28:4cc6aa3acd92 | 463 | for(int index = 0; index < 4; index++){ |
chirashi | 28:4cc6aa3acd92 | 464 | for(int Row=0; Row<LED_Height; Row++) { |
chirashi | 28:4cc6aa3acd92 | 465 | OE = HIGH; // Disable output |
chirashi | 28:4cc6aa3acd92 | 466 | WriteRow(Row,Buffer2,index); |
chirashi | 29:bc82c25b6b94 | 467 | //wait_us(5); |
chirashi | 28:4cc6aa3acd92 | 468 | OE = LOW; // Enable output |
chirashi | 28:4cc6aa3acd92 | 469 | wait_us(DisplayWait); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh. |
chirashi | 29:bc82c25b6b94 | 470 | OE = HIGH; // Disable output |
chirashi | 28:4cc6aa3acd92 | 471 | } |
chirashi | 5:532937f20397 | 472 | } |
chirashi | 4:245f17936b1a | 473 | } |
chirashi | 4:245f17936b1a | 474 | |
RRacer | 0:1f58ecec51d6 | 475 | |
chirashi | 3:6dbbc0130e96 | 476 | void PaintOFF() |
chirashi | 3:6dbbc0130e96 | 477 | { |
chirashi | 3:6dbbc0130e96 | 478 | // Write graphics memory to display |
chirashi | 3:6dbbc0130e96 | 479 | for(int Row=0; Row<8; Row++) { |
chirashi | 3:6dbbc0130e96 | 480 | OE = HIGH; // Disable output |
chirashi | 3:6dbbc0130e96 | 481 | WrRowOFF(Row); |
chirashi | 3:6dbbc0130e96 | 482 | OE = LOW; // Enable output |
chirashi | 4:245f17936b1a | 483 | wait_us(50); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh. |
chirashi | 3:6dbbc0130e96 | 484 | } |
chirashi | 3:6dbbc0130e96 | 485 | } |
chirashi | 3:6dbbc0130e96 | 486 | |
chirashi | 33:c934bc793c5a | 487 | void CopyBuffer(int8_t ReadBuffer[32][LED_Width],int8_t WriteBuffer[32][LED_Width]){ |
chirashi | 22:ebab951db9f6 | 488 | for(int y = 0; y < LED_Height * 2; y++){ |
chirashi | 22:ebab951db9f6 | 489 | if(Scroll != 0 && y > 15 ){ |
chirashi | 22:ebab951db9f6 | 490 | for(int x = 0; x < LED_Width - 80; x++){ |
chirashi | 22:ebab951db9f6 | 491 | WriteBuffer[y][x] = ReadBuffer[y][x]; |
chirashi | 22:ebab951db9f6 | 492 | } |
chirashi | 22:ebab951db9f6 | 493 | }else{ |
chirashi | 22:ebab951db9f6 | 494 | for(int x = 0; x < LED_Width; x++){ |
chirashi | 22:ebab951db9f6 | 495 | WriteBuffer[y][x] = ReadBuffer[y][x]; |
chirashi | 22:ebab951db9f6 | 496 | } |
chirashi | 22:ebab951db9f6 | 497 | } |
chirashi | 22:ebab951db9f6 | 498 | } |
chirashi | 22:ebab951db9f6 | 499 | } |
chirashi | 22:ebab951db9f6 | 500 | |
chirashi | 33:c934bc793c5a | 501 | //バッファ初期化 |
chirashi | 33:c934bc793c5a | 502 | void ClearBuffer(int8_t TargetBuffer[32][LED_Width]){ |
chirashi | 33:c934bc793c5a | 503 | for(int y = 0; y < LED_Height * 2; y++){ |
chirashi | 33:c934bc793c5a | 504 | for(int x = 0; x < LED_Width; x++){ |
chirashi | 33:c934bc793c5a | 505 | TargetBuffer[y][x] = 0; |
chirashi | 33:c934bc793c5a | 506 | } |
chirashi | 33:c934bc793c5a | 507 | } |
chirashi | 33:c934bc793c5a | 508 | |
chirashi | 33:c934bc793c5a | 509 | } |
chirashi | 33:c934bc793c5a | 510 | |
chirashi | 33:c934bc793c5a | 511 | |
chirashi | 33:c934bc793c5a | 512 | void CopyScrollBuffer(int8_t ReadBuffer[16][2048],int8_t WriteBuffer[32][LED_Width],int Startx){ |
chirashi | 23:6fb1181345a7 | 513 | for(int y = 0; y < 16; y++){ |
chirashi | 29:bc82c25b6b94 | 514 | int xCount = 0; |
chirashi | 23:6fb1181345a7 | 515 | for(int x = 0; x < 80; x++){ |
chirashi | 23:6fb1181345a7 | 516 | if(bitRead(ScrollBuffer[y][(x + Startx) / 8 ], (x + Startx)% 8) != 0){ |
chirashi | 23:6fb1181345a7 | 517 | LEDMainBuffer[y + 16][x + 48] = 4; |
chirashi | 23:6fb1181345a7 | 518 | }else{ |
chirashi | 23:6fb1181345a7 | 519 | LEDMainBuffer[y + 16][x + 48] = 0; |
chirashi | 29:bc82c25b6b94 | 520 | } |
chirashi | 23:6fb1181345a7 | 521 | xCount = xCount + 1; |
chirashi | 23:6fb1181345a7 | 522 | } |
chirashi | 23:6fb1181345a7 | 523 | } |
chirashi | 23:6fb1181345a7 | 524 | } |
chirashi | 22:ebab951db9f6 | 525 | |
chirashi | 23:6fb1181345a7 | 526 | //1文字256byte |
chirashi | 33:c934bc793c5a | 527 | void CopyScrollBuffer2(int8_t ReadBuffer[16][2048],int8_t WriteBuffer[32][LED_Width],int Startx){ |
chirashi | 22:ebab951db9f6 | 528 | for(int y = 0; y < 16; y++){ |
chirashi | 22:ebab951db9f6 | 529 | for(int x = 0; x < 80; x++){ |
chirashi | 22:ebab951db9f6 | 530 | LEDMainBuffer[y + 16][x + 48] = ScrollBuffer[y][x + Startx]; |
chirashi | 22:ebab951db9f6 | 531 | } |
chirashi | 22:ebab951db9f6 | 532 | } |
chirashi | 22:ebab951db9f6 | 533 | } |
chirashi | 22:ebab951db9f6 | 534 | |
chirashi | 22:ebab951db9f6 | 535 | |
chirashi | 22:ebab951db9f6 | 536 | |
chirashi | 8:9d22c9910917 | 537 | void TimerTick(){ |
chirashi | 24:7232abdf7884 | 538 | //OE = HIGH; |
chirashi | 19:26e0fae24da6 | 539 | //DisplayMode = 1 3段階表示ならば |
chirashi | 19:26e0fae24da6 | 540 | if(DisplayMode == 1){ |
chirashi | 19:26e0fae24da6 | 541 | if (ChangeCount == 0){ |
chirashi | 22:ebab951db9f6 | 542 | CopyBuffer(LEDBuffer,LEDMainBuffer); |
chirashi | 19:26e0fae24da6 | 543 | ChangeCount = ChangeCount + 1; |
chirashi | 19:26e0fae24da6 | 544 | }else if(ChangeCount == 1 ){ |
chirashi | 22:ebab951db9f6 | 545 | CopyBuffer(LEDBuffer2,LEDMainBuffer); |
chirashi | 19:26e0fae24da6 | 546 | ChangeCount = ChangeCount + 1; |
chirashi | 19:26e0fae24da6 | 547 | //ChangeCount = 0; |
chirashi | 22:ebab951db9f6 | 548 | }else if(ChangeCount == 2){ |
chirashi | 22:ebab951db9f6 | 549 | CopyBuffer(LEDBuffer3,LEDMainBuffer); |
chirashi | 19:26e0fae24da6 | 550 | ChangeCount = 0; |
chirashi | 19:26e0fae24da6 | 551 | }else{ |
chirashi | 19:26e0fae24da6 | 552 | ChangeCount = 0; |
chirashi | 19:26e0fae24da6 | 553 | } |
chirashi | 19:26e0fae24da6 | 554 | } |
chirashi | 19:26e0fae24da6 | 555 | //DisplayMode = 2 2段階表示ならば |
chirashi | 19:26e0fae24da6 | 556 | //次駅表示なし2段階表示に使用 |
chirashi | 24:7232abdf7884 | 557 | |
chirashi | 24:7232abdf7884 | 558 | if (DisplayMode == 2){ |
chirashi | 19:26e0fae24da6 | 559 | |
chirashi | 19:26e0fae24da6 | 560 | if(ChangeCount == 0 ){ |
chirashi | 33:c934bc793c5a | 561 | //CopyBuffer(LEDBuffer,LEDMainBuffer); |
chirashi | 33:c934bc793c5a | 562 | CopyBuffer(LEDBuffer5,LEDMainBuffer); |
chirashi | 19:26e0fae24da6 | 563 | ChangeCount = ChangeCount + 1; |
chirashi | 22:ebab951db9f6 | 564 | }else if(ChangeCount == 1){ |
chirashi | 33:c934bc793c5a | 565 | //CopyBuffer(LEDBuffer2,LEDMainBuffer); |
chirashi | 33:c934bc793c5a | 566 | CopyBuffer(LEDBuffer6,LEDMainBuffer); |
chirashi | 19:26e0fae24da6 | 567 | ChangeCount = 0; |
chirashi | 19:26e0fae24da6 | 568 | }else{ |
chirashi | 19:26e0fae24da6 | 569 | ChangeCount = 0; |
chirashi | 19:26e0fae24da6 | 570 | } |
chirashi | 19:26e0fae24da6 | 571 | } |
chirashi | 19:26e0fae24da6 | 572 | //DisplayMode = 3 ならば LEDBuffer2を固定表示 |
chirashi | 24:7232abdf7884 | 573 | if (DisplayMode == 3){ |
chirashi | 22:ebab951db9f6 | 574 | CopyBuffer(LEDBuffer2,LEDMainBuffer); |
chirashi | 19:26e0fae24da6 | 575 | ChangeCount = 1; |
chirashi | 19:26e0fae24da6 | 576 | } |
chirashi | 19:26e0fae24da6 | 577 | |
chirashi | 19:26e0fae24da6 | 578 | //2段階表示 次駅表示あり、路線名なしパターンに使用 |
chirashi | 24:7232abdf7884 | 579 | if(DisplayMode == 4){ |
chirashi | 19:26e0fae24da6 | 580 | if(ChangeCount == 1 ){ |
chirashi | 22:ebab951db9f6 | 581 | CopyBuffer(LEDBuffer2,LEDMainBuffer); |
chirashi | 19:26e0fae24da6 | 582 | ChangeCount = ChangeCount + 1; |
chirashi | 19:26e0fae24da6 | 583 | }else{ |
chirashi | 22:ebab951db9f6 | 584 | CopyBuffer(LEDBuffer3,LEDMainBuffer); |
chirashi | 19:26e0fae24da6 | 585 | ChangeCount = 1; |
chirashi | 19:26e0fae24da6 | 586 | } |
chirashi | 19:26e0fae24da6 | 587 | } |
chirashi | 33:c934bc793c5a | 588 | |
chirashi | 33:c934bc793c5a | 589 | //DisplayMode = 5 5段階表示ならば |
chirashi | 33:c934bc793c5a | 590 | if(DisplayMode == 5){ |
chirashi | 33:c934bc793c5a | 591 | if (ChangeCount == 0){ |
chirashi | 33:c934bc793c5a | 592 | CopyBuffer(LEDBuffer,LEDMainBuffer); |
chirashi | 33:c934bc793c5a | 593 | ChangeCount = ChangeCount + 1; |
chirashi | 33:c934bc793c5a | 594 | }else if(ChangeCount == 1 ){ |
chirashi | 33:c934bc793c5a | 595 | CopyBuffer(LEDBuffer4,LEDMainBuffer); |
chirashi | 33:c934bc793c5a | 596 | ChangeCount = ChangeCount + 1; |
chirashi | 33:c934bc793c5a | 597 | //ChangeCount = 0; |
chirashi | 33:c934bc793c5a | 598 | }else if(ChangeCount == 2){ |
chirashi | 33:c934bc793c5a | 599 | CopyBuffer(LEDBuffer2,LEDMainBuffer); |
chirashi | 33:c934bc793c5a | 600 | ChangeCount = ChangeCount + 1; |
chirashi | 33:c934bc793c5a | 601 | }else if(ChangeCount == 3){ |
chirashi | 33:c934bc793c5a | 602 | CopyBuffer(LEDBuffer3,LEDMainBuffer); |
chirashi | 33:c934bc793c5a | 603 | ChangeCount = 0; |
chirashi | 33:c934bc793c5a | 604 | }else{ |
chirashi | 33:c934bc793c5a | 605 | ChangeCount = 0; |
chirashi | 33:c934bc793c5a | 606 | } |
chirashi | 33:c934bc793c5a | 607 | } |
chirashi | 33:c934bc793c5a | 608 | |
chirashi | 24:7232abdf7884 | 609 | //OE = LOW; |
chirashi | 30:3ac9aa4faa34 | 610 | //クロック確認 |
chirashi | 30:3ac9aa4faa34 | 611 | //pc.printf("CPU SystemCoreClock is %.2f MHz\r\n", (float)SystemCoreClock/1000/1000); |
chirashi | 13:0c542447e6da | 612 | } |
chirashi | 13:0c542447e6da | 613 | |
chirashi | 22:ebab951db9f6 | 614 | void ScrollTimerTick(){ |
chirashi | 23:6fb1181345a7 | 615 | if(ScrollCount < ScrollWriteCount + 80){ |
chirashi | 22:ebab951db9f6 | 616 | CopyScrollBuffer(ScrollBuffer,LEDMainBuffer,ScrollCount); |
chirashi | 22:ebab951db9f6 | 617 | ScrollCount = ScrollCount + 1; |
chirashi | 22:ebab951db9f6 | 618 | }else{ |
chirashi | 22:ebab951db9f6 | 619 | ScrollCount = 0; |
chirashi | 22:ebab951db9f6 | 620 | } |
chirashi | 22:ebab951db9f6 | 621 | } |
chirashi | 22:ebab951db9f6 | 622 | |
chirashi | 22:ebab951db9f6 | 623 | |
chirashi | 22:ebab951db9f6 | 624 | |
chirashi | 33:c934bc793c5a | 625 | //書込み対象バッファ,書込み開始位置x,書込み開始位置y,読み出し幅x,読み出し高さy,読み出し開始位置(バイト) |
chirashi | 33:c934bc793c5a | 626 | bool SDBufferWrite(int8_t TargetBuffer[32][LED_Width], int Startx, int Starty, int Readx, int Ready, int StartByte ){ |
chirashi | 14:0f4d44927b20 | 627 | FILE *fp = fopen(SDFilePath, "r"); |
chirashi | 14:0f4d44927b20 | 628 | if(fp == NULL) { |
chirashi | 14:0f4d44927b20 | 629 | pc.printf("SDFileOpen Error %s\r\n",SDFilePath); |
chirashi | 14:0f4d44927b20 | 630 | //error("Could not open file for write\r\n"); |
chirashi | 33:c934bc793c5a | 631 | return 1; |
chirashi | 14:0f4d44927b20 | 632 | }else{ |
chirashi | 14:0f4d44927b20 | 633 | pc.printf("SDFileOpen Success %s\r\n",SDFilePath); |
chirashi | 14:0f4d44927b20 | 634 | |
chirashi | 14:0f4d44927b20 | 635 | //SDDataReadtest |
chirashi | 16:d02248f44c4b | 636 | int8_t Data; |
chirashi | 30:3ac9aa4faa34 | 637 | //先頭2バイトはヘッダ |
chirashi | 33:c934bc793c5a | 638 | fseek(fp, 2 + StartByte, SEEK_SET); |
chirashi | 30:3ac9aa4faa34 | 639 | |
chirashi | 14:0f4d44927b20 | 640 | for(int y = Starty; y < Starty + Ready; y++){ |
chirashi | 14:0f4d44927b20 | 641 | for(int x = Startx; x < Startx + Readx; x++){ |
chirashi | 14:0f4d44927b20 | 642 | Data = getc(fp); |
chirashi | 14:0f4d44927b20 | 643 | TargetBuffer[y][x] = Data; |
chirashi | 14:0f4d44927b20 | 644 | } |
chirashi | 14:0f4d44927b20 | 645 | } |
chirashi | 14:0f4d44927b20 | 646 | fclose(fp); |
chirashi | 33:c934bc793c5a | 647 | return 0; |
chirashi | 14:0f4d44927b20 | 648 | } |
chirashi | 14:0f4d44927b20 | 649 | } |
chirashi | 13:0c542447e6da | 650 | |
chirashi | 23:6fb1181345a7 | 651 | //スクロールバッファへの書込み用 読み出し高さは16固定 |
chirashi | 23:6fb1181345a7 | 652 | //書込み対象バッファ,書込み開始位置x,書込み開始位置y,読み出し幅x,読み出し高さy |
chirashi | 23:6fb1181345a7 | 653 | void SDScrollBufferWrite(int8_t TargetBuffer[16][2048], int Startx, int Starty, int Readx, int Ready){ |
chirashi | 24:7232abdf7884 | 654 | //pc.printf("SDScrollBufferWrite\r\n"); |
chirashi | 23:6fb1181345a7 | 655 | FILE *fp = fopen(SDFilePath, "r"); |
chirashi | 23:6fb1181345a7 | 656 | if(fp == NULL) { |
chirashi | 23:6fb1181345a7 | 657 | pc.printf("SDFileOpen Error %s\r\n",SDFilePath); |
chirashi | 23:6fb1181345a7 | 658 | //error("Could not open file for write\r\n"); |
chirashi | 23:6fb1181345a7 | 659 | }else{ |
chirashi | 24:7232abdf7884 | 660 | //pc.printf("SDFileOpen Success %s\r\n",SDFilePath); |
chirashi | 23:6fb1181345a7 | 661 | |
chirashi | 23:6fb1181345a7 | 662 | //SDDataReadtest |
chirashi | 23:6fb1181345a7 | 663 | int8_t Data; |
chirashi | 30:3ac9aa4faa34 | 664 | //先頭2バイトはヘッダ |
chirashi | 30:3ac9aa4faa34 | 665 | fseek(fp, 2, SEEK_SET); |
chirashi | 23:6fb1181345a7 | 666 | for(int y = Starty; y < Starty + Ready; y++){ |
chirashi | 23:6fb1181345a7 | 667 | for(int x = Startx; x < Startx + Readx; x++){ |
chirashi | 23:6fb1181345a7 | 668 | Data = getc(fp); |
chirashi | 23:6fb1181345a7 | 669 | |
chirashi | 23:6fb1181345a7 | 670 | |
chirashi | 23:6fb1181345a7 | 671 | //TargetBuffer[y][x] = Data; |
chirashi | 23:6fb1181345a7 | 672 | |
chirashi | 23:6fb1181345a7 | 673 | if(Data != 0){ |
chirashi | 23:6fb1181345a7 | 674 | bitSet(TargetBuffer[y][x / 8],x % 8); |
chirashi | 23:6fb1181345a7 | 675 | }else{ |
chirashi | 23:6fb1181345a7 | 676 | bitClear(TargetBuffer[y][x / 8],x % 8); |
chirashi | 23:6fb1181345a7 | 677 | } |
chirashi | 23:6fb1181345a7 | 678 | } |
chirashi | 23:6fb1181345a7 | 679 | } |
chirashi | 23:6fb1181345a7 | 680 | fclose(fp); |
chirashi | 23:6fb1181345a7 | 681 | } |
chirashi | 23:6fb1181345a7 | 682 | } |
chirashi | 23:6fb1181345a7 | 683 | |
chirashi | 18:b8563e3319fd | 684 | //路線名表示の使用領域チェック |
chirashi | 18:b8563e3319fd | 685 | //路線名表示時に次停車駅を表示するかどうかの判断に使用 |
chirashi | 18:b8563e3319fd | 686 | //路線名が下半分も使用しているなら次停車駅は表示しない |
chirashi | 18:b8563e3319fd | 687 | bool BufferBlankCheck(){ |
chirashi | 18:b8563e3319fd | 688 | bool NotBlankflag = 0; |
chirashi | 18:b8563e3319fd | 689 | for(int y = 16; y < 32; y++){ |
chirashi | 18:b8563e3319fd | 690 | for(int x = 48; x < 128; x++){ |
chirashi | 18:b8563e3319fd | 691 | if(LEDBuffer[y][x] != 0){ |
chirashi | 18:b8563e3319fd | 692 | NotBlankflag = 1; |
chirashi | 18:b8563e3319fd | 693 | } |
chirashi | 18:b8563e3319fd | 694 | if(NotBlankflag == 1){ |
chirashi | 18:b8563e3319fd | 695 | break; |
chirashi | 18:b8563e3319fd | 696 | } |
chirashi | 18:b8563e3319fd | 697 | } |
chirashi | 18:b8563e3319fd | 698 | if(NotBlankflag == 1){ |
chirashi | 18:b8563e3319fd | 699 | break; |
chirashi | 18:b8563e3319fd | 700 | } |
chirashi | 18:b8563e3319fd | 701 | } |
chirashi | 18:b8563e3319fd | 702 | if(NotBlankflag == 0){ |
chirashi | 18:b8563e3319fd | 703 | pc.printf("Blank\r\n"); |
chirashi | 18:b8563e3319fd | 704 | return 0; |
chirashi | 18:b8563e3319fd | 705 | }else{ |
chirashi | 18:b8563e3319fd | 706 | pc.printf("Not Blank\r\n"); |
chirashi | 18:b8563e3319fd | 707 | return 1; |
chirashi | 18:b8563e3319fd | 708 | } |
chirashi | 18:b8563e3319fd | 709 | } |
chirashi | 18:b8563e3319fd | 710 | |
chirashi | 32:3bf210e07de7 | 711 | void ScrollRead2(){ |
chirashi | 32:3bf210e07de7 | 712 | //スクロールカウンタを0に戻す |
chirashi | 32:3bf210e07de7 | 713 | ScrollCount = 0; |
chirashi | 32:3bf210e07de7 | 714 | //スクロールバッファ初期化 |
chirashi | 32:3bf210e07de7 | 715 | for(int i = 0; i < 2048; i++){ |
chirashi | 32:3bf210e07de7 | 716 | for(int j = 0; j < 16; j++){ |
chirashi | 32:3bf210e07de7 | 717 | ScrollBuffer[j][i] = 0; |
chirashi | 32:3bf210e07de7 | 718 | } |
chirashi | 32:3bf210e07de7 | 719 | } |
chirashi | 32:3bf210e07de7 | 720 | |
chirashi | 32:3bf210e07de7 | 721 | |
chirashi | 32:3bf210e07de7 | 722 | //test |
chirashi | 32:3bf210e07de7 | 723 | //Initialize StopStationCode |
chirashi | 32:3bf210e07de7 | 724 | for (int x = 0; x < MaxStopStation; x++){ |
chirashi | 32:3bf210e07de7 | 725 | StopStationCode[x]= 0; |
chirashi | 32:3bf210e07de7 | 726 | } |
chirashi | 32:3bf210e07de7 | 727 | |
chirashi | 32:3bf210e07de7 | 728 | int DeptStaIndex = 0; |
chirashi | 32:3bf210e07de7 | 729 | int TermStaIndex = 0; |
chirashi | 32:3bf210e07de7 | 730 | //sprintf(SDFilePath,"/sd/E233/RoutePattern/RoutePattern%d.bin",1); |
chirashi | 33:c934bc793c5a | 731 | //sprintf(SDFilePath,"/sd/E233/RoutePattern/RoutePattern001001.bin"); |
chirashi | 33:c934bc793c5a | 732 | sprintf(SDFilePath,"/sd/E233/RoutePattern/RoutePattern%03d%03d.bin",LineNumber,RoutePatternNumber); |
chirashi | 33:c934bc793c5a | 733 | pc.printf("%s\r\n",SDFilePath); |
chirashi | 32:3bf210e07de7 | 734 | |
chirashi | 32:3bf210e07de7 | 735 | //始発駅インデックス取得 |
chirashi | 32:3bf210e07de7 | 736 | for(int i = 0; i < MaxStopStation; i++){ |
chirashi | 32:3bf210e07de7 | 737 | FILE *fp = fopen(SDFilePath, "r"); |
chirashi | 32:3bf210e07de7 | 738 | if(fp == NULL) { |
chirashi | 33:c934bc793c5a | 739 | //停車駅データを読み込めないならスクロールを無効にする |
chirashi | 32:3bf210e07de7 | 740 | pc.printf("SDFileOpen Error %s\r\n",SDFilePath); |
chirashi | 33:c934bc793c5a | 741 | Scroll = 0; |
chirashi | 32:3bf210e07de7 | 742 | break; |
chirashi | 32:3bf210e07de7 | 743 | }else{ |
chirashi | 32:3bf210e07de7 | 744 | //停車駅コード取得 |
chirashi | 32:3bf210e07de7 | 745 | int test = 0; |
chirashi | 32:3bf210e07de7 | 746 | int test2 = 0; |
chirashi | 32:3bf210e07de7 | 747 | fseek(fp, i*2 + 4, SEEK_SET); |
chirashi | 32:3bf210e07de7 | 748 | test = getc(fp); |
chirashi | 32:3bf210e07de7 | 749 | test = test << 8; |
chirashi | 32:3bf210e07de7 | 750 | |
chirashi | 32:3bf210e07de7 | 751 | fseek(fp, i*2 + 4 + 1, SEEK_SET); |
chirashi | 32:3bf210e07de7 | 752 | test2 = getc(fp); |
chirashi | 32:3bf210e07de7 | 753 | test = test ^ test2; |
chirashi | 32:3bf210e07de7 | 754 | fclose(fp); |
chirashi | 32:3bf210e07de7 | 755 | if(test == DeptStaNumber){ |
chirashi | 32:3bf210e07de7 | 756 | DeptStaIndex = i + 1; |
chirashi | 32:3bf210e07de7 | 757 | pc.printf("DeptStaIndex:%d\r\n",DeptStaIndex); |
chirashi | 32:3bf210e07de7 | 758 | pc.printf("break\r\n"); |
chirashi | 32:3bf210e07de7 | 759 | break; |
chirashi | 32:3bf210e07de7 | 760 | |
chirashi | 32:3bf210e07de7 | 761 | } |
chirashi | 32:3bf210e07de7 | 762 | } |
chirashi | 32:3bf210e07de7 | 763 | pc.printf("DeptSta-loopcount:%d\r\n",i); |
chirashi | 32:3bf210e07de7 | 764 | } |
chirashi | 32:3bf210e07de7 | 765 | |
chirashi | 32:3bf210e07de7 | 766 | //終着駅インデックス取得 |
chirashi | 32:3bf210e07de7 | 767 | for(int i = 0; i < MaxStopStation; i++){ |
chirashi | 32:3bf210e07de7 | 768 | FILE *fp = fopen(SDFilePath, "r"); |
chirashi | 32:3bf210e07de7 | 769 | if(fp == NULL) { |
chirashi | 33:c934bc793c5a | 770 | //停車駅データを読み込めないならスクロールを無効にする |
chirashi | 32:3bf210e07de7 | 771 | pc.printf("SDFileOpen Error %s\r\n",SDFilePath); |
chirashi | 33:c934bc793c5a | 772 | Scroll = 0; |
chirashi | 32:3bf210e07de7 | 773 | break; |
chirashi | 32:3bf210e07de7 | 774 | }else{ |
chirashi | 32:3bf210e07de7 | 775 | //停車駅コード取得 |
chirashi | 32:3bf210e07de7 | 776 | int test = 0; |
chirashi | 32:3bf210e07de7 | 777 | int test2 = 0; |
chirashi | 32:3bf210e07de7 | 778 | fseek(fp, i*2 + 4, SEEK_SET); |
chirashi | 32:3bf210e07de7 | 779 | test = getc(fp); |
chirashi | 32:3bf210e07de7 | 780 | test = test << 8; |
chirashi | 32:3bf210e07de7 | 781 | |
chirashi | 32:3bf210e07de7 | 782 | fseek(fp, i*2 + 4 + 1, SEEK_SET); |
chirashi | 32:3bf210e07de7 | 783 | test2 = getc(fp); |
chirashi | 32:3bf210e07de7 | 784 | test = test ^ test2; |
chirashi | 32:3bf210e07de7 | 785 | fclose(fp); |
chirashi | 32:3bf210e07de7 | 786 | if(test == TermStaNumber){ |
chirashi | 32:3bf210e07de7 | 787 | TermStaIndex = i + 1; |
chirashi | 32:3bf210e07de7 | 788 | pc.printf("TermStaIndex:%d\r\n",TermStaIndex); |
chirashi | 32:3bf210e07de7 | 789 | pc.printf("break\r\n"); |
chirashi | 32:3bf210e07de7 | 790 | break; |
chirashi | 32:3bf210e07de7 | 791 | |
chirashi | 32:3bf210e07de7 | 792 | } |
chirashi | 32:3bf210e07de7 | 793 | } |
chirashi | 32:3bf210e07de7 | 794 | pc.printf("TermSta-loopcount:%d\r\n",i); |
chirashi | 32:3bf210e07de7 | 795 | } |
chirashi | 32:3bf210e07de7 | 796 | |
chirashi | 32:3bf210e07de7 | 797 | |
chirashi | 32:3bf210e07de7 | 798 | if(DeptStaIndex != 0 && TermStaIndex != 0){ |
chirashi | 32:3bf210e07de7 | 799 | //SDRead StopStationCode |
chirashi | 32:3bf210e07de7 | 800 | //始発駅インデックス < 終着駅インデックスなら |
chirashi | 32:3bf210e07de7 | 801 | if(DeptStaIndex < TermStaIndex){ |
chirashi | 32:3bf210e07de7 | 802 | for(int i = 0; i < MaxStopStation; i++){ |
chirashi | 32:3bf210e07de7 | 803 | //停車駅コード取得 |
chirashi | 32:3bf210e07de7 | 804 | int test = 0; |
chirashi | 32:3bf210e07de7 | 805 | int test2 = 0; |
chirashi | 32:3bf210e07de7 | 806 | |
chirashi | 32:3bf210e07de7 | 807 | FILE *fp = fopen(SDFilePath, "r"); |
chirashi | 32:3bf210e07de7 | 808 | if(fp == NULL) { |
chirashi | 33:c934bc793c5a | 809 | //停車駅データを読み込めないならスクロールを無効にする |
chirashi | 32:3bf210e07de7 | 810 | pc.printf("SDFileOpen Error %s\r\n",SDFilePath); |
chirashi | 33:c934bc793c5a | 811 | Scroll = 0; |
chirashi | 32:3bf210e07de7 | 812 | break; |
chirashi | 32:3bf210e07de7 | 813 | }else{ |
chirashi | 32:3bf210e07de7 | 814 | //pc.printf("SDFileOpen Success %s\r\n",SDFilePath); |
chirashi | 32:3bf210e07de7 | 815 | fseek(fp, DeptStaIndex*2 + i*2 + 4, SEEK_SET); |
chirashi | 32:3bf210e07de7 | 816 | test = getc(fp); |
chirashi | 32:3bf210e07de7 | 817 | test = test << 8; |
chirashi | 32:3bf210e07de7 | 818 | |
chirashi | 32:3bf210e07de7 | 819 | fseek(fp, DeptStaIndex*2 + i*2 + 4 + 1, SEEK_SET); |
chirashi | 32:3bf210e07de7 | 820 | test2 = getc(fp); |
chirashi | 32:3bf210e07de7 | 821 | test = test ^ test2; |
chirashi | 32:3bf210e07de7 | 822 | |
chirashi | 32:3bf210e07de7 | 823 | StopStationCode[i] = test; |
chirashi | 32:3bf210e07de7 | 824 | pc.printf("StopStationCode[%d]:%d\r\n",i,StopStationCode[i]); |
chirashi | 32:3bf210e07de7 | 825 | |
chirashi | 32:3bf210e07de7 | 826 | //読み込んだ駅名コードが終着駅コードと同じならばループを抜ける |
chirashi | 32:3bf210e07de7 | 827 | if(StopStationCode[i] == TermStaNumber){ |
chirashi | 32:3bf210e07de7 | 828 | break; |
chirashi | 32:3bf210e07de7 | 829 | } |
chirashi | 32:3bf210e07de7 | 830 | fclose(fp); |
chirashi | 32:3bf210e07de7 | 831 | } |
chirashi | 32:3bf210e07de7 | 832 | } |
chirashi | 32:3bf210e07de7 | 833 | } |
chirashi | 32:3bf210e07de7 | 834 | |
chirashi | 32:3bf210e07de7 | 835 | |
chirashi | 32:3bf210e07de7 | 836 | |
chirashi | 32:3bf210e07de7 | 837 | }else{ |
chirashi | 32:3bf210e07de7 | 838 | //始発駅インデックス、終着駅インデックスのどちらか、または両方が0の場合運用パターンデータに駅名コードが存在しない |
chirashi | 32:3bf210e07de7 | 839 | pc.printf("Error DeptStaIndex or TermStaIndex = 0\r\n"); |
chirashi | 32:3bf210e07de7 | 840 | pc.printf("Error DeptStaIndex:%d,TermStaIndex:%d",DeptStaIndex,TermStaIndex); |
chirashi | 33:c934bc793c5a | 841 | Scroll = 0; |
chirashi | 32:3bf210e07de7 | 842 | } |
chirashi | 32:3bf210e07de7 | 843 | |
chirashi | 32:3bf210e07de7 | 844 | //test end |
chirashi | 32:3bf210e07de7 | 845 | |
chirashi | 32:3bf210e07de7 | 846 | //ScrollDebug |
chirashi | 32:3bf210e07de7 | 847 | ScrollWriteCount = 80; |
chirashi | 32:3bf210e07de7 | 848 | |
chirashi | 32:3bf210e07de7 | 849 | //この電車の停車駅は、 |
chirashi | 32:3bf210e07de7 | 850 | sprintf(SDFilePath,"/sd/E233/StopStation/StopStation%d.bin",1); |
chirashi | 32:3bf210e07de7 | 851 | SDScrollBufferWrite(ScrollBuffer,ScrollWriteCount,0,80,16); |
chirashi | 32:3bf210e07de7 | 852 | ScrollWriteCount = ScrollWriteCount + 80; |
chirashi | 32:3bf210e07de7 | 853 | sprintf(SDFilePath,"/sd/E233/StopStation/StopStation%d.bin",2); |
chirashi | 32:3bf210e07de7 | 854 | SDScrollBufferWrite(ScrollBuffer,ScrollWriteCount,0,80,16); |
chirashi | 32:3bf210e07de7 | 855 | ScrollWriteCount = ScrollWriteCount + 80; |
chirashi | 32:3bf210e07de7 | 856 | |
chirashi | 33:c934bc793c5a | 857 | int StaNameLength = 0; |
chirashi | 32:3bf210e07de7 | 858 | for(int i = 0; i < MaxStopStation; i++){ |
chirashi | 32:3bf210e07de7 | 859 | if(StopStationCode[i] == 0){ |
chirashi | 33:c934bc793c5a | 860 | //駅名コードが0ならScrollWriteCountから終着駅の文字数 x 16 + 16 を引いてループを抜ける |
chirashi | 33:c934bc793c5a | 861 | ScrollWriteCount = ScrollWriteCount - (StaNameLength * 16 + 16); |
chirashi | 32:3bf210e07de7 | 862 | break; |
chirashi | 32:3bf210e07de7 | 863 | } |
chirashi | 32:3bf210e07de7 | 864 | //駅名 |
chirashi | 32:3bf210e07de7 | 865 | sprintf(SDFilePath,"/sd/E233/StationName/%d.bin",StopStationCode[i]); |
chirashi | 32:3bf210e07de7 | 866 | SDScrollBufferWrite(ScrollBuffer,ScrollWriteCount,0,128,16); |
chirashi | 32:3bf210e07de7 | 867 | |
chirashi | 32:3bf210e07de7 | 868 | //駅名文字数取得 |
chirashi | 33:c934bc793c5a | 869 | //int test = 0; |
chirashi | 32:3bf210e07de7 | 870 | sprintf(SDFilePath,"/sd/E233/StationNameLength.bin"); |
chirashi | 32:3bf210e07de7 | 871 | FILE *fp = fopen(SDFilePath, "r"); |
chirashi | 32:3bf210e07de7 | 872 | if(fp == NULL) { |
chirashi | 32:3bf210e07de7 | 873 | pc.printf("SDFileOpen Error %s\r\n",SDFilePath); |
chirashi | 32:3bf210e07de7 | 874 | }else{ |
chirashi | 32:3bf210e07de7 | 875 | //pc.printf("SDFileOpen Success %s\r\n",SDFilePath); |
chirashi | 32:3bf210e07de7 | 876 | fseek(fp, StopStationCode[i], SEEK_SET); |
chirashi | 33:c934bc793c5a | 877 | StaNameLength = getc(fp); |
chirashi | 33:c934bc793c5a | 878 | //pc.printf("StationNameLength:%d\r\n",StaNameLength); |
chirashi | 32:3bf210e07de7 | 879 | fclose(fp); |
chirashi | 32:3bf210e07de7 | 880 | } |
chirashi | 32:3bf210e07de7 | 881 | |
chirashi | 33:c934bc793c5a | 882 | ScrollWriteCount = ScrollWriteCount + (StaNameLength * 16); |
chirashi | 32:3bf210e07de7 | 883 | sprintf(SDFilePath,"/sd/E233/StopStation/0x8132.bin"); |
chirashi | 32:3bf210e07de7 | 884 | SDScrollBufferWrite(ScrollBuffer,ScrollWriteCount,0,16,16); |
chirashi | 32:3bf210e07de7 | 885 | ScrollWriteCount = ScrollWriteCount + 16; |
chirashi | 32:3bf210e07de7 | 886 | } |
chirashi | 33:c934bc793c5a | 887 | |
chirashi | 33:c934bc793c5a | 888 | |
chirashi | 33:c934bc793c5a | 889 | |
chirashi | 32:3bf210e07de7 | 890 | ScrollWriteCount = ScrollWriteCount - 16; |
chirashi | 32:3bf210e07de7 | 891 | sprintf(SDFilePath,"/sd/E233/StopStation/StopStation%d.bin",3); |
chirashi | 32:3bf210e07de7 | 892 | SDScrollBufferWrite(ScrollBuffer,ScrollWriteCount,0,80,16); |
chirashi | 32:3bf210e07de7 | 893 | ScrollWriteCount = ScrollWriteCount + 80; |
chirashi | 32:3bf210e07de7 | 894 | sprintf(SDFilePath,"/sd/E233/StopStation/StopStation%d.bin",4); |
chirashi | 32:3bf210e07de7 | 895 | SDScrollBufferWrite(ScrollBuffer,ScrollWriteCount,0,80,16); |
chirashi | 32:3bf210e07de7 | 896 | ScrollWriteCount = ScrollWriteCount + 80; |
chirashi | 32:3bf210e07de7 | 897 | |
chirashi | 32:3bf210e07de7 | 898 | } |
chirashi | 18:b8563e3319fd | 899 | |
chirashi | 18:b8563e3319fd | 900 | |
chirashi | 18:b8563e3319fd | 901 | void SDFileRead(){ |
chirashi | 33:c934bc793c5a | 902 | //バッファ初期化 |
chirashi | 33:c934bc793c5a | 903 | ClearBuffer(LEDBuffer); |
chirashi | 33:c934bc793c5a | 904 | ClearBuffer(LEDBuffer2); |
chirashi | 33:c934bc793c5a | 905 | ClearBuffer(LEDBuffer3); |
chirashi | 33:c934bc793c5a | 906 | ClearBuffer(LEDBuffer4); |
chirashi | 33:c934bc793c5a | 907 | ClearBuffer(LEDBuffer5); |
chirashi | 33:c934bc793c5a | 908 | ClearBuffer(LEDBuffer6); |
chirashi | 33:c934bc793c5a | 909 | |
chirashi | 19:26e0fae24da6 | 910 | |
chirashi | 19:26e0fae24da6 | 911 | //3段階表示 LEDBuffer [種別]路線名(・次駅) |
chirashi | 19:26e0fae24da6 | 912 | // LEDBuffer2 [種別]行先・次駅 |
chirashi | 19:26e0fae24da6 | 913 | // LEDBuffer3 [種別(英)]行先(英)・次駅(英) |
chirashi | 19:26e0fae24da6 | 914 | //路線コードが0なら2段階表示に変更 |
chirashi | 19:26e0fae24da6 | 915 | if(LineNumber == 0){ |
chirashi | 19:26e0fae24da6 | 916 | DisplayMode = 4; |
chirashi | 19:26e0fae24da6 | 917 | }else{ |
chirashi | 19:26e0fae24da6 | 918 | DisplayMode = 1; |
chirashi | 19:26e0fae24da6 | 919 | } |
chirashi | 33:c934bc793c5a | 920 | |
chirashi | 33:c934bc793c5a | 921 | //SDCard |
chirashi | 33:c934bc793c5a | 922 | //種別 |
chirashi | 33:c934bc793c5a | 923 | sprintf(SDFilePath,"/sd/E233/Kind/%d.bin",KindNumber); |
chirashi | 33:c934bc793c5a | 924 | SDBufferWrite(LEDBuffer,0,0,48,32,0); |
chirashi | 33:c934bc793c5a | 925 | sprintf(SDFilePath,"/sd/E233/Kind/%d.bin",KindNumber); |
chirashi | 33:c934bc793c5a | 926 | SDBufferWrite(LEDBuffer2,0,0,48,32,0); |
chirashi | 33:c934bc793c5a | 927 | //種別(英語) |
chirashi | 33:c934bc793c5a | 928 | sprintf(SDFilePath,"/sd/E233/KindE/%d.bin",KindNumber); |
chirashi | 33:c934bc793c5a | 929 | SDBufferWrite(LEDBuffer3,0,0,48,32,0); |
chirashi | 33:c934bc793c5a | 930 | |
chirashi | 33:c934bc793c5a | 931 | //路線名 |
chirashi | 33:c934bc793c5a | 932 | sprintf(SDFilePath,"/sd/E233/Line/%d.bin",LineNumber); |
chirashi | 33:c934bc793c5a | 933 | //路線名データが読み込めない場合(返って来た値が0でない場合)2段階表示に変更 |
chirashi | 33:c934bc793c5a | 934 | if(SDBufferWrite(LEDBuffer,48,0,80,32,0) != 0){ |
chirashi | 33:c934bc793c5a | 935 | DisplayMode = 4; |
chirashi | 33:c934bc793c5a | 936 | } |
chirashi | 33:c934bc793c5a | 937 | |
chirashi | 33:c934bc793c5a | 938 | //行先 |
chirashi | 33:c934bc793c5a | 939 | sprintf(SDFilePath,"/sd/E233/For/%d.bin",ForNumber); |
chirashi | 33:c934bc793c5a | 940 | SDBufferWrite(LEDBuffer2,48,0,80,16,0); |
chirashi | 33:c934bc793c5a | 941 | //行先(英語) |
chirashi | 33:c934bc793c5a | 942 | //sprintf(SDFilePath,"/sd/E233/ForE/%d.bin",ForNumber); |
chirashi | 33:c934bc793c5a | 943 | //SDBufferWrite(LEDBuffer3,48,0,80,16,0); |
chirashi | 33:c934bc793c5a | 944 | sprintf(SDFilePath,"/sd/E233/For/%d.bin",ForNumber); |
chirashi | 33:c934bc793c5a | 945 | SDBufferWrite(LEDBuffer3,48,0,80,16,1280); |
chirashi | 33:c934bc793c5a | 946 | |
chirashi | 33:c934bc793c5a | 947 | //次停車駅(路線名表示) |
chirashi | 33:c934bc793c5a | 948 | //路線名表示の次停車駅は路線名表示が上半分に収まるときのみ表示 |
chirashi | 33:c934bc793c5a | 949 | if(BufferBlankCheck() == 0){ |
chirashi | 33:c934bc793c5a | 950 | sprintf(SDFilePath,"/sd/E233/NextStation/%d.bin",NextStaNumber); |
chirashi | 33:c934bc793c5a | 951 | SDBufferWrite(LEDBuffer,48,16,80,16,0); |
chirashi | 33:c934bc793c5a | 952 | }else if(Scroll == 1){ |
chirashi | 33:c934bc793c5a | 953 | //路線名が下半分も使用している&スクロール有効の場合4段階表示に切り替え |
chirashi | 33:c934bc793c5a | 954 | DisplayMode = 5; |
chirashi | 33:c934bc793c5a | 955 | sprintf(SDFilePath,"/sd/E233/Kind/%d.bin",KindNumber); |
chirashi | 33:c934bc793c5a | 956 | SDBufferWrite(LEDBuffer4,0,0,48,32,0); |
chirashi | 33:c934bc793c5a | 957 | sprintf(SDFilePath,"/sd/E233/Line/%d.bin",LineNumber); |
chirashi | 33:c934bc793c5a | 958 | SDBufferWrite(LEDBuffer4,48,0,80,16,1280); |
chirashi | 33:c934bc793c5a | 959 | } |
chirashi | 33:c934bc793c5a | 960 | //次停車駅 |
chirashi | 33:c934bc793c5a | 961 | sprintf(SDFilePath,"/sd/E233/NextStation/%d.bin",NextStaNumber); |
chirashi | 33:c934bc793c5a | 962 | SDBufferWrite(LEDBuffer2,48,16,80,16,0); |
chirashi | 33:c934bc793c5a | 963 | //次停車駅(英語) |
chirashi | 33:c934bc793c5a | 964 | //sprintf(SDFilePath,"/sd/E233/NextStationE/%d.bin",NextStaNumber); |
chirashi | 33:c934bc793c5a | 965 | //SDBufferWrite(LEDBuffer3,48,16,80,16,0); |
chirashi | 33:c934bc793c5a | 966 | sprintf(SDFilePath,"/sd/E233/NextStation/%d.bin",NextStaNumber); |
chirashi | 33:c934bc793c5a | 967 | SDBufferWrite(LEDBuffer3,48,16,80,16,1280); |
chirashi | 33:c934bc793c5a | 968 | |
chirashi | 33:c934bc793c5a | 969 | |
chirashi | 33:c934bc793c5a | 970 | |
chirashi | 24:7232abdf7884 | 971 | |
chirashi | 24:7232abdf7884 | 972 | //2段階(次駅なし) |
chirashi | 19:26e0fae24da6 | 973 | //次駅コードが0なら次駅なしの2段階表示に変更 |
chirashi | 33:c934bc793c5a | 974 | // 2段階表示 LEDBuffer5 [種別]行先(次駅表示なし) |
chirashi | 33:c934bc793c5a | 975 | // LEDBuffer6 [種別]路線名 |
chirashi | 19:26e0fae24da6 | 976 | //路線名がない場合(E233-0など)は固定表示 |
chirashi | 19:26e0fae24da6 | 977 | |
chirashi | 19:26e0fae24da6 | 978 | if(NextStaNumber == 0){ |
chirashi | 19:26e0fae24da6 | 979 | //種別 |
chirashi | 19:26e0fae24da6 | 980 | sprintf(SDFilePath,"/sd/E233/Kind/%d.bin",KindNumber); |
chirashi | 33:c934bc793c5a | 981 | //SDBufferWrite(LEDBuffer,0,0,48,32,0); |
chirashi | 33:c934bc793c5a | 982 | //SDBufferWrite(LEDBuffer2,0,0,48,32,0); |
chirashi | 33:c934bc793c5a | 983 | SDBufferWrite(LEDBuffer5,0,0,48,32,0); |
chirashi | 33:c934bc793c5a | 984 | SDBufferWrite(LEDBuffer6,0,0,48,32,0); |
chirashi | 19:26e0fae24da6 | 985 | |
chirashi | 19:26e0fae24da6 | 986 | //路線名 |
chirashi | 19:26e0fae24da6 | 987 | sprintf(SDFilePath,"/sd/E233/Line2/%d.bin",LineNumber); |
chirashi | 33:c934bc793c5a | 988 | //SDBufferWrite(LEDBuffer2,48,0,80,32,0); |
chirashi | 33:c934bc793c5a | 989 | SDBufferWrite(LEDBuffer6,48,0,80,32,0); |
chirashi | 19:26e0fae24da6 | 990 | //行先 |
chirashi | 19:26e0fae24da6 | 991 | sprintf(SDFilePath,"/sd/E233/For2/%d.bin",ForNumber); |
chirashi | 33:c934bc793c5a | 992 | //SDBufferWrite(LEDBuffer,48,0,80,32,0); |
chirashi | 33:c934bc793c5a | 993 | SDBufferWrite(LEDBuffer5,48,0,80,32,0); |
chirashi | 19:26e0fae24da6 | 994 | |
chirashi | 19:26e0fae24da6 | 995 | //路線コードが0なら行先で固定表示 |
chirashi | 19:26e0fae24da6 | 996 | if(LineNumber == 0){ |
chirashi | 19:26e0fae24da6 | 997 | DisplayMode = 3; |
chirashi | 19:26e0fae24da6 | 998 | }else{ |
chirashi | 19:26e0fae24da6 | 999 | DisplayMode = 2; |
chirashi | 19:26e0fae24da6 | 1000 | } |
chirashi | 19:26e0fae24da6 | 1001 | } |
chirashi | 19:26e0fae24da6 | 1002 | |
chirashi | 24:7232abdf7884 | 1003 | |
chirashi | 24:7232abdf7884 | 1004 | //全面種別固定表示 |
chirashi | 24:7232abdf7884 | 1005 | //路線名、行先、次駅がすべて0なら種別を全面に固定表示 |
chirashi | 24:7232abdf7884 | 1006 | if(LineNumber == 0 && ForNumber == 0 && NextStaNumber == 0){ |
chirashi | 24:7232abdf7884 | 1007 | |
chirashi | 24:7232abdf7884 | 1008 | //種別 |
chirashi | 24:7232abdf7884 | 1009 | sprintf(SDFilePath,"/sd/E233/Kind/%d.bin",KindNumber); |
chirashi | 33:c934bc793c5a | 1010 | SDBufferWrite(LEDBuffer,0,0,48,32,0); |
chirashi | 24:7232abdf7884 | 1011 | sprintf(SDFilePath,"/sd/E233/Kind2/%d.bin",KindNumber); |
chirashi | 33:c934bc793c5a | 1012 | SDBufferWrite(LEDBuffer,0,0,128,32,0); |
chirashi | 24:7232abdf7884 | 1013 | //固定表示に変更 |
chirashi | 24:7232abdf7884 | 1014 | DisplayMode = 3; |
chirashi | 24:7232abdf7884 | 1015 | } |
chirashi | 24:7232abdf7884 | 1016 | |
chirashi | 33:c934bc793c5a | 1017 | //全面行先固定表示 |
chirashi | 33:c934bc793c5a | 1018 | //DisplayMode:3 固定表示 LEDBuffer 行先(次駅表示なし 32x128) |
chirashi | 33:c934bc793c5a | 1019 | //路線名、種別、次駅がすべて0なら行先を全面に固定表示 |
chirashi | 33:c934bc793c5a | 1020 | if(LineNumber == 0 && KindNumber == 0 && NextStaNumber == 0){ |
chirashi | 19:26e0fae24da6 | 1021 | //データ作ってないからとりあえず80x32の行先データを表示 |
chirashi | 33:c934bc793c5a | 1022 | //前面行先データフォルダ:For3 |
chirashi | 19:26e0fae24da6 | 1023 | |
chirashi | 33:c934bc793c5a | 1024 | sprintf(SDFilePath,"/sd/E233/For3/%d.bin",ForNumber); |
chirashi | 33:c934bc793c5a | 1025 | SDBufferWrite(LEDBuffer,0,0,128,32,0); |
chirashi | 33:c934bc793c5a | 1026 | //固定表示に変更 |
chirashi | 19:26e0fae24da6 | 1027 | DisplayMode = 3; |
chirashi | 19:26e0fae24da6 | 1028 | } |
chirashi | 18:b8563e3319fd | 1029 | |
chirashi | 20:4f9719182866 | 1030 | //Debug |
chirashi | 20:4f9719182866 | 1031 | if(Debug == 1){ |
chirashi | 20:4f9719182866 | 1032 | //DataSerialOut |
chirashi | 20:4f9719182866 | 1033 | for(int y = 0; y < 32; y++){ |
chirashi | 20:4f9719182866 | 1034 | for(int x = 0; x <128; x++){ |
chirashi | 20:4f9719182866 | 1035 | if(LEDBuffer[y][x]== 0){ |
chirashi | 20:4f9719182866 | 1036 | //pc.printf("0,"); |
chirashi | 20:4f9719182866 | 1037 | pc.printf(" "); |
chirashi | 20:4f9719182866 | 1038 | }else{ |
chirashi | 20:4f9719182866 | 1039 | //pc.printf("#"); |
chirashi | 20:4f9719182866 | 1040 | pc.printf("%.02d",LEDBuffer[y][x]); |
chirashi | 20:4f9719182866 | 1041 | } |
chirashi | 20:4f9719182866 | 1042 | } |
chirashi | 20:4f9719182866 | 1043 | pc.printf("\r\n"); |
chirashi | 20:4f9719182866 | 1044 | } |
chirashi | 20:4f9719182866 | 1045 | } |
chirashi | 18:b8563e3319fd | 1046 | |
chirashi | 18:b8563e3319fd | 1047 | } |
chirashi | 18:b8563e3319fd | 1048 | |
chirashi | 18:b8563e3319fd | 1049 | |
chirashi | 31:d186b04b983e | 1050 | int CharToInt(unsigned char Sertemp1,unsigned char Sertemp2,unsigned char Sertemp3){ |
chirashi | 31:d186b04b983e | 1051 | int n1 = 0 ; |
chirashi | 31:d186b04b983e | 1052 | int n2 = 0 ; |
chirashi | 31:d186b04b983e | 1053 | int n3 = 0 ; |
chirashi | 31:d186b04b983e | 1054 | int n = 0; |
chirashi | 31:d186b04b983e | 1055 | |
chirashi | 31:d186b04b983e | 1056 | if ( Sertemp1 < '0' || Sertemp1 > '9' ) { |
chirashi | 31:d186b04b983e | 1057 | // error |
chirashi | 31:d186b04b983e | 1058 | } else { |
chirashi | 31:d186b04b983e | 1059 | n1 = (int)(Sertemp1 - '0') ; |
chirashi | 31:d186b04b983e | 1060 | //pc.printf("%d,",n1); |
chirashi | 31:d186b04b983e | 1061 | } |
chirashi | 31:d186b04b983e | 1062 | if ( Sertemp2 < '0' || Sertemp2 > '9' ) { |
chirashi | 31:d186b04b983e | 1063 | // error |
chirashi | 31:d186b04b983e | 1064 | } else { |
chirashi | 31:d186b04b983e | 1065 | n2 = (int)(Sertemp2 - '0') ; |
chirashi | 31:d186b04b983e | 1066 | //pc.printf("%d,",n2); |
chirashi | 31:d186b04b983e | 1067 | } |
chirashi | 31:d186b04b983e | 1068 | if ( Sertemp3 < '0' || Sertemp3 > '9' ) { |
chirashi | 31:d186b04b983e | 1069 | // error |
chirashi | 31:d186b04b983e | 1070 | } else { |
chirashi | 31:d186b04b983e | 1071 | n3 = (int)(Sertemp3 - '0') ; |
chirashi | 31:d186b04b983e | 1072 | //pc.printf("%d\r\n",n3); |
chirashi | 31:d186b04b983e | 1073 | } |
chirashi | 31:d186b04b983e | 1074 | n = (n1 * 100) + (n2 * 10) + n3; |
chirashi | 31:d186b04b983e | 1075 | return n; |
chirashi | 31:d186b04b983e | 1076 | } |
chirashi | 31:d186b04b983e | 1077 | |
chirashi | 31:d186b04b983e | 1078 | |
chirashi | 17:95bcbc53d96b | 1079 | void pc_rx(){ |
chirashi | 17:95bcbc53d96b | 1080 | //pc.putc(pc.getc()); |
chirashi | 17:95bcbc53d96b | 1081 | |
chirashi | 22:ebab951db9f6 | 1082 | OE = HIGH; |
chirashi | 17:95bcbc53d96b | 1083 | |
chirashi | 17:95bcbc53d96b | 1084 | if (pc.readable() == 1) { // 受信したデータが存在する |
chirashi | 30:3ac9aa4faa34 | 1085 | if (busyflag == false){ |
chirashi | 30:3ac9aa4faa34 | 1086 | SerialBuffer[count] = pc.getc(); // 受信データを読み込む |
chirashi | 30:3ac9aa4faa34 | 1087 | |
chirashi | 30:3ac9aa4faa34 | 1088 | }else{ |
chirashi | 30:3ac9aa4faa34 | 1089 | pc.printf("busy\r\n"); |
chirashi | 30:3ac9aa4faa34 | 1090 | } |
chirashi | 30:3ac9aa4faa34 | 1091 | |
chirashi | 30:3ac9aa4faa34 | 1092 | if (count > 29 || SerialBuffer[count] == '$') { // 文字数が既定の個数を超えた場合、又は終了文字を受信した場合 |
chirashi | 30:3ac9aa4faa34 | 1093 | busyflag = true; |
chirashi | 30:3ac9aa4faa34 | 1094 | |
chirashi | 30:3ac9aa4faa34 | 1095 | //SerialBuffer[count] = '\0'; // 末尾に終端文字を入れる |
chirashi | 30:3ac9aa4faa34 | 1096 | |
chirashi | 30:3ac9aa4faa34 | 1097 | for(int a = 0; a < count; a++){ |
chirashi | 30:3ac9aa4faa34 | 1098 | ABuffer[a] = SerialBuffer[a]; |
chirashi | 30:3ac9aa4faa34 | 1099 | } |
chirashi | 30:3ac9aa4faa34 | 1100 | |
chirashi | 17:95bcbc53d96b | 1101 | count = 0; |
chirashi | 24:7232abdf7884 | 1102 | |
chirashi | 24:7232abdf7884 | 1103 | //路線名 L |
chirashi | 30:3ac9aa4faa34 | 1104 | if(ABuffer[0] == 'L'){ |
chirashi | 31:d186b04b983e | 1105 | //路線名 L |
chirashi | 31:d186b04b983e | 1106 | //ABuffer[0]は'L' |
chirashi | 31:d186b04b983e | 1107 | LineNumber = CharToInt(ABuffer[1],ABuffer[2],ABuffer[3]); |
chirashi | 31:d186b04b983e | 1108 | pc.printf("Line:%d\r\n",LineNumber); |
chirashi | 18:b8563e3319fd | 1109 | } |
chirashi | 18:b8563e3319fd | 1110 | |
chirashi | 24:7232abdf7884 | 1111 | //種別 K |
chirashi | 30:3ac9aa4faa34 | 1112 | if(ABuffer[0] == 'K'){ |
chirashi | 31:d186b04b983e | 1113 | //種別 K |
chirashi | 31:d186b04b983e | 1114 | //ABuffer[0]は'K' |
chirashi | 31:d186b04b983e | 1115 | KindNumber = CharToInt(ABuffer[1],ABuffer[2],ABuffer[3]); |
chirashi | 31:d186b04b983e | 1116 | pc.printf("Kind:%d\r\n",KindNumber); |
chirashi | 18:b8563e3319fd | 1117 | } |
chirashi | 18:b8563e3319fd | 1118 | |
chirashi | 24:7232abdf7884 | 1119 | //行先 F |
chirashi | 30:3ac9aa4faa34 | 1120 | if(ABuffer[0] == 'F'){ |
chirashi | 31:d186b04b983e | 1121 | //行先 F |
chirashi | 31:d186b04b983e | 1122 | //ABuffer[0]は'F' |
chirashi | 31:d186b04b983e | 1123 | ForNumber = CharToInt(ABuffer[1],ABuffer[2],ABuffer[3]); |
chirashi | 31:d186b04b983e | 1124 | pc.printf("For:%d\r\n",ForNumber); |
chirashi | 18:b8563e3319fd | 1125 | } |
chirashi | 18:b8563e3319fd | 1126 | |
chirashi | 31:d186b04b983e | 1127 | //次停車駅 N |
chirashi | 30:3ac9aa4faa34 | 1128 | if(ABuffer[0] == 'N'){ |
chirashi | 31:d186b04b983e | 1129 | //次停車駅 N |
chirashi | 31:d186b04b983e | 1130 | //ABuffer[0]は'N' |
chirashi | 31:d186b04b983e | 1131 | NextStaNumber = CharToInt(ABuffer[1],ABuffer[2],ABuffer[3]); |
chirashi | 31:d186b04b983e | 1132 | pc.printf("NextStation:%d\r\n",NextStaNumber); |
chirashi | 19:26e0fae24da6 | 1133 | } |
chirashi | 18:b8563e3319fd | 1134 | |
chirashi | 33:c934bc793c5a | 1135 | |
chirashi | 33:c934bc793c5a | 1136 | |
chirashi | 33:c934bc793c5a | 1137 | //起動 Set |
chirashi | 33:c934bc793c5a | 1138 | if(ABuffer[0] == 'S' && ABuffer[1] == 'e' && ABuffer[2] == 't'){ |
chirashi | 33:c934bc793c5a | 1139 | pc.printf("Set\r\n"); |
chirashi | 33:c934bc793c5a | 1140 | SDFileRead(); |
chirashi | 33:c934bc793c5a | 1141 | }else if(ABuffer[0] == 'S'){ |
chirashi | 33:c934bc793c5a | 1142 | //スクロール有効/無効 S |
chirashi | 30:3ac9aa4faa34 | 1143 | unsigned char Sertemp1 = ABuffer[1]; |
chirashi | 24:7232abdf7884 | 1144 | int n1 = 0 ; |
chirashi | 24:7232abdf7884 | 1145 | int n = 0; |
chirashi | 24:7232abdf7884 | 1146 | |
chirashi | 24:7232abdf7884 | 1147 | if ( Sertemp1 < '0' || Sertemp1 > '9' ) { |
chirashi | 24:7232abdf7884 | 1148 | // error |
chirashi | 24:7232abdf7884 | 1149 | } else { |
chirashi | 24:7232abdf7884 | 1150 | n1 = (int)(Sertemp1 - '0') ; |
chirashi | 24:7232abdf7884 | 1151 | //pc.printf("%d,",n1); |
chirashi | 24:7232abdf7884 | 1152 | } |
chirashi | 24:7232abdf7884 | 1153 | |
chirashi | 24:7232abdf7884 | 1154 | n = n1; |
chirashi | 24:7232abdf7884 | 1155 | Scroll = n; |
chirashi | 24:7232abdf7884 | 1156 | pc.printf("Scroll:%d\r\n",n); |
chirashi | 24:7232abdf7884 | 1157 | } |
chirashi | 24:7232abdf7884 | 1158 | |
chirashi | 31:d186b04b983e | 1159 | //データ一括設定 |
chirashi | 31:d186b04b983e | 1160 | //先頭文字:'A' |
chirashi | 31:d186b04b983e | 1161 | if(ABuffer[0] == 'A'){ |
chirashi | 31:d186b04b983e | 1162 | //路線名 L |
chirashi | 31:d186b04b983e | 1163 | //ABuffer[1]は'L' |
chirashi | 31:d186b04b983e | 1164 | LineNumber = CharToInt(ABuffer[2],ABuffer[3],ABuffer[4]); |
chirashi | 31:d186b04b983e | 1165 | pc.printf("Line:%d\r\n",LineNumber); |
chirashi | 31:d186b04b983e | 1166 | |
chirashi | 31:d186b04b983e | 1167 | //種別 K |
chirashi | 31:d186b04b983e | 1168 | //ABuffer[5]は'K' |
chirashi | 31:d186b04b983e | 1169 | KindNumber = CharToInt(ABuffer[6],ABuffer[7],ABuffer[8]); |
chirashi | 31:d186b04b983e | 1170 | pc.printf("Kind:%d\r\n",KindNumber); |
chirashi | 31:d186b04b983e | 1171 | |
chirashi | 31:d186b04b983e | 1172 | //行先 F |
chirashi | 31:d186b04b983e | 1173 | //ABuffer[9]は'F' |
chirashi | 31:d186b04b983e | 1174 | ForNumber = CharToInt(ABuffer[10],ABuffer[11],ABuffer[12]); |
chirashi | 31:d186b04b983e | 1175 | pc.printf("For:%d\r\n",ForNumber); |
chirashi | 31:d186b04b983e | 1176 | |
chirashi | 31:d186b04b983e | 1177 | //次停車駅 N |
chirashi | 31:d186b04b983e | 1178 | //ABuffer[13]は'N' |
chirashi | 31:d186b04b983e | 1179 | NextStaNumber = CharToInt(ABuffer[14],ABuffer[15],ABuffer[16]); |
chirashi | 31:d186b04b983e | 1180 | pc.printf("NextStation:%d\r\n",NextStaNumber); |
chirashi | 31:d186b04b983e | 1181 | |
chirashi | 31:d186b04b983e | 1182 | //一括設定時は続けてSDからの読み込み |
chirashi | 31:d186b04b983e | 1183 | pc.printf("Set\r\n"); |
chirashi | 31:d186b04b983e | 1184 | SDFileRead(); |
chirashi | 31:d186b04b983e | 1185 | Scroll = 0; |
chirashi | 31:d186b04b983e | 1186 | //即時反映 |
chirashi | 31:d186b04b983e | 1187 | TimerTick(); |
chirashi | 31:d186b04b983e | 1188 | } |
chirashi | 31:d186b04b983e | 1189 | |
chirashi | 32:3bf210e07de7 | 1190 | //データ一括設定2 |
chirashi | 32:3bf210e07de7 | 1191 | //先頭文字:'B' |
chirashi | 33:c934bc793c5a | 1192 | //BLxxxNxxxPxxxyyyzzzKxxxFxxxSx$ |
chirashi | 33:c934bc793c5a | 1193 | //Lxxx:路線コード |
chirashi | 33:c934bc793c5a | 1194 | //Nxxx:次駅コード |
chirashi | 33:c934bc793c5a | 1195 | //Pxxxyyyzzz:停車駅パターン(xxx:運用パターン番号 yyy:始発駅コード zzz:終着駅コード) |
chirashi | 33:c934bc793c5a | 1196 | //Kxxx:種別コード |
chirashi | 33:c934bc793c5a | 1197 | //Fxxx:行先コード |
chirashi | 33:c934bc793c5a | 1198 | //Sx:スクロール(1:有効 0:無効) |
chirashi | 32:3bf210e07de7 | 1199 | if(ABuffer[0] == 'B'){ |
chirashi | 32:3bf210e07de7 | 1200 | //路線名 L |
chirashi | 32:3bf210e07de7 | 1201 | //ABuffer[1]は'L' |
chirashi | 32:3bf210e07de7 | 1202 | LineNumber = CharToInt(ABuffer[2],ABuffer[3],ABuffer[4]); |
chirashi | 32:3bf210e07de7 | 1203 | pc.printf("Line:%d\r\n",LineNumber); |
chirashi | 32:3bf210e07de7 | 1204 | |
chirashi | 32:3bf210e07de7 | 1205 | //次停車駅 N |
chirashi | 32:3bf210e07de7 | 1206 | //ABuffer[5]は'N' |
chirashi | 32:3bf210e07de7 | 1207 | NextStaNumber = CharToInt(ABuffer[6],ABuffer[7],ABuffer[8]); |
chirashi | 32:3bf210e07de7 | 1208 | pc.printf("NextStation:%d\r\n",NextStaNumber); |
chirashi | 32:3bf210e07de7 | 1209 | |
chirashi | 32:3bf210e07de7 | 1210 | //運用パターン P |
chirashi | 32:3bf210e07de7 | 1211 | //Pxxxyyyzzz |
chirashi | 32:3bf210e07de7 | 1212 | //x:運用パターン番号(3桁) |
chirashi | 32:3bf210e07de7 | 1213 | //y:始発駅(3桁) |
chirashi | 32:3bf210e07de7 | 1214 | //z:終着駅(3桁) |
chirashi | 32:3bf210e07de7 | 1215 | //ABuffer[9]は'P' |
chirashi | 32:3bf210e07de7 | 1216 | RoutePatternNumber = CharToInt(ABuffer[10],ABuffer[11],ABuffer[12]); |
chirashi | 32:3bf210e07de7 | 1217 | pc.printf("RoutePattern:%d\r\n",RoutePatternNumber); |
chirashi | 32:3bf210e07de7 | 1218 | |
chirashi | 32:3bf210e07de7 | 1219 | DeptStaNumber = CharToInt(ABuffer[13],ABuffer[14],ABuffer[15]); |
chirashi | 32:3bf210e07de7 | 1220 | pc.printf("DeptStaNumber:%d\r\n",DeptStaNumber); |
chirashi | 32:3bf210e07de7 | 1221 | TermStaNumber = CharToInt(ABuffer[16],ABuffer[17],ABuffer[18]); |
chirashi | 32:3bf210e07de7 | 1222 | pc.printf("TermStaNumber:%d\r\n",TermStaNumber); |
chirashi | 32:3bf210e07de7 | 1223 | |
chirashi | 33:c934bc793c5a | 1224 | //種別 K |
chirashi | 33:c934bc793c5a | 1225 | //ABuffer[19]は'K' |
chirashi | 33:c934bc793c5a | 1226 | KindNumber = CharToInt(ABuffer[20],ABuffer[21],ABuffer[22]); |
chirashi | 33:c934bc793c5a | 1227 | pc.printf("Kind:%d\r\n",KindNumber); |
chirashi | 33:c934bc793c5a | 1228 | |
chirashi | 33:c934bc793c5a | 1229 | //行先 F |
chirashi | 33:c934bc793c5a | 1230 | //ABuffer[23]は'F' |
chirashi | 33:c934bc793c5a | 1231 | ForNumber = CharToInt(ABuffer[24],ABuffer[25],ABuffer[26]); |
chirashi | 33:c934bc793c5a | 1232 | pc.printf("For:%d\r\n",ForNumber); |
chirashi | 33:c934bc793c5a | 1233 | |
chirashi | 33:c934bc793c5a | 1234 | //スクロール S |
chirashi | 33:c934bc793c5a | 1235 | if(ABuffer[27] == 'S'){ |
chirashi | 33:c934bc793c5a | 1236 | //スクロール有効/無効 S |
chirashi | 33:c934bc793c5a | 1237 | unsigned char Sertemp1 = ABuffer[28]; |
chirashi | 33:c934bc793c5a | 1238 | int n1 = 0 ; |
chirashi | 33:c934bc793c5a | 1239 | int n = 0; |
chirashi | 33:c934bc793c5a | 1240 | |
chirashi | 33:c934bc793c5a | 1241 | if ( Sertemp1 < '0' || Sertemp1 > '9' ) { |
chirashi | 33:c934bc793c5a | 1242 | // error |
chirashi | 33:c934bc793c5a | 1243 | } else { |
chirashi | 33:c934bc793c5a | 1244 | n1 = (int)(Sertemp1 - '0') ; |
chirashi | 33:c934bc793c5a | 1245 | //pc.printf("%d,",n1); |
chirashi | 33:c934bc793c5a | 1246 | } |
chirashi | 33:c934bc793c5a | 1247 | |
chirashi | 33:c934bc793c5a | 1248 | n = n1; |
chirashi | 33:c934bc793c5a | 1249 | Scroll = n; |
chirashi | 33:c934bc793c5a | 1250 | pc.printf("Scroll:%d\r\n",n); |
chirashi | 33:c934bc793c5a | 1251 | } |
chirashi | 33:c934bc793c5a | 1252 | |
chirashi | 32:3bf210e07de7 | 1253 | |
chirashi | 32:3bf210e07de7 | 1254 | //一括設定時は続けてSDからの読み込み |
chirashi | 32:3bf210e07de7 | 1255 | pc.printf("Set\r\n"); |
chirashi | 32:3bf210e07de7 | 1256 | SDFileRead(); |
chirashi | 32:3bf210e07de7 | 1257 | ScrollRead2(); |
chirashi | 33:c934bc793c5a | 1258 | //Scroll = 1; |
chirashi | 32:3bf210e07de7 | 1259 | //即時反映 |
chirashi | 32:3bf210e07de7 | 1260 | TimerTick(); |
chirashi | 33:c934bc793c5a | 1261 | } |
chirashi | 33:c934bc793c5a | 1262 | busyflag = false; |
chirashi | 33:c934bc793c5a | 1263 | }else{ |
chirashi | 33:c934bc793c5a | 1264 | count++; |
chirashi | 33:c934bc793c5a | 1265 | } |
chirashi | 17:95bcbc53d96b | 1266 | } |
chirashi | 22:ebab951db9f6 | 1267 | OE = LOW; |
chirashi | 17:95bcbc53d96b | 1268 | } |
chirashi | 17:95bcbc53d96b | 1269 | |
chirashi | 32:3bf210e07de7 | 1270 | void ScrollRead(){ |
chirashi | 32:3bf210e07de7 | 1271 | //test |
chirashi | 32:3bf210e07de7 | 1272 | //Initialize StopStationCode |
chirashi | 32:3bf210e07de7 | 1273 | for (int x = 0; x < MaxStopStation; x++){ |
chirashi | 32:3bf210e07de7 | 1274 | StopStationCode[x]= 0; |
chirashi | 32:3bf210e07de7 | 1275 | } |
chirashi | 32:3bf210e07de7 | 1276 | |
chirashi | 32:3bf210e07de7 | 1277 | //SDRead StopStationCode |
chirashi | 32:3bf210e07de7 | 1278 | for(int i = 0; i < MaxStopStation; i++){ |
chirashi | 32:3bf210e07de7 | 1279 | |
chirashi | 32:3bf210e07de7 | 1280 | //停車駅コード取得 |
chirashi | 32:3bf210e07de7 | 1281 | int test = 0; |
chirashi | 32:3bf210e07de7 | 1282 | int test2 = 0; |
chirashi | 32:3bf210e07de7 | 1283 | sprintf(SDFilePath,"/sd/E233/StopStationList/%d.bin",1); |
chirashi | 32:3bf210e07de7 | 1284 | FILE *fp = fopen(SDFilePath, "r"); |
chirashi | 32:3bf210e07de7 | 1285 | if(fp == NULL) { |
chirashi | 32:3bf210e07de7 | 1286 | pc.printf("SDFileOpen Error %s\r\n",SDFilePath); |
chirashi | 32:3bf210e07de7 | 1287 | break; |
chirashi | 32:3bf210e07de7 | 1288 | |
chirashi | 32:3bf210e07de7 | 1289 | }else{ |
chirashi | 32:3bf210e07de7 | 1290 | //pc.printf("SDFileOpen Success %s\r\n",SDFilePath); |
chirashi | 32:3bf210e07de7 | 1291 | fseek(fp, i*2, SEEK_SET); |
chirashi | 32:3bf210e07de7 | 1292 | test = getc(fp); |
chirashi | 32:3bf210e07de7 | 1293 | test = test << 8; |
chirashi | 32:3bf210e07de7 | 1294 | |
chirashi | 32:3bf210e07de7 | 1295 | fseek(fp, i*2 + 1, SEEK_SET); |
chirashi | 32:3bf210e07de7 | 1296 | test2 = getc(fp); |
chirashi | 32:3bf210e07de7 | 1297 | test = test ^ test2; |
chirashi | 32:3bf210e07de7 | 1298 | |
chirashi | 32:3bf210e07de7 | 1299 | StopStationCode[i] = test; |
chirashi | 32:3bf210e07de7 | 1300 | pc.printf("StopStationCode[%d]:%d\r\n",i,StopStationCode[i]); |
chirashi | 32:3bf210e07de7 | 1301 | |
chirashi | 32:3bf210e07de7 | 1302 | if(StopStationCode[i] == 0){ |
chirashi | 32:3bf210e07de7 | 1303 | break; |
chirashi | 32:3bf210e07de7 | 1304 | } |
chirashi | 32:3bf210e07de7 | 1305 | fclose(fp); |
chirashi | 32:3bf210e07de7 | 1306 | } |
chirashi | 32:3bf210e07de7 | 1307 | } |
chirashi | 32:3bf210e07de7 | 1308 | |
chirashi | 32:3bf210e07de7 | 1309 | //test end |
chirashi | 32:3bf210e07de7 | 1310 | |
chirashi | 32:3bf210e07de7 | 1311 | //ScrollDebug |
chirashi | 32:3bf210e07de7 | 1312 | ScrollWriteCount = 80; |
chirashi | 32:3bf210e07de7 | 1313 | |
chirashi | 32:3bf210e07de7 | 1314 | //この電車の停車駅は、 |
chirashi | 32:3bf210e07de7 | 1315 | sprintf(SDFilePath,"/sd/E233/StopStation/StopStation%d.bin",1); |
chirashi | 32:3bf210e07de7 | 1316 | SDScrollBufferWrite(ScrollBuffer,ScrollWriteCount,0,80,16); |
chirashi | 32:3bf210e07de7 | 1317 | ScrollWriteCount = ScrollWriteCount + 80; |
chirashi | 32:3bf210e07de7 | 1318 | sprintf(SDFilePath,"/sd/E233/StopStation/StopStation%d.bin",2); |
chirashi | 32:3bf210e07de7 | 1319 | SDScrollBufferWrite(ScrollBuffer,ScrollWriteCount,0,80,16); |
chirashi | 32:3bf210e07de7 | 1320 | ScrollWriteCount = ScrollWriteCount + 80; |
chirashi | 32:3bf210e07de7 | 1321 | |
chirashi | 32:3bf210e07de7 | 1322 | for(int i = 0; i < MaxStopStation; i++){ |
chirashi | 32:3bf210e07de7 | 1323 | if(StopStationCode[i] == 0){ |
chirashi | 32:3bf210e07de7 | 1324 | break; |
chirashi | 32:3bf210e07de7 | 1325 | } |
chirashi | 32:3bf210e07de7 | 1326 | //駅名 |
chirashi | 32:3bf210e07de7 | 1327 | sprintf(SDFilePath,"/sd/E233/StationName/%d.bin",StopStationCode[i]); |
chirashi | 32:3bf210e07de7 | 1328 | SDScrollBufferWrite(ScrollBuffer,ScrollWriteCount,0,128,16); |
chirashi | 32:3bf210e07de7 | 1329 | |
chirashi | 32:3bf210e07de7 | 1330 | //駅名文字数取得 |
chirashi | 32:3bf210e07de7 | 1331 | int test = 0; |
chirashi | 32:3bf210e07de7 | 1332 | sprintf(SDFilePath,"/sd/E233/StationNameLength.bin"); |
chirashi | 32:3bf210e07de7 | 1333 | FILE *fp = fopen(SDFilePath, "r"); |
chirashi | 32:3bf210e07de7 | 1334 | if(fp == NULL) { |
chirashi | 32:3bf210e07de7 | 1335 | pc.printf("SDFileOpen Error %s\r\n",SDFilePath); |
chirashi | 32:3bf210e07de7 | 1336 | }else{ |
chirashi | 32:3bf210e07de7 | 1337 | //pc.printf("SDFileOpen Success %s\r\n",SDFilePath); |
chirashi | 32:3bf210e07de7 | 1338 | fseek(fp, StopStationCode[i], SEEK_SET); |
chirashi | 32:3bf210e07de7 | 1339 | test = getc(fp); |
chirashi | 32:3bf210e07de7 | 1340 | //pc.printf("StationNameLength:%d\r\n",test); |
chirashi | 32:3bf210e07de7 | 1341 | fclose(fp); |
chirashi | 32:3bf210e07de7 | 1342 | } |
chirashi | 32:3bf210e07de7 | 1343 | |
chirashi | 32:3bf210e07de7 | 1344 | ScrollWriteCount = ScrollWriteCount + (test * 16); |
chirashi | 32:3bf210e07de7 | 1345 | sprintf(SDFilePath,"/sd/E233/StopStation/0x8132.bin"); |
chirashi | 32:3bf210e07de7 | 1346 | SDScrollBufferWrite(ScrollBuffer,ScrollWriteCount,0,16,16); |
chirashi | 32:3bf210e07de7 | 1347 | ScrollWriteCount = ScrollWriteCount + 16; |
chirashi | 32:3bf210e07de7 | 1348 | } |
chirashi | 32:3bf210e07de7 | 1349 | ScrollWriteCount = ScrollWriteCount - 16; |
chirashi | 32:3bf210e07de7 | 1350 | sprintf(SDFilePath,"/sd/E233/StopStation/StopStation%d.bin",3); |
chirashi | 32:3bf210e07de7 | 1351 | SDScrollBufferWrite(ScrollBuffer,ScrollWriteCount,0,80,16); |
chirashi | 32:3bf210e07de7 | 1352 | ScrollWriteCount = ScrollWriteCount + 80; |
chirashi | 32:3bf210e07de7 | 1353 | sprintf(SDFilePath,"/sd/E233/StopStation/StopStation%d.bin",4); |
chirashi | 32:3bf210e07de7 | 1354 | SDScrollBufferWrite(ScrollBuffer,ScrollWriteCount,0,80,16); |
chirashi | 32:3bf210e07de7 | 1355 | ScrollWriteCount = ScrollWriteCount + 80; |
chirashi | 32:3bf210e07de7 | 1356 | |
chirashi | 32:3bf210e07de7 | 1357 | } |
chirashi | 32:3bf210e07de7 | 1358 | |
chirashi | 32:3bf210e07de7 | 1359 | |
chirashi | 32:3bf210e07de7 | 1360 | |
chirashi | 32:3bf210e07de7 | 1361 | |
chirashi | 32:3bf210e07de7 | 1362 | |
chirashi | 32:3bf210e07de7 | 1363 | |
chirashi | 17:95bcbc53d96b | 1364 | int main(){ |
chirashi | 13:0c542447e6da | 1365 | Init(); // Set things up |
chirashi | 13:0c542447e6da | 1366 | //Serial |
chirashi | 13:0c542447e6da | 1367 | pc.printf("Power ON\r\n"); |
chirashi | 13:0c542447e6da | 1368 | |
chirashi | 17:95bcbc53d96b | 1369 | |
chirashi | 29:bc82c25b6b94 | 1370 | //SDカードから表示データを読み込み |
chirashi | 18:b8563e3319fd | 1371 | SDFileRead(); |
chirashi | 25:8b1da0f21d32 | 1372 | |
chirashi | 29:bc82c25b6b94 | 1373 | //起動時にスクロールデータを読み込み |
chirashi | 25:8b1da0f21d32 | 1374 | if(ScrollEnable == 1){ |
chirashi | 32:3bf210e07de7 | 1375 | ScrollRead2(); |
chirashi | 25:8b1da0f21d32 | 1376 | } |
chirashi | 23:6fb1181345a7 | 1377 | |
chirashi | 33:c934bc793c5a | 1378 | //2段階表示に変更 |
chirashi | 33:c934bc793c5a | 1379 | //DisplayMode = 2; |
chirashi | 8:9d22c9910917 | 1380 | |
chirashi | 13:0c542447e6da | 1381 | //Debug |
chirashi | 14:0f4d44927b20 | 1382 | if(Debug == 1){ |
chirashi | 14:0f4d44927b20 | 1383 | //DataSerialOut |
chirashi | 14:0f4d44927b20 | 1384 | for(int y = 0; y < 32; y++){ |
chirashi | 33:c934bc793c5a | 1385 | for(int x = 0; x <LED_Width; x++){ |
chirashi | 14:0f4d44927b20 | 1386 | if(LEDBuffer[y][x]== 0){ |
chirashi | 14:0f4d44927b20 | 1387 | //pc.printf("0,"); |
chirashi | 14:0f4d44927b20 | 1388 | pc.printf(" "); |
chirashi | 14:0f4d44927b20 | 1389 | }else{ |
chirashi | 14:0f4d44927b20 | 1390 | //pc.printf("#"); |
chirashi | 14:0f4d44927b20 | 1391 | pc.printf("%.02d",LEDBuffer[y][x]); |
chirashi | 14:0f4d44927b20 | 1392 | } |
chirashi | 13:0c542447e6da | 1393 | } |
chirashi | 14:0f4d44927b20 | 1394 | pc.printf("\r\n"); |
chirashi | 13:0c542447e6da | 1395 | } |
chirashi | 13:0c542447e6da | 1396 | } |
chirashi | 23:6fb1181345a7 | 1397 | |
chirashi | 23:6fb1181345a7 | 1398 | //test |
chirashi | 28:4cc6aa3acd92 | 1399 | //sprintf(SDFilePath,"/sd/E233/whitetest.bin"); |
chirashi | 24:7232abdf7884 | 1400 | //SDBufferWrite(LEDBuffer,0,0,128,32); |
chirashi | 23:6fb1181345a7 | 1401 | |
chirashi | 33:c934bc793c5a | 1402 | |
chirashi | 33:c934bc793c5a | 1403 | //Serial割り込み有効 |
chirashi | 17:95bcbc53d96b | 1404 | pc.attach(pc_rx, Serial::RxIrq); |
chirashi | 17:95bcbc53d96b | 1405 | |
chirashi | 33:c934bc793c5a | 1406 | //表示切替タイマ有効 |
chirashi | 12:680db9f1f4eb | 1407 | ChangeTimer.attach(&TimerTick,3); |
chirashi | 8:9d22c9910917 | 1408 | |
chirashi | 17:95bcbc53d96b | 1409 | |
chirashi | 13:0c542447e6da | 1410 | while(1) { |
chirashi | 29:bc82c25b6b94 | 1411 | //CT++; |
chirashi | 22:ebab951db9f6 | 1412 | //表示切替は切り替え時にメインバッファに書き込む |
chirashi | 22:ebab951db9f6 | 1413 | Paint(LEDMainBuffer); |
chirashi | 22:ebab951db9f6 | 1414 | |
chirashi | 33:c934bc793c5a | 1415 | //スクロール |
chirashi | 22:ebab951db9f6 | 1416 | //スクロールが有効なら |
chirashi | 22:ebab951db9f6 | 1417 | if(Scroll == 1){ |
chirashi | 29:bc82c25b6b94 | 1418 | //if(CT>0) { |
chirashi | 29:bc82c25b6b94 | 1419 | //CT=0; // Start all over. |
chirashi | 22:ebab951db9f6 | 1420 | OE = HIGH; |
chirashi | 22:ebab951db9f6 | 1421 | ScrollTimerTick(); |
chirashi | 22:ebab951db9f6 | 1422 | OE = LOW; |
chirashi | 29:bc82c25b6b94 | 1423 | //} |
chirashi | 29:bc82c25b6b94 | 1424 | //}else{ |
chirashi | 29:bc82c25b6b94 | 1425 | //if(CT>4160){ |
chirashi | 29:bc82c25b6b94 | 1426 | // CT=0; |
chirashi | 29:bc82c25b6b94 | 1427 | //} |
chirashi | 8:9d22c9910917 | 1428 | } |
chirashi | 4:245f17936b1a | 1429 | //PaintOFF(); |
RRacer | 0:1f58ecec51d6 | 1430 | } |
RRacer | 0:1f58ecec51d6 | 1431 | } |