Aliexpressなどで販売されている64x32のフルカラードットマトリクスLED2枚とNucleo F401REを利用して、 E233系の駅停車時、路線名表示ありのLED側面行先表示を再現するプログラムです。 3秒間隔、3段階切替で、路線名、種別、行先、次停車駅を個別に指定することが可能です。

Dependencies:   SDFileSystem mbed

Committer:
chirashi
Date:
Thu Nov 20 10:12:50 2014 +0000
Revision:
19:26e0fae24da6
Parent:
18:b8563e3319fd
Child:
20:4f9719182866
??/2??????;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
RRacer 0:1f58ecec51d6 1 /*
RRacer 0:1f58ecec51d6 2 The goal of this program is to show the basic connections and workings of Adafruits 32x16 RGB LED matrix board (http://www.adafruit.com/products/420),
RRacer 0:1f58ecec51d6 3 also sold on other places, for instance http://www.ebay.com/itm/PH6-RGB-Full-Color-LED-16-32-Dot-Matrix-Display-Module-/310303408628?pt=LH_DefaultDomain_0&hash=item483f8641f4 (no
RRacer 0:1f58ecec51d6 4 affiliation with either of them).
RRacer 0:1f58ecec51d6 5 This program is not intended to be highly optimized or a guideline in C programming in any way (more of the opposite actually).
RRacer 1:dd0dcd303d6d 6 To have more than 7 colors on this thing, you need to implement software PWM of some sort. I have obviously not done that, but if YOU do, please let me know!
RRacer 1:dd0dcd303d6d 7 Adafruit have a wicked demo program for an arduino - www.youtube.com/watch?v=lY-flFEfsHo
RRacer 0:1f58ecec51d6 8 There are probably lots of ways to make this perform better, perhaps by using Neal Hormans port of the Adafruit_GFX library (http://mbed.org/users/nkhorman/code/Adafruit_GFX/).
RRacer 0:1f58ecec51d6 9 No error checking or out-of-bounds checking is done. Use at your own peril.
RRacer 0:1f58ecec51d6 10 For more detailed information on the driver chip, see http://www.bjtopspace.com/ziliao/CYT62726.pdf
RRacer 0:1f58ecec51d6 11 Although the chips on my board says jx15020, I've been informed that they are equvivalent to the CYT62726, and so far it's a match.
RRacer 0:1f58ecec51d6 12 Feel free to use all or parts of this work.
RRacer 0:1f58ecec51d6 13 If you choose to do so, I would appreciate a small mentioning in the scrolling opening credits ;)
RRacer 0:1f58ecec51d6 14
RRacer 0:1f58ecec51d6 15 Best regards,
RRacer 0:1f58ecec51d6 16 Hugo Harming
RRacer 0:1f58ecec51d6 17 upgraded@hotmail.com
RRacer 0:1f58ecec51d6 18 */
RRacer 0:1f58ecec51d6 19
RRacer 0:1f58ecec51d6 20 #include "mbed.h"
chirashi 13:0c542447e6da 21 #include "SDFileSystem.h"
chirashi 13:0c542447e6da 22
RRacer 0:1f58ecec51d6 23 #define LOW 0
RRacer 0:1f58ecec51d6 24 #define HIGH 1
RRacer 0:1f58ecec51d6 25
chirashi 6:e6cb4a476422 26 #define R_Debug1 0
chirashi 6:e6cb4a476422 27 #define R_Debug2 0
chirashi 6:e6cb4a476422 28 #define R_Debug3 0
chirashi 6:e6cb4a476422 29 #define R_Debug4 0
chirashi 6:e6cb4a476422 30
chirashi 6:e6cb4a476422 31 #define G_Debug1 0
chirashi 6:e6cb4a476422 32 #define G_Debug2 0
chirashi 6:e6cb4a476422 33 #define G_Debug3 0
chirashi 6:e6cb4a476422 34 #define G_Debug4 0
chirashi 6:e6cb4a476422 35
chirashi 6:e6cb4a476422 36 #define B_Debug1 0
chirashi 6:e6cb4a476422 37 #define B_Debug2 0
chirashi 6:e6cb4a476422 38 #define B_Debug3 0
chirashi 6:e6cb4a476422 39 #define B_Debug4 0
chirashi 6:e6cb4a476422 40
chirashi 6:e6cb4a476422 41
chirashi 11:4be8dcbad9f1 42 #define LED_Width 128
chirashi 10:4d9cf202a845 43 #define LED_Height 16
chirashi 6:e6cb4a476422 44
chirashi 14:0f4d44927b20 45
chirashi 13:0c542447e6da 46 SDFileSystem sd(D11, D12, D13, D10, "sd");
chirashi 13:0c542447e6da 47 Serial pc(USBTX,USBRX );
chirashi 13:0c542447e6da 48 BusOut ABC(D8,D9,PB_13,D14); // Row address.
chirashi 13:0c542447e6da 49 DigitalOut CLK(PB_14); // Data clock - rising edge
chirashi 13:0c542447e6da 50 DigitalOut LAT(PB_15); // Data latch - active low (pulse up after data load)
chirashi 13:0c542447e6da 51 DigitalOut OE(PB_1); // Output enable - active low (hold high during data load, bring low after LAT pulse)
chirashi 12:680db9f1f4eb 52 DigitalOut R1(D6); // RED Serial in for upper half
chirashi 12:680db9f1f4eb 53 DigitalOut R2(D7); // RED Serial in for lower half
chirashi 12:680db9f1f4eb 54 DigitalOut G1(D2); // GREEN Serial in for upper half
chirashi 12:680db9f1f4eb 55 DigitalOut G2(D3); // GREEN Serial in for lower half
chirashi 12:680db9f1f4eb 56 DigitalOut B1(D4); // BLUE Serial in for upper half
chirashi 12:680db9f1f4eb 57 DigitalOut B2(D5); // BLUE Serial in for lower half
chirashi 12:680db9f1f4eb 58
chirashi 12:680db9f1f4eb 59
chirashi 13:0c542447e6da 60 //SumSW
chirashi 13:0c542447e6da 61 DigitalOut SCK(PB_7);
chirashi 13:0c542447e6da 62 DigitalOut SI(PC_13);
chirashi 13:0c542447e6da 63 DigitalOut RCK(PC_14);
chirashi 13:0c542447e6da 64
chirashi 13:0c542447e6da 65 DigitalIn SumSW1(PA_0);
chirashi 13:0c542447e6da 66 DigitalIn SumSW2(PA_1);
chirashi 13:0c542447e6da 67 DigitalIn SumSW4(PA_4);
chirashi 13:0c542447e6da 68 DigitalIn SumSW8(PB_0);
chirashi 13:0c542447e6da 69
chirashi 14:0f4d44927b20 70 //BusIn SumSWNum(PA_0,PA_1,PA_4,PB_0);
chirashi 13:0c542447e6da 71
chirashi 8:9d22c9910917 72 Ticker ChangeTimer;
chirashi 13:0c542447e6da 73
chirashi 14:0f4d44927b20 74 //Debug
chirashi 14:0f4d44927b20 75 bool Debug = 0;
chirashi 13:0c542447e6da 76
chirashi 13:0c542447e6da 77
chirashi 19:26e0fae24da6 78 //Mode
chirashi 19:26e0fae24da6 79
chirashi 19:26e0fae24da6 80 //3:固定表示 LEDBuffer3固定
chirashi 19:26e0fae24da6 81
chirashi 19:26e0fae24da6 82 //1固定
chirashi 19:26e0fae24da6 83 int WriteMode = 1;
chirashi 19:26e0fae24da6 84
chirashi 19:26e0fae24da6 85
chirashi 19:26e0fae24da6 86
chirashi 19:26e0fae24da6 87 //1:3段階 LEDBuffer-LEDBuffer2-LEDBuffer3
chirashi 19:26e0fae24da6 88 //2:2段階 LEDBuffer-LEDBuffer2
chirashi 19:26e0fae24da6 89 //3:固定 LEDBuffer2
chirashi 19:26e0fae24da6 90 //4:2段階 LEDBuffer2-LEDBuffer3
chirashi 19:26e0fae24da6 91 int DisplayMode = 1;
chirashi 19:26e0fae24da6 92
chirashi 17:95bcbc53d96b 93 int ChangeCount = 0;
chirashi 17:95bcbc53d96b 94 int LineNumber = 37;
chirashi 17:95bcbc53d96b 95 int KindNumber = 1;
chirashi 17:95bcbc53d96b 96 int ForNumber = 1;
chirashi 17:95bcbc53d96b 97 int NextStaNumber = 1;
chirashi 17:95bcbc53d96b 98 char SerialBuffer[30];
chirashi 17:95bcbc53d96b 99 int count = 0;
chirashi 13:0c542447e6da 100
chirashi 13:0c542447e6da 101 //SDCardFilePath
chirashi 17:95bcbc53d96b 102 char SDFilePath[80]= "/sd/a.txt";
chirashi 13:0c542447e6da 103
RRacer 0:1f58ecec51d6 104 unsigned char gm[32][6]; // Buffer with 32x6 bytes. Graphics memory if you like.
RRacer 0:1f58ecec51d6 105 unsigned long CT; // Counter for demo code
RRacer 0:1f58ecec51d6 106
chirashi 13:0c542447e6da 107
chirashi 13:0c542447e6da 108
chirashi 15:12895e9c6965 109 int8_t LEDBuffer [32][128] = {
chirashi 12:680db9f1f4eb 110 {0,0,0,0,0,0,0,0,0,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 111 {0,0,0,0,0,0,0,0,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 112 {0,0,0,0,0,0,0,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 113 {0,0,0,0,0,0,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 114 {0,0,0,0,0,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 115 {0,0,0,0,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 116 {0,0,0,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 117 {0,0,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 118 {0,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 119 {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 120 {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 121 {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 122 {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 123 {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 124 {0,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 125 {0,0,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 126 {0,0,0,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 127 {0,0,0,0,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 128 {0,0,0,0,0,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 129 {0,0,0,0,0,0,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 130 {0,0,0,0,0,0,0,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 131 {0,0,0,0,0,0,0,0,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 132 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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 133 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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 134 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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 135 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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 136 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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 137 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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 138 {14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,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 139 {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 140 {14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,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 141 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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 142
chirashi 9:ab87b0e361aa 143
chirashi 8:9d22c9910917 144 };
chirashi 6:e6cb4a476422 145
chirashi 15:12895e9c6965 146 int8_t LEDBuffer2[32][128] = {
chirashi 14:0f4d44927b20 147 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 148 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 149 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 150 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 151 {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 152 {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 153 {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 154 {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 155 {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 156 {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 157 {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 158 {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 159 {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 160 {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 161 {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 162 {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 163 {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 164 {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 165 {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 166 {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 167 {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 168 {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 169 {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 170 {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 171 {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 172 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 173 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 174 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 175 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 176 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 177 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 178 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 179
chirashi 8:9d22c9910917 180 };
chirashi 8:9d22c9910917 181
chirashi 15:12895e9c6965 182 int8_t LEDBuffer3[32][128] = {
chirashi 12:680db9f1f4eb 183 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 184 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 185 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 186 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 187 {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 188 {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 189 {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 190 {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 191 {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 192 {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 193 {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 194 {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 195 {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 196 {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 197 {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 198 {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 199 {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 200 {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 201 {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 202 {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 203 {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 204 {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 205 {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 206 {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 207 {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 208 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 209 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 210 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 211 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 212 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 213 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 214 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 215
chirashi 8:9d22c9910917 216 };
chirashi 19:26e0fae24da6 217 //01 Red
chirashi 19:26e0fae24da6 218 //02 Green
chirashi 19:26e0fae24da6 219 //03 Blue
chirashi 19:26e0fae24da6 220 //04 Yellow(R,G)
chirashi 19:26e0fae24da6 221 //05(G,B)
chirashi 19:26e0fae24da6 222 //06 purple(R,B)
chirashi 19:26e0fae24da6 223 //08 Blue(Keihin-tohoku Line)
chirashi 9:ab87b0e361aa 224 //10 Yellow(Nambu Local)
chirashi 9:ab87b0e361aa 225 //11 Green (Yokohama Line)
chirashi 12:680db9f1f4eb 226 //12 Orange(Rapid Acty,Urbun)
chirashi 16:d02248f44c4b 227
chirashi 19:26e0fae24da6 228 //13 Green(Saikyo Line)
chirashi 19:26e0fae24da6 229
chirashi 16:d02248f44c4b 230 //16 Green(Utsunomiya Line)
chirashi 19:26e0fae24da6 231 //17 Green(Joban Local Local)
chirashi 19:26e0fae24da6 232 bool R1Data1[32]={0,1,0,0,1,0,1,1,0,1,1,1,1,0,1,1,0,0};
chirashi 19:26e0fae24da6 233 bool R1Data2[32]={0,1,0,0,1,0,1,1,0,1,1,0,1,0,0,0,0,0};
chirashi 19:26e0fae24da6 234 bool R1Data3[32]={0,1,0,0,1,0,1,1,0,1,1,0,1,0,0,0,0,0};
chirashi 19:26e0fae24da6 235 bool R1Data4[32]={0,1,0,0,1,0,1,1,0,1,0,0,1,0,0,0,0,0};
chirashi 4:245f17936b1a 236
chirashi 19:26e0fae24da6 237 bool G1Data1[32]={0,0,1,0,1,1,0,1,1,0,1,1,1,1,0,1,1,1};
chirashi 19:26e0fae24da6 238 bool G1Data2[32]={0,0,1,0,1,1,0,1,1,0,1,1,0,0,0,0,1,1};
chirashi 19:26e0fae24da6 239 bool G1Data3[32]={0,0,1,0,1,1,0,1,0,0,0,0,0,0,0,0,0,1};
chirashi 19:26e0fae24da6 240 bool G1Data4[32]={0,0,1,0,1,1,0,1,0,0,0,0,0,0,0,0,0,1};
chirashi 7:79dfe71beb88 241
chirashi 19:26e0fae24da6 242 bool B1Data1[32]={0,0,0,1,0,1,1,1,1,1,0,0,0,0,0,1,0,1};
chirashi 19:26e0fae24da6 243 bool B1Data2[32]={0,0,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0,1};
chirashi 19:26e0fae24da6 244 bool B1Data3[32]={0,0,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0};
chirashi 19:26e0fae24da6 245 bool B1Data4[32]={0,0,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0};
chirashi 7:79dfe71beb88 246
chirashi 7:79dfe71beb88 247
chirashi 7:79dfe71beb88 248
chirashi 7:79dfe71beb88 249
RRacer 0:1f58ecec51d6 250
RRacer 0:1f58ecec51d6 251 void Init()
RRacer 0:1f58ecec51d6 252 {
RRacer 0:1f58ecec51d6 253 // Set up things to a known state
RRacer 0:1f58ecec51d6 254 CLK = LOW;
RRacer 0:1f58ecec51d6 255 LAT = LOW;
RRacer 0:1f58ecec51d6 256 OE = HIGH; //display off
RRacer 0:1f58ecec51d6 257 ABC = 0;
RRacer 0:1f58ecec51d6 258 CT=0;
chirashi 7:79dfe71beb88 259
RRacer 0:1f58ecec51d6 260 }
RRacer 0:1f58ecec51d6 261
RRacer 0:1f58ecec51d6 262
RRacer 0:1f58ecec51d6 263
chirashi 15:12895e9c6965 264 void WrRow(unsigned char Row, int8_t Buffer[32][128])
RRacer 0:1f58ecec51d6 265 {
RRacer 0:1f58ecec51d6 266 // Write specified row (and row+8) to display. Valid input: 0 to 7.
chirashi 10:4d9cf202a845 267 ABC = 15-Row; // Set row address
chirashi 6:e6cb4a476422 268 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 5:532937f20397 269
chirashi 10:4d9cf202a845 270 if (Buffer [(15-Row)][col] == 0){
chirashi 6:e6cb4a476422 271 R1 = R_Debug1;
chirashi 6:e6cb4a476422 272 G1 = G_Debug1;
chirashi 6:e6cb4a476422 273 B1 = B_Debug1;
chirashi 7:79dfe71beb88 274 }else {
chirashi 8:9d22c9910917 275 //R1 = R1Data1[(LEDBuffer [(7-Row)][col])];
chirashi 8:9d22c9910917 276 //G1 = G1Data1[(LEDBuffer [(7-Row)][col])];
chirashi 8:9d22c9910917 277 //B1 = B1Data1[(LEDBuffer [(7-Row)][col])];
chirashi 10:4d9cf202a845 278 R1 = R1Data1[(Buffer [(15-Row)][col])];
chirashi 10:4d9cf202a845 279 G1 = G1Data1[(Buffer [(15-Row)][col])];
chirashi 10:4d9cf202a845 280 B1 = B1Data1[(Buffer [(15-Row)][col])];
chirashi 4:245f17936b1a 281 }
chirashi 7:79dfe71beb88 282
chirashi 10:4d9cf202a845 283 if (Buffer [(31-Row)][col] == 0){
chirashi 6:e6cb4a476422 284 R2 = R_Debug1;
chirashi 6:e6cb4a476422 285 G2 = G_Debug1;
chirashi 6:e6cb4a476422 286 B2 = B_Debug1;
chirashi 7:79dfe71beb88 287 }else {
chirashi 10:4d9cf202a845 288 R2 = R1Data1[(Buffer [(31-Row)][col])];
chirashi 10:4d9cf202a845 289 G2 = G1Data1[(Buffer [(31-Row)][col])];
chirashi 10:4d9cf202a845 290 B2 = B1Data1[(Buffer [(31-Row)][col])];
chirashi 7:79dfe71beb88 291 }
chirashi 4:245f17936b1a 292
chirashi 4:245f17936b1a 293 CLK = HIGH; // tick (clock bit in)
chirashi 4:245f17936b1a 294 CLK = LOW; // tock
chirashi 4:245f17936b1a 295 }
chirashi 4:245f17936b1a 296 LAT = HIGH; // Latch entire row
chirashi 4:245f17936b1a 297 LAT = LOW;
chirashi 4:245f17936b1a 298 }
chirashi 4:245f17936b1a 299
chirashi 15:12895e9c6965 300 void WrRow2(unsigned char Row,int8_t Buffer[32][128])
chirashi 4:245f17936b1a 301 {
chirashi 4:245f17936b1a 302 // Write specified row (and row+8) to display. Valid input: 0 to 7.
chirashi 10:4d9cf202a845 303 ABC = 15-Row; // Set row address
chirashi 6:e6cb4a476422 304 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 5:532937f20397 305
chirashi 10:4d9cf202a845 306 if (Buffer [(15-Row)][col] == 0){
chirashi 6:e6cb4a476422 307 R1 = R_Debug2;
chirashi 6:e6cb4a476422 308 G1 = G_Debug2;
chirashi 6:e6cb4a476422 309 B1 = B_Debug2;
chirashi 5:532937f20397 310 }else{
chirashi 10:4d9cf202a845 311 R1 = R1Data2[(Buffer [(15-Row)][col])];
chirashi 10:4d9cf202a845 312 G1 = G1Data2[(Buffer [(15-Row)][col])];
chirashi 10:4d9cf202a845 313 B1 = B1Data2[(Buffer [(15-Row)][col])];
chirashi 5:532937f20397 314 }
chirashi 5:532937f20397 315
chirashi 10:4d9cf202a845 316 if (Buffer [(31-Row)][col] == 0){
chirashi 6:e6cb4a476422 317 R2 = R_Debug2;
chirashi 6:e6cb4a476422 318 G2 = G_Debug2;
chirashi 6:e6cb4a476422 319 B2 = B_Debug2;
chirashi 6:e6cb4a476422 320 }else{
chirashi 10:4d9cf202a845 321 R2 = R1Data2[(Buffer [(31-Row)][col])];
chirashi 10:4d9cf202a845 322 G2 = G1Data2[(Buffer [(31-Row)][col])];
chirashi 10:4d9cf202a845 323 B2 = B1Data2[(Buffer [(31-Row)][col])];
chirashi 7:79dfe71beb88 324 }
chirashi 5:532937f20397 325
chirashi 5:532937f20397 326 CLK = HIGH; // tick (clock bit in)
chirashi 5:532937f20397 327 CLK = LOW; // tock
chirashi 5:532937f20397 328 }
chirashi 5:532937f20397 329 LAT = HIGH; // Latch entire row
chirashi 5:532937f20397 330 LAT = LOW;
chirashi 5:532937f20397 331 }
chirashi 5:532937f20397 332
chirashi 15:12895e9c6965 333 void WrRow3(unsigned char Row,int8_t Buffer[32][128])
chirashi 5:532937f20397 334 {
chirashi 5:532937f20397 335 // Write specified row (and row+8) to display. Valid input: 0 to 7.
chirashi 10:4d9cf202a845 336 ABC = 15-Row; // Set row address
chirashi 6:e6cb4a476422 337 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 5:532937f20397 338
chirashi 10:4d9cf202a845 339 if (Buffer [(15-Row)][col] == 0){
chirashi 6:e6cb4a476422 340 R1 = R_Debug3;
chirashi 6:e6cb4a476422 341 G1 = G_Debug3;
chirashi 6:e6cb4a476422 342 B1 = B_Debug3;
chirashi 5:532937f20397 343 }else{
chirashi 10:4d9cf202a845 344 R1 = R1Data3[(Buffer [(15-Row)][col])];
chirashi 10:4d9cf202a845 345 G1 = G1Data3[(Buffer [(15-Row)][col])];
chirashi 10:4d9cf202a845 346 B1 = B1Data3[(Buffer [(15-Row)][col])];
chirashi 5:532937f20397 347 }
chirashi 5:532937f20397 348
chirashi 10:4d9cf202a845 349 if (Buffer [(31-Row)][col] == 0){
chirashi 6:e6cb4a476422 350 R2 = R_Debug3;
chirashi 6:e6cb4a476422 351 G2 = G_Debug3;
chirashi 6:e6cb4a476422 352 B2 = B_Debug3;
chirashi 5:532937f20397 353 }else{
chirashi 10:4d9cf202a845 354 R2 = R1Data3[(Buffer [(31-Row)][col])];
chirashi 10:4d9cf202a845 355 G2 = G1Data3[(Buffer [(31-Row)][col])];
chirashi 10:4d9cf202a845 356 B2 = B1Data3[(Buffer [(31-Row)][col])];
chirashi 7:79dfe71beb88 357 }
chirashi 5:532937f20397 358
chirashi 5:532937f20397 359 CLK = HIGH; // tick (clock bit in)
chirashi 5:532937f20397 360 CLK = LOW; // tock
chirashi 5:532937f20397 361 }
chirashi 5:532937f20397 362 LAT = HIGH; // Latch entire row
chirashi 5:532937f20397 363 LAT = LOW;
chirashi 5:532937f20397 364 }
chirashi 5:532937f20397 365
chirashi 15:12895e9c6965 366 void WrRow4(unsigned char Row,int8_t Buffer[32][128])
chirashi 5:532937f20397 367 {
chirashi 5:532937f20397 368 // Write specified row (and row+8) to display. Valid input: 0 to 7.
chirashi 10:4d9cf202a845 369 ABC = 15-Row; // Set row address
chirashi 6:e6cb4a476422 370 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 5:532937f20397 371
chirashi 10:4d9cf202a845 372 if (Buffer [(15-Row)][col] == 0){
chirashi 6:e6cb4a476422 373 R1 = R_Debug4;
chirashi 6:e6cb4a476422 374 G1 = G_Debug4;
chirashi 6:e6cb4a476422 375 B1 = B_Debug4;
chirashi 5:532937f20397 376 }else{
chirashi 10:4d9cf202a845 377 R1 = R1Data4[(Buffer [(15-Row)][col])];
chirashi 10:4d9cf202a845 378 G1 = G1Data4[(Buffer [(15-Row)][col])];
chirashi 10:4d9cf202a845 379 B1 = B1Data4[(Buffer [(15-Row)][col])];
chirashi 5:532937f20397 380 }
chirashi 5:532937f20397 381
chirashi 10:4d9cf202a845 382 if (Buffer [(31-Row)][col] == 0){
chirashi 6:e6cb4a476422 383 R2 = R_Debug4;
chirashi 6:e6cb4a476422 384 G2 = G_Debug4;
chirashi 6:e6cb4a476422 385 B2 = B_Debug4;
chirashi 10:4d9cf202a845 386 }else{
chirashi 10:4d9cf202a845 387 R2 = R1Data4[(Buffer [(31-Row)][col])];
chirashi 10:4d9cf202a845 388 G2 = G1Data4[(Buffer [(31-Row)][col])];
chirashi 10:4d9cf202a845 389 B2 = B1Data4[(Buffer [(31-Row)][col])];
chirashi 7:79dfe71beb88 390 }
chirashi 5:532937f20397 391
chirashi 5:532937f20397 392 CLK = HIGH; // tick (clock bit in)
chirashi 5:532937f20397 393 CLK = LOW; // tock
chirashi 5:532937f20397 394 }
chirashi 5:532937f20397 395 LAT = HIGH; // Latch entire row
chirashi 5:532937f20397 396 LAT = LOW;
chirashi 5:532937f20397 397 }
chirashi 5:532937f20397 398
chirashi 4:245f17936b1a 399
chirashi 3:6dbbc0130e96 400 void WrRowOFF(unsigned char Row)
chirashi 3:6dbbc0130e96 401 {
chirashi 3:6dbbc0130e96 402 // Write specified row (and row+8) to display. Valid input: 0 to 7.
chirashi 10:4d9cf202a845 403 ABC = 15-Row; // Set row address
chirashi 6:e6cb4a476422 404 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 405 R1 = 0; // Red bit, upper half
chirashi 3:6dbbc0130e96 406 G1 = 0; // Green bit, upper half
chirashi 3:6dbbc0130e96 407 B1 = 0; // Blue bit, upper half
chirashi 3:6dbbc0130e96 408 R2 = 0; // Red bit, lower half
chirashi 3:6dbbc0130e96 409 G2 = 0; // Green bit, lower half
chirashi 3:6dbbc0130e96 410 B2 = 0; // Blue bit, lower half
chirashi 3:6dbbc0130e96 411 CLK = HIGH; // tick (clock bit in)
chirashi 3:6dbbc0130e96 412 CLK = LOW; // tock
chirashi 3:6dbbc0130e96 413 }
chirashi 3:6dbbc0130e96 414 LAT = HIGH; // Latch entire row
chirashi 3:6dbbc0130e96 415 LAT = LOW;
chirashi 3:6dbbc0130e96 416 }
chirashi 3:6dbbc0130e96 417
RRacer 0:1f58ecec51d6 418 void Pset(unsigned char x,unsigned char y, unsigned char c)
RRacer 0:1f58ecec51d6 419 {
RRacer 0:1f58ecec51d6 420 // Set pixel (x,y) to color c
RRacer 0:1f58ecec51d6 421 // Manipulates graphics memory, so you won't see any change til you Paint() it.
RRacer 0:1f58ecec51d6 422 unsigned char ud,l,r0,g0,b0;
RRacer 0:1f58ecec51d6 423 ud=(y & 8)>>3; // 0 = upper half, 1 = lower half
RRacer 0:1f58ecec51d6 424 l=y & 7; // Extract row in upper/lower half
RRacer 0:1f58ecec51d6 425 r0=(c & 4) >>2; // Extract red bit from color
RRacer 0:1f58ecec51d6 426 g0=(c & 2) >>1; // Extract green bit from color
RRacer 0:1f58ecec51d6 427 b0=(c & 1); // Extract blue bit from color
RRacer 0:1f58ecec51d6 428 // *******Removes current bit ******* *Adds bit**
RRacer 0:1f58ecec51d6 429 gm[x][0+3*ud]=(gm[x][0+3*ud] & (255-(1<<(7-l))))+(r0<<(7-l)); // Red byte
RRacer 0:1f58ecec51d6 430 gm[x][1+3*ud]=(gm[x][1+3*ud] & (255-(1<<(7-l))))+(g0<<(7-l)); // Green byte
RRacer 0:1f58ecec51d6 431 gm[x][2+3*ud]=(gm[x][2+3*ud] & (255-(1<<(7-l))))+(b0<<(7-l)); // Blue byte
RRacer 0:1f58ecec51d6 432 }
RRacer 0:1f58ecec51d6 433
chirashi 15:12895e9c6965 434 void Paint(int8_t Buffer2[32][128])
RRacer 0:1f58ecec51d6 435 {
RRacer 0:1f58ecec51d6 436 // Write graphics memory to display
chirashi 5:532937f20397 437 //1
chirashi 9:ab87b0e361aa 438 for(int Row=0; Row<LED_Height; Row++) {
RRacer 0:1f58ecec51d6 439 OE = HIGH; // Disable output
chirashi 8:9d22c9910917 440 WrRow(Row,Buffer2);
chirashi 5:532937f20397 441 //wait_us(10);
chirashi 5:532937f20397 442 OE = LOW; // Enable output
chirashi 5:532937f20397 443
chirashi 16:d02248f44c4b 444 wait_us(15); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh.
chirashi 5:532937f20397 445 }
chirashi 5:532937f20397 446 //2
chirashi 9:ab87b0e361aa 447 for(int Row=0; Row<LED_Height; Row++) {
chirashi 5:532937f20397 448 OE = HIGH; // Disable output
chirashi 5:532937f20397 449 //WrRow(Row);
chirashi 8:9d22c9910917 450 WrRow2(Row,Buffer2);
chirashi 5:532937f20397 451 //wait_us(10);
chirashi 5:532937f20397 452 OE = LOW; // Enable output
chirashi 5:532937f20397 453
chirashi 16:d02248f44c4b 454 wait_us(15); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh.
chirashi 5:532937f20397 455 }
chirashi 5:532937f20397 456 //3
chirashi 9:ab87b0e361aa 457 for(int Row=0; Row<LED_Height; Row++) {
chirashi 5:532937f20397 458 OE = HIGH; // Disable output
chirashi 8:9d22c9910917 459 WrRow3(Row,Buffer2);
chirashi 5:532937f20397 460 //wait_us(10);
chirashi 5:532937f20397 461 OE = LOW; // Enable output
chirashi 5:532937f20397 462
chirashi 16:d02248f44c4b 463 wait_us(15); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh.
chirashi 5:532937f20397 464 }
chirashi 5:532937f20397 465 //4
chirashi 9:ab87b0e361aa 466 for(int Row=0; Row<LED_Height; Row++) {
chirashi 5:532937f20397 467 OE = HIGH; // Disable output
chirashi 8:9d22c9910917 468 WrRow4(Row,Buffer2);
chirashi 5:532937f20397 469 //wait_us(10);
RRacer 0:1f58ecec51d6 470 OE = LOW; // Enable output
chirashi 4:245f17936b1a 471
chirashi 16:d02248f44c4b 472 wait_us(15); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh.
chirashi 13:0c542447e6da 473 }
chirashi 4:245f17936b1a 474 }
chirashi 4:245f17936b1a 475
RRacer 0:1f58ecec51d6 476
chirashi 3:6dbbc0130e96 477
chirashi 3:6dbbc0130e96 478 void PaintOFF()
chirashi 3:6dbbc0130e96 479 {
chirashi 3:6dbbc0130e96 480 // Write graphics memory to display
chirashi 3:6dbbc0130e96 481 for(int Row=0; Row<8; Row++) {
chirashi 3:6dbbc0130e96 482 OE = HIGH; // Disable output
chirashi 3:6dbbc0130e96 483 WrRowOFF(Row);
chirashi 3:6dbbc0130e96 484 OE = LOW; // Enable output
chirashi 4:245f17936b1a 485 wait_us(50); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh.
chirashi 3:6dbbc0130e96 486 }
chirashi 3:6dbbc0130e96 487 }
chirashi 3:6dbbc0130e96 488
chirashi 8:9d22c9910917 489 void TimerTick(){
chirashi 19:26e0fae24da6 490
chirashi 19:26e0fae24da6 491 //DisplayMode = 1 3段階表示ならば
chirashi 19:26e0fae24da6 492 if(DisplayMode == 1){
chirashi 19:26e0fae24da6 493 if (ChangeCount == 0){
chirashi 19:26e0fae24da6 494 ChangeCount = ChangeCount + 1;
chirashi 19:26e0fae24da6 495 }else if(ChangeCount == 1 ){
chirashi 19:26e0fae24da6 496 ChangeCount = ChangeCount + 1;
chirashi 19:26e0fae24da6 497 //ChangeCount = 0;
chirashi 19:26e0fae24da6 498 }else if(ChangeCount == 2){
chirashi 19:26e0fae24da6 499 ChangeCount = 0;
chirashi 19:26e0fae24da6 500 }else{
chirashi 19:26e0fae24da6 501 ChangeCount = 0;
chirashi 19:26e0fae24da6 502 }
chirashi 19:26e0fae24da6 503 }
chirashi 19:26e0fae24da6 504 //DisplayMode = 2 2段階表示ならば
chirashi 19:26e0fae24da6 505 //次駅表示なし2段階表示に使用
chirashi 19:26e0fae24da6 506 else if (DisplayMode == 2){
chirashi 19:26e0fae24da6 507
chirashi 19:26e0fae24da6 508 if(ChangeCount == 0 ){
chirashi 19:26e0fae24da6 509 ChangeCount = ChangeCount + 1;
chirashi 19:26e0fae24da6 510 //ChangeCount = 0;
chirashi 19:26e0fae24da6 511 }else if(ChangeCount == 1){
chirashi 19:26e0fae24da6 512 ChangeCount = 0;
chirashi 19:26e0fae24da6 513 }else{
chirashi 19:26e0fae24da6 514 ChangeCount = 0;
chirashi 19:26e0fae24da6 515 }
chirashi 19:26e0fae24da6 516 }
chirashi 19:26e0fae24da6 517 //DisplayMode = 3 ならば LEDBuffer2を固定表示
chirashi 19:26e0fae24da6 518 else if (DisplayMode == 3){
chirashi 19:26e0fae24da6 519 ChangeCount = 1;
chirashi 19:26e0fae24da6 520 }
chirashi 19:26e0fae24da6 521
chirashi 19:26e0fae24da6 522 //2段階表示 次駅表示あり、路線名なしパターンに使用
chirashi 19:26e0fae24da6 523 else if(DisplayMode == 4){
chirashi 19:26e0fae24da6 524 if(ChangeCount == 1 ){
chirashi 19:26e0fae24da6 525 ChangeCount = ChangeCount + 1;
chirashi 19:26e0fae24da6 526 }else{
chirashi 19:26e0fae24da6 527 ChangeCount = 1;
chirashi 19:26e0fae24da6 528 }
chirashi 19:26e0fae24da6 529 }
chirashi 19:26e0fae24da6 530
chirashi 19:26e0fae24da6 531
chirashi 19:26e0fae24da6 532
chirashi 19:26e0fae24da6 533
chirashi 13:0c542447e6da 534 }
chirashi 13:0c542447e6da 535
chirashi 14:0f4d44927b20 536 //書込み対象バッファ,書込み開始位置x,書込み開始位置y,読み出し幅x,読み出し高さy
chirashi 15:12895e9c6965 537 void SDBufferWrite(int8_t TargetBuffer[32][128], int Startx, int Starty, int Readx, int Ready){
chirashi 14:0f4d44927b20 538 FILE *fp = fopen(SDFilePath, "r");
chirashi 14:0f4d44927b20 539 if(fp == NULL) {
chirashi 14:0f4d44927b20 540 pc.printf("SDFileOpen Error %s\r\n",SDFilePath);
chirashi 14:0f4d44927b20 541 //error("Could not open file for write\r\n");
chirashi 14:0f4d44927b20 542 }else{
chirashi 14:0f4d44927b20 543 //fprintf(fp, "Hello fun SD Card World!");
chirashi 14:0f4d44927b20 544 pc.printf("SDFileOpen Success %s\r\n",SDFilePath);
chirashi 14:0f4d44927b20 545
chirashi 14:0f4d44927b20 546 //SDDataReadtest
chirashi 16:d02248f44c4b 547 int8_t Data;
chirashi 14:0f4d44927b20 548 for(int y = Starty; y < Starty + Ready; y++){
chirashi 14:0f4d44927b20 549 for(int x = Startx; x < Startx + Readx; x++){
chirashi 14:0f4d44927b20 550 Data = getc(fp);
chirashi 14:0f4d44927b20 551 TargetBuffer[y][x] = Data;
chirashi 14:0f4d44927b20 552 }
chirashi 14:0f4d44927b20 553 }
chirashi 14:0f4d44927b20 554 fclose(fp);
chirashi 14:0f4d44927b20 555 }
chirashi 14:0f4d44927b20 556 }
chirashi 13:0c542447e6da 557
chirashi 18:b8563e3319fd 558 //路線名表示の使用領域チェック
chirashi 18:b8563e3319fd 559 //路線名表示時に次停車駅を表示するかどうかの判断に使用
chirashi 18:b8563e3319fd 560 //路線名が下半分も使用しているなら次停車駅は表示しない
chirashi 18:b8563e3319fd 561 bool BufferBlankCheck(){
chirashi 18:b8563e3319fd 562 bool NotBlankflag = 0;
chirashi 18:b8563e3319fd 563 for(int y = 16; y < 32; y++){
chirashi 18:b8563e3319fd 564 for(int x = 48; x < 128; x++){
chirashi 18:b8563e3319fd 565 if(LEDBuffer[y][x] != 0){
chirashi 18:b8563e3319fd 566 NotBlankflag = 1;
chirashi 18:b8563e3319fd 567 }
chirashi 18:b8563e3319fd 568 if(NotBlankflag == 1){
chirashi 18:b8563e3319fd 569 break;
chirashi 18:b8563e3319fd 570 }
chirashi 18:b8563e3319fd 571 }
chirashi 18:b8563e3319fd 572 if(NotBlankflag == 1){
chirashi 18:b8563e3319fd 573 break;
chirashi 18:b8563e3319fd 574 }
chirashi 18:b8563e3319fd 575 }
chirashi 18:b8563e3319fd 576 if(NotBlankflag == 0){
chirashi 18:b8563e3319fd 577 pc.printf("Blank\r\n");
chirashi 18:b8563e3319fd 578 return 0;
chirashi 18:b8563e3319fd 579 }else{
chirashi 18:b8563e3319fd 580 pc.printf("Not Blank\r\n");
chirashi 18:b8563e3319fd 581 return 1;
chirashi 18:b8563e3319fd 582 }
chirashi 18:b8563e3319fd 583 }
chirashi 18:b8563e3319fd 584
chirashi 18:b8563e3319fd 585
chirashi 18:b8563e3319fd 586
chirashi 18:b8563e3319fd 587 void SDFileRead(){
chirashi 19:26e0fae24da6 588
chirashi 19:26e0fae24da6 589 //3段階表示 LEDBuffer [種別]路線名(・次駅)
chirashi 19:26e0fae24da6 590 // LEDBuffer2 [種別]行先・次駅
chirashi 19:26e0fae24da6 591 // LEDBuffer3 [種別(英)]行先(英)・次駅(英)
chirashi 19:26e0fae24da6 592
chirashi 18:b8563e3319fd 593 //SDCard
chirashi 18:b8563e3319fd 594 //種別
chirashi 18:b8563e3319fd 595 sprintf(SDFilePath,"/sd/E233/Kind/%d.bin",KindNumber);
chirashi 18:b8563e3319fd 596 SDBufferWrite(LEDBuffer,0,0,48,32);
chirashi 18:b8563e3319fd 597 sprintf(SDFilePath,"/sd/E233/Kind/%d.bin",KindNumber);
chirashi 18:b8563e3319fd 598 SDBufferWrite(LEDBuffer2,0,0,48,32);
chirashi 18:b8563e3319fd 599 //種別(英語)
chirashi 18:b8563e3319fd 600 sprintf(SDFilePath,"/sd/E233/KindE/%d.bin",KindNumber);
chirashi 19:26e0fae24da6 601 SDBufferWrite(LEDBuffer3,0,0,48,32);
chirashi 19:26e0fae24da6 602
chirashi 18:b8563e3319fd 603 //路線名
chirashi 18:b8563e3319fd 604 sprintf(SDFilePath,"/sd/E233/Line/%d.bin",LineNumber);
chirashi 18:b8563e3319fd 605 SDBufferWrite(LEDBuffer,48,0,80,32);
chirashi 18:b8563e3319fd 606 //行先
chirashi 18:b8563e3319fd 607 sprintf(SDFilePath,"/sd/E233/For/%d.bin",ForNumber);
chirashi 18:b8563e3319fd 608 SDBufferWrite(LEDBuffer2,48,0,80,16);
chirashi 18:b8563e3319fd 609 //行先(英語)
chirashi 18:b8563e3319fd 610 sprintf(SDFilePath,"/sd/E233/ForE/%d.bin",ForNumber);
chirashi 18:b8563e3319fd 611 SDBufferWrite(LEDBuffer3,48,0,80,16);
chirashi 18:b8563e3319fd 612
chirashi 18:b8563e3319fd 613 //次停車駅(路線名表示)
chirashi 18:b8563e3319fd 614 //路線名表示の次停車駅は路線名表示が上半分に収まるときのみ表示
chirashi 18:b8563e3319fd 615 if(BufferBlankCheck() == 0){
chirashi 18:b8563e3319fd 616 sprintf(SDFilePath,"/sd/E233/NextStation/%d.bin",NextStaNumber);
chirashi 18:b8563e3319fd 617 SDBufferWrite(LEDBuffer,48,16,80,16);
chirashi 18:b8563e3319fd 618 }
chirashi 18:b8563e3319fd 619 //次停車駅
chirashi 18:b8563e3319fd 620 sprintf(SDFilePath,"/sd/E233/NextStation/%d.bin",NextStaNumber);
chirashi 19:26e0fae24da6 621 SDBufferWrite(LEDBuffer2,48,16,80,16);
chirashi 18:b8563e3319fd 622 //次停車駅(英語)
chirashi 18:b8563e3319fd 623 sprintf(SDFilePath,"/sd/E233/NextStationE/%d.bin",NextStaNumber);
chirashi 18:b8563e3319fd 624 SDBufferWrite(LEDBuffer3,48,16,80,16);
chirashi 19:26e0fae24da6 625
chirashi 19:26e0fae24da6 626 //路線コードが0なら2段階表示に変更
chirashi 19:26e0fae24da6 627 if(LineNumber == 0){
chirashi 19:26e0fae24da6 628 DisplayMode = 4;
chirashi 19:26e0fae24da6 629 }else{
chirashi 19:26e0fae24da6 630 DisplayMode = 1;
chirashi 19:26e0fae24da6 631 }
chirashi 19:26e0fae24da6 632
chirashi 19:26e0fae24da6 633 //次駅コードが0なら次駅なしの2段階表示に変更
chirashi 19:26e0fae24da6 634 // 2段階表示 LEDBuffer [種別]路線名
chirashi 19:26e0fae24da6 635 // LEDBuffer2 [種別]行先(次駅表示なし)
chirashi 19:26e0fae24da6 636 //路線名がない場合(E233-0など)は固定表示
chirashi 19:26e0fae24da6 637
chirashi 19:26e0fae24da6 638 if(NextStaNumber == 0){
chirashi 19:26e0fae24da6 639 //種別
chirashi 19:26e0fae24da6 640 sprintf(SDFilePath,"/sd/E233/Kind/%d.bin",KindNumber);
chirashi 19:26e0fae24da6 641 SDBufferWrite(LEDBuffer,0,0,48,32);
chirashi 19:26e0fae24da6 642 sprintf(SDFilePath,"/sd/E233/Kind/%d.bin",KindNumber);
chirashi 19:26e0fae24da6 643 SDBufferWrite(LEDBuffer2,0,0,48,32);
chirashi 19:26e0fae24da6 644
chirashi 19:26e0fae24da6 645 //路線名
chirashi 19:26e0fae24da6 646 sprintf(SDFilePath,"/sd/E233/Line2/%d.bin",LineNumber);
chirashi 19:26e0fae24da6 647 SDBufferWrite(LEDBuffer,48,0,80,32);
chirashi 19:26e0fae24da6 648 //行先
chirashi 19:26e0fae24da6 649 sprintf(SDFilePath,"/sd/E233/For2/%d.bin",ForNumber);
chirashi 19:26e0fae24da6 650 SDBufferWrite(LEDBuffer2,48,0,80,32);
chirashi 19:26e0fae24da6 651
chirashi 19:26e0fae24da6 652 //路線コードが0なら行先で固定表示
chirashi 19:26e0fae24da6 653 if(LineNumber == 0){
chirashi 19:26e0fae24da6 654 DisplayMode = 3;
chirashi 19:26e0fae24da6 655 }else{
chirashi 19:26e0fae24da6 656 DisplayMode = 2;
chirashi 19:26e0fae24da6 657 }
chirashi 19:26e0fae24da6 658 }
chirashi 19:26e0fae24da6 659
chirashi 19:26e0fae24da6 660 //WriteMode = 3 固定表示 LEDBuffer2 行先(次駅表示なし 32x128)
chirashi 19:26e0fae24da6 661 //else if(WriteMode == 3){
chirashi 19:26e0fae24da6 662 if(WriteMode == 3){
chirashi 19:26e0fae24da6 663 //データ作ってないからとりあえず80x32の行先データを表示
chirashi 19:26e0fae24da6 664
chirashi 19:26e0fae24da6 665 sprintf(SDFilePath,"/sd/E233/For2/%d.bin",ForNumber);
chirashi 19:26e0fae24da6 666 SDBufferWrite(LEDBuffer2,48,0,80,32);
chirashi 19:26e0fae24da6 667
chirashi 19:26e0fae24da6 668 DisplayMode = 3;
chirashi 19:26e0fae24da6 669
chirashi 19:26e0fae24da6 670 }
chirashi 18:b8563e3319fd 671
chirashi 18:b8563e3319fd 672
chirashi 18:b8563e3319fd 673 }
chirashi 18:b8563e3319fd 674
chirashi 18:b8563e3319fd 675
chirashi 18:b8563e3319fd 676
chirashi 17:95bcbc53d96b 677 void pc_rx(){
chirashi 17:95bcbc53d96b 678 //pc.putc(pc.getc());
chirashi 17:95bcbc53d96b 679
chirashi 17:95bcbc53d96b 680
chirashi 17:95bcbc53d96b 681 if (pc.readable() == 1) { // 受信したデータが存在する
chirashi 17:95bcbc53d96b 682 SerialBuffer[count] = pc.getc(); // 受信データを読み込む
chirashi 17:95bcbc53d96b 683 if (count > 30 || SerialBuffer[count] == '$') { // 文字数が既定の個数を超えた場合、又は終了文字を受信した場合
chirashi 17:95bcbc53d96b 684 SerialBuffer[count] = '\0'; // 末尾に終端文字を入れる
chirashi 17:95bcbc53d96b 685 count = 0;
chirashi 17:95bcbc53d96b 686
chirashi 17:95bcbc53d96b 687 if(SerialBuffer[0] == 'L'){
chirashi 17:95bcbc53d96b 688 unsigned char Sertemp1 = SerialBuffer[1];
chirashi 17:95bcbc53d96b 689 unsigned char Sertemp2 = SerialBuffer[2];
chirashi 17:95bcbc53d96b 690 unsigned char Sertemp3 = SerialBuffer[3];
chirashi 17:95bcbc53d96b 691 int n1 = 0 ;
chirashi 17:95bcbc53d96b 692 int n2 = 0 ;
chirashi 17:95bcbc53d96b 693 int n3 = 0 ;
chirashi 17:95bcbc53d96b 694 int n = 0;
chirashi 17:95bcbc53d96b 695
chirashi 17:95bcbc53d96b 696
chirashi 17:95bcbc53d96b 697 if ( Sertemp1 < '0' || Sertemp1 > '9' ) {
chirashi 17:95bcbc53d96b 698 // error
chirashi 17:95bcbc53d96b 699 } else {
chirashi 17:95bcbc53d96b 700 n1 = (int)(Sertemp1 - '0') ;
chirashi 18:b8563e3319fd 701 //pc.printf("%d,",n1);
chirashi 18:b8563e3319fd 702 }
chirashi 18:b8563e3319fd 703 if ( Sertemp2 < '0' || Sertemp2 > '9' ) {
chirashi 18:b8563e3319fd 704 // error
chirashi 18:b8563e3319fd 705 } else {
chirashi 18:b8563e3319fd 706 n2 = (int)(Sertemp2 - '0') ;
chirashi 18:b8563e3319fd 707 //pc.printf("%d,",n2);
chirashi 18:b8563e3319fd 708 }
chirashi 18:b8563e3319fd 709 if ( Sertemp3 < '0' || Sertemp3 > '9' ) {
chirashi 18:b8563e3319fd 710 // error
chirashi 18:b8563e3319fd 711 } else {
chirashi 18:b8563e3319fd 712 n3 = (int)(Sertemp3 - '0') ;
chirashi 18:b8563e3319fd 713 //pc.printf("%d\r\n",n3);
chirashi 18:b8563e3319fd 714 }
chirashi 18:b8563e3319fd 715 n = (n1 * 100) + (n2 * 10) + n3;
chirashi 18:b8563e3319fd 716 LineNumber = n;
chirashi 19:26e0fae24da6 717 pc.printf("Line:%d\r\n",n);
chirashi 18:b8563e3319fd 718 }
chirashi 18:b8563e3319fd 719
chirashi 18:b8563e3319fd 720 if(SerialBuffer[0] == 'K'){
chirashi 18:b8563e3319fd 721 unsigned char Sertemp1 = SerialBuffer[1];
chirashi 18:b8563e3319fd 722 unsigned char Sertemp2 = SerialBuffer[2];
chirashi 18:b8563e3319fd 723 unsigned char Sertemp3 = SerialBuffer[3];
chirashi 18:b8563e3319fd 724 int n1 = 0 ;
chirashi 18:b8563e3319fd 725 int n2 = 0 ;
chirashi 18:b8563e3319fd 726 int n3 = 0 ;
chirashi 18:b8563e3319fd 727 int n = 0;
chirashi 18:b8563e3319fd 728
chirashi 18:b8563e3319fd 729
chirashi 18:b8563e3319fd 730 if ( Sertemp1 < '0' || Sertemp1 > '9' ) {
chirashi 18:b8563e3319fd 731 // error
chirashi 18:b8563e3319fd 732 } else {
chirashi 18:b8563e3319fd 733 n1 = (int)(Sertemp1 - '0') ;
chirashi 18:b8563e3319fd 734 //pc.printf("%d,",n1);
chirashi 17:95bcbc53d96b 735 }
chirashi 17:95bcbc53d96b 736 if ( Sertemp2 < '0' || Sertemp2 > '9' ) {
chirashi 17:95bcbc53d96b 737 // error
chirashi 17:95bcbc53d96b 738 } else {
chirashi 17:95bcbc53d96b 739 n2 = (int)(Sertemp2 - '0') ;
chirashi 18:b8563e3319fd 740 //pc.printf("%d,",n2);
chirashi 17:95bcbc53d96b 741 }
chirashi 17:95bcbc53d96b 742 if ( Sertemp3 < '0' || Sertemp3 > '9' ) {
chirashi 17:95bcbc53d96b 743 // error
chirashi 17:95bcbc53d96b 744 } else {
chirashi 17:95bcbc53d96b 745 n3 = (int)(Sertemp3 - '0') ;
chirashi 18:b8563e3319fd 746 //pc.printf("%d,",n3);
chirashi 17:95bcbc53d96b 747 }
chirashi 17:95bcbc53d96b 748 n = (n1 * 100) + (n2 * 10) + n3;
chirashi 18:b8563e3319fd 749 KindNumber = n;
chirashi 18:b8563e3319fd 750 pc.printf("Kind:%d\r\n",n);
chirashi 18:b8563e3319fd 751 }
chirashi 18:b8563e3319fd 752
chirashi 18:b8563e3319fd 753 if(SerialBuffer[0] == 'F'){
chirashi 18:b8563e3319fd 754 unsigned char Sertemp1 = SerialBuffer[1];
chirashi 18:b8563e3319fd 755 unsigned char Sertemp2 = SerialBuffer[2];
chirashi 18:b8563e3319fd 756 unsigned char Sertemp3 = SerialBuffer[3];
chirashi 18:b8563e3319fd 757 int n1 = 0 ;
chirashi 18:b8563e3319fd 758 int n2 = 0 ;
chirashi 18:b8563e3319fd 759 int n3 = 0 ;
chirashi 18:b8563e3319fd 760 int n = 0;
chirashi 17:95bcbc53d96b 761
chirashi 18:b8563e3319fd 762
chirashi 18:b8563e3319fd 763 if ( Sertemp1 < '0' || Sertemp1 > '9' ) {
chirashi 18:b8563e3319fd 764 // error
chirashi 18:b8563e3319fd 765 } else {
chirashi 18:b8563e3319fd 766 n1 = (int)(Sertemp1 - '0') ;
chirashi 18:b8563e3319fd 767 //pc.printf("%d,",n1);
chirashi 18:b8563e3319fd 768 }
chirashi 18:b8563e3319fd 769 if ( Sertemp2 < '0' || Sertemp2 > '9' ) {
chirashi 18:b8563e3319fd 770 // error
chirashi 18:b8563e3319fd 771 } else {
chirashi 18:b8563e3319fd 772 n2 = (int)(Sertemp2 - '0') ;
chirashi 18:b8563e3319fd 773 //pc.printf("%d,",n2);
chirashi 18:b8563e3319fd 774 }
chirashi 18:b8563e3319fd 775 if ( Sertemp3 < '0' || Sertemp3 > '9' ) {
chirashi 18:b8563e3319fd 776 // error
chirashi 18:b8563e3319fd 777 } else {
chirashi 18:b8563e3319fd 778 n3 = (int)(Sertemp3 - '0') ;
chirashi 18:b8563e3319fd 779 //pc.printf("%d,",n3);
chirashi 18:b8563e3319fd 780 }
chirashi 18:b8563e3319fd 781 n = (n1 * 100) + (n2 * 10) + n3;
chirashi 18:b8563e3319fd 782 ForNumber = n;
chirashi 18:b8563e3319fd 783 pc.printf("For:%d\r\n",n);
chirashi 18:b8563e3319fd 784 }
chirashi 18:b8563e3319fd 785
chirashi 19:26e0fae24da6 786 if(SerialBuffer[0] == 'N'){
chirashi 19:26e0fae24da6 787 unsigned char Sertemp1 = SerialBuffer[1];
chirashi 19:26e0fae24da6 788 unsigned char Sertemp2 = SerialBuffer[2];
chirashi 19:26e0fae24da6 789 unsigned char Sertemp3 = SerialBuffer[3];
chirashi 19:26e0fae24da6 790 int n1 = 0 ;
chirashi 19:26e0fae24da6 791 int n2 = 0 ;
chirashi 19:26e0fae24da6 792 int n3 = 0 ;
chirashi 19:26e0fae24da6 793 int n = 0;
chirashi 19:26e0fae24da6 794
chirashi 19:26e0fae24da6 795
chirashi 19:26e0fae24da6 796 if ( Sertemp1 < '0' || Sertemp1 > '9' ) {
chirashi 19:26e0fae24da6 797 // error
chirashi 19:26e0fae24da6 798 } else {
chirashi 19:26e0fae24da6 799 n1 = (int)(Sertemp1 - '0') ;
chirashi 19:26e0fae24da6 800 //pc.printf("%d,",n1);
chirashi 19:26e0fae24da6 801 }
chirashi 19:26e0fae24da6 802 if ( Sertemp2 < '0' || Sertemp2 > '9' ) {
chirashi 19:26e0fae24da6 803 // error
chirashi 19:26e0fae24da6 804 } else {
chirashi 19:26e0fae24da6 805 n2 = (int)(Sertemp2 - '0') ;
chirashi 19:26e0fae24da6 806 //pc.printf("%d,",n2);
chirashi 19:26e0fae24da6 807 }
chirashi 19:26e0fae24da6 808 if ( Sertemp3 < '0' || Sertemp3 > '9' ) {
chirashi 19:26e0fae24da6 809 // error
chirashi 19:26e0fae24da6 810 } else {
chirashi 19:26e0fae24da6 811 n3 = (int)(Sertemp3 - '0') ;
chirashi 19:26e0fae24da6 812 //pc.printf("%d,",n3);
chirashi 19:26e0fae24da6 813 }
chirashi 19:26e0fae24da6 814 n = (n1 * 100) + (n2 * 10) + n3;
chirashi 19:26e0fae24da6 815 NextStaNumber = n;
chirashi 19:26e0fae24da6 816 pc.printf("NextStation:%d\r\n",n);
chirashi 19:26e0fae24da6 817 }
chirashi 18:b8563e3319fd 818
chirashi 18:b8563e3319fd 819 if(SerialBuffer[0] == 'S' && SerialBuffer[1] == 'e' && SerialBuffer[2] == 't'){
chirashi 18:b8563e3319fd 820 pc.printf("Set\r\n");
chirashi 18:b8563e3319fd 821 SDFileRead();
chirashi 17:95bcbc53d96b 822 }
chirashi 17:95bcbc53d96b 823
chirashi 17:95bcbc53d96b 824 }else{
chirashi 17:95bcbc53d96b 825 count++;
chirashi 17:95bcbc53d96b 826 }
chirashi 17:95bcbc53d96b 827 }
chirashi 17:95bcbc53d96b 828 }
chirashi 17:95bcbc53d96b 829
chirashi 17:95bcbc53d96b 830 int main(){
chirashi 13:0c542447e6da 831 Init(); // Set things up
chirashi 13:0c542447e6da 832 //Serial
chirashi 13:0c542447e6da 833 pc.printf("Power ON\r\n");
chirashi 13:0c542447e6da 834
chirashi 17:95bcbc53d96b 835
chirashi 13:0c542447e6da 836 //SumSW
chirashi 17:95bcbc53d96b 837 int testData[16] = {0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0};
chirashi 13:0c542447e6da 838 SI = LOW;
chirashi 17:95bcbc53d96b 839 for(int a = 0; a < 16; a++){
chirashi 17:95bcbc53d96b 840 if(testData[a] == 1){
chirashi 17:95bcbc53d96b 841 SI = HIGH;
chirashi 17:95bcbc53d96b 842 pc.printf("1,");
chirashi 17:95bcbc53d96b 843 }else{
chirashi 17:95bcbc53d96b 844 SI = LOW;
chirashi 17:95bcbc53d96b 845 pc.printf("0,");
chirashi 17:95bcbc53d96b 846 }
chirashi 13:0c542447e6da 847 SCK = HIGH;
chirashi 17:95bcbc53d96b 848 wait_us(15);
chirashi 17:95bcbc53d96b 849 SCK = LOW;
chirashi 17:95bcbc53d96b 850 wait_us(15);
chirashi 13:0c542447e6da 851 }
chirashi 13:0c542447e6da 852
chirashi 13:0c542447e6da 853 RCK = HIGH;
chirashi 17:95bcbc53d96b 854 wait_us(15);
chirashi 13:0c542447e6da 855 RCK = LOW;
chirashi 17:95bcbc53d96b 856 pc.printf("\r\n");
chirashi 8:9d22c9910917 857
chirashi 14:0f4d44927b20 858 int SumSWNum = 0;
chirashi 17:95bcbc53d96b 859 if(SumSW1 == 1 ){
chirashi 14:0f4d44927b20 860 SumSWNum = SumSWNum + 1;
chirashi 14:0f4d44927b20 861 }
chirashi 17:95bcbc53d96b 862 if(SumSW2 == 1){
chirashi 14:0f4d44927b20 863 SumSWNum = SumSWNum + 2;
chirashi 14:0f4d44927b20 864 }
chirashi 17:95bcbc53d96b 865 if(SumSW4 == 1){
chirashi 14:0f4d44927b20 866 SumSWNum = SumSWNum + 4;
chirashi 14:0f4d44927b20 867 }
chirashi 17:95bcbc53d96b 868 if(SumSW8 == 1){
chirashi 14:0f4d44927b20 869 SumSWNum = SumSWNum + 8;
chirashi 14:0f4d44927b20 870 }
chirashi 14:0f4d44927b20 871 pc.printf("SumSW:%d\r\n",SumSWNum);
chirashi 8:9d22c9910917 872
chirashi 18:b8563e3319fd 873
chirashi 17:95bcbc53d96b 874
chirashi 18:b8563e3319fd 875 SDFileRead();
chirashi 8:9d22c9910917 876
chirashi 13:0c542447e6da 877 //Debug
chirashi 14:0f4d44927b20 878 if(Debug == 1){
chirashi 14:0f4d44927b20 879 //DataSerialOut
chirashi 14:0f4d44927b20 880 for(int y = 0; y < 32; y++){
chirashi 14:0f4d44927b20 881 for(int x = 0; x <128; x++){
chirashi 14:0f4d44927b20 882 if(LEDBuffer[y][x]== 0){
chirashi 14:0f4d44927b20 883 //pc.printf("0,");
chirashi 14:0f4d44927b20 884 pc.printf(" ");
chirashi 14:0f4d44927b20 885 }else{
chirashi 14:0f4d44927b20 886 //pc.printf("#");
chirashi 14:0f4d44927b20 887 pc.printf("%.02d",LEDBuffer[y][x]);
chirashi 14:0f4d44927b20 888 }
chirashi 13:0c542447e6da 889 }
chirashi 14:0f4d44927b20 890 pc.printf("\r\n");
chirashi 13:0c542447e6da 891 }
chirashi 13:0c542447e6da 892 }
chirashi 17:95bcbc53d96b 893 //Serial
chirashi 17:95bcbc53d96b 894 pc.attach(pc_rx, Serial::RxIrq);
chirashi 17:95bcbc53d96b 895
chirashi 13:0c542447e6da 896 //DisplayTimer
chirashi 12:680db9f1f4eb 897 ChangeTimer.attach(&TimerTick,3);
chirashi 8:9d22c9910917 898
chirashi 17:95bcbc53d96b 899
chirashi 17:95bcbc53d96b 900
chirashi 17:95bcbc53d96b 901
chirashi 13:0c542447e6da 902 while(1) {
RRacer 0:1f58ecec51d6 903 CT++;
chirashi 8:9d22c9910917 904 if (ChangeCount == 0){
chirashi 8:9d22c9910917 905 Paint(LEDBuffer);
chirashi 8:9d22c9910917 906 }else if(ChangeCount == 1){
chirashi 8:9d22c9910917 907 Paint(LEDBuffer2);
chirashi 8:9d22c9910917 908 }else if(ChangeCount == 2){
chirashi 8:9d22c9910917 909 Paint(LEDBuffer3);
chirashi 8:9d22c9910917 910 }
chirashi 4:245f17936b1a 911
RRacer 0:1f58ecec51d6 912 if(CT>4160) {
chirashi 4:245f17936b1a 913 //MkPattern(); // Restore original priceless artwork
RRacer 0:1f58ecec51d6 914 CT=0; // Start all over.
RRacer 0:1f58ecec51d6 915 }
chirashi 3:6dbbc0130e96 916
chirashi 4:245f17936b1a 917 //PaintOFF();
chirashi 6:e6cb4a476422 918 //wait_us(10);
RRacer 0:1f58ecec51d6 919 }
chirashi 3:6dbbc0130e96 920
RRacer 0:1f58ecec51d6 921 }