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