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

Dependencies:   SDFileSystem mbed

Committer:
chirashi
Date:
Sat Nov 15 16:12:28 2014 +0000
Revision:
18:b8563e3319fd
Parent:
17:95bcbc53d96b
Child:
19:26e0fae24da6
SD??

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 17:95bcbc53d96b 78 int ChangeCount = 0;
chirashi 17:95bcbc53d96b 79 int LineNumber = 37;
chirashi 17:95bcbc53d96b 80 int KindNumber = 1;
chirashi 17:95bcbc53d96b 81 int ForNumber = 1;
chirashi 17:95bcbc53d96b 82 int NextStaNumber = 1;
chirashi 17:95bcbc53d96b 83 char SerialBuffer[30];
chirashi 17:95bcbc53d96b 84 int count = 0;
chirashi 13:0c542447e6da 85
chirashi 13:0c542447e6da 86 //SDCardFilePath
chirashi 17:95bcbc53d96b 87 char SDFilePath[80]= "/sd/a.txt";
chirashi 13:0c542447e6da 88
RRacer 0:1f58ecec51d6 89 unsigned char gm[32][6]; // Buffer with 32x6 bytes. Graphics memory if you like.
RRacer 0:1f58ecec51d6 90 unsigned long CT; // Counter for demo code
RRacer 0:1f58ecec51d6 91
chirashi 13:0c542447e6da 92
chirashi 13:0c542447e6da 93
chirashi 15:12895e9c6965 94 int8_t LEDBuffer [32][128] = {
chirashi 12:680db9f1f4eb 95 {0,0,0,0,0,0,0,0,0,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 96 {0,0,0,0,0,0,0,0,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 97 {0,0,0,0,0,0,0,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 98 {0,0,0,0,0,0,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 99 {0,0,0,0,0,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 100 {0,0,0,0,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 101 {0,0,0,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 102 {0,0,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 103 {0,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 104 {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 105 {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 106 {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 107 {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 108 {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 109 {0,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 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,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 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,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 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,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 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,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 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,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 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,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 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,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 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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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 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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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 119 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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 120 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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 121 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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 122 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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 123 {14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,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 124 {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 125 {14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,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 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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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 127
chirashi 9:ab87b0e361aa 128
chirashi 8:9d22c9910917 129 };
chirashi 6:e6cb4a476422 130
chirashi 15:12895e9c6965 131 int8_t LEDBuffer2[32][128] = {
chirashi 14:0f4d44927b20 132 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 133 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 134 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 135 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 136 {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 137 {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 138 {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 139 {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 140 {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 141 {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 142 {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 143 {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 144 {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 145 {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 146 {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 147 {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 148 {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 149 {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 150 {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 151 {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 152 {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 153 {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 154 {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 155 {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 156 {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 157 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 158 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 159 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 160 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 161 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 162 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 163 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 164
chirashi 8:9d22c9910917 165 };
chirashi 8:9d22c9910917 166
chirashi 15:12895e9c6965 167 int8_t LEDBuffer3[32][128] = {
chirashi 12:680db9f1f4eb 168 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 169 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 170 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 171 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 172 {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 173 {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 174 {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 175 {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 176 {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 177 {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 178 {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 179 {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 180 {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 181 {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 182 {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 183 {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 184 {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 185 {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 186 {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 187 {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 188 {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 189 {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 190 {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 191 {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 192 {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 193 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 194 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 195 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 196 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 197 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 198 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 199 {9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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 200
chirashi 8:9d22c9910917 201 };
chirashi 8:9d22c9910917 202
chirashi 9:ab87b0e361aa 203 //10 Yellow(Nambu Local)
chirashi 9:ab87b0e361aa 204 //11 Green (Yokohama Line)
chirashi 12:680db9f1f4eb 205 //12 Orange(Rapid Acty,Urbun)
chirashi 16:d02248f44c4b 206
chirashi 16:d02248f44c4b 207 //16 Green(Utsunomiya Line)
chirashi 16:d02248f44c4b 208 bool R1Data1[32]={0,1,0,0,1,0,1,1,0,1,1,1,1,0,1,1,0};
chirashi 16:d02248f44c4b 209 bool R1Data2[32]={0,1,0,0,1,0,1,1,0,1,1,0,1,0,0,0,0};
chirashi 16:d02248f44c4b 210 bool R1Data3[32]={0,1,0,0,1,0,1,1,0,1,1,0,1,0,0,0,0};
chirashi 16:d02248f44c4b 211 bool R1Data4[32]={0,1,0,0,1,0,1,1,0,1,0,0,1,0,0,0,0};
chirashi 4:245f17936b1a 212
chirashi 16:d02248f44c4b 213 bool G1Data1[32]={0,0,1,0,1,1,0,1,1,0,1,1,1,1,0,1,1};
chirashi 16:d02248f44c4b 214 bool G1Data2[32]={0,0,1,0,1,1,0,1,1,0,1,1,0,0,0,0,1};
chirashi 16:d02248f44c4b 215 bool G1Data3[32]={0,0,1,0,1,1,0,1,0,0,0,0,0,0,0,0,0};
chirashi 16:d02248f44c4b 216 bool G1Data4[32]={0,0,1,0,1,1,0,1,0,0,0,0,0,0,0,0,0};
chirashi 7:79dfe71beb88 217
chirashi 16:d02248f44c4b 218 bool B1Data1[32]={0,0,0,1,0,1,1,1,1,1,0,0,0,0,0,1,0};
chirashi 16:d02248f44c4b 219 bool B1Data2[32]={0,0,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0};
chirashi 16:d02248f44c4b 220 bool B1Data3[32]={0,0,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0};
chirashi 16:d02248f44c4b 221 bool B1Data4[32]={0,0,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0};
chirashi 7:79dfe71beb88 222
chirashi 7:79dfe71beb88 223
chirashi 7:79dfe71beb88 224
chirashi 7:79dfe71beb88 225
RRacer 0:1f58ecec51d6 226
RRacer 0:1f58ecec51d6 227 void Init()
RRacer 0:1f58ecec51d6 228 {
RRacer 0:1f58ecec51d6 229 // Set up things to a known state
RRacer 0:1f58ecec51d6 230 CLK = LOW;
RRacer 0:1f58ecec51d6 231 LAT = LOW;
RRacer 0:1f58ecec51d6 232 OE = HIGH; //display off
RRacer 0:1f58ecec51d6 233 ABC = 0;
RRacer 0:1f58ecec51d6 234 CT=0;
chirashi 7:79dfe71beb88 235
RRacer 0:1f58ecec51d6 236 }
RRacer 0:1f58ecec51d6 237
RRacer 0:1f58ecec51d6 238
RRacer 0:1f58ecec51d6 239
chirashi 15:12895e9c6965 240 void WrRow(unsigned char Row, int8_t Buffer[32][128])
RRacer 0:1f58ecec51d6 241 {
RRacer 0:1f58ecec51d6 242 // Write specified row (and row+8) to display. Valid input: 0 to 7.
chirashi 10:4d9cf202a845 243 ABC = 15-Row; // Set row address
chirashi 6:e6cb4a476422 244 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 245
chirashi 10:4d9cf202a845 246 if (Buffer [(15-Row)][col] == 0){
chirashi 6:e6cb4a476422 247 R1 = R_Debug1;
chirashi 6:e6cb4a476422 248 G1 = G_Debug1;
chirashi 6:e6cb4a476422 249 B1 = B_Debug1;
chirashi 7:79dfe71beb88 250 }else {
chirashi 8:9d22c9910917 251 //R1 = R1Data1[(LEDBuffer [(7-Row)][col])];
chirashi 8:9d22c9910917 252 //G1 = G1Data1[(LEDBuffer [(7-Row)][col])];
chirashi 8:9d22c9910917 253 //B1 = B1Data1[(LEDBuffer [(7-Row)][col])];
chirashi 10:4d9cf202a845 254 R1 = R1Data1[(Buffer [(15-Row)][col])];
chirashi 10:4d9cf202a845 255 G1 = G1Data1[(Buffer [(15-Row)][col])];
chirashi 10:4d9cf202a845 256 B1 = B1Data1[(Buffer [(15-Row)][col])];
chirashi 4:245f17936b1a 257 }
chirashi 7:79dfe71beb88 258
chirashi 10:4d9cf202a845 259 if (Buffer [(31-Row)][col] == 0){
chirashi 6:e6cb4a476422 260 R2 = R_Debug1;
chirashi 6:e6cb4a476422 261 G2 = G_Debug1;
chirashi 6:e6cb4a476422 262 B2 = B_Debug1;
chirashi 7:79dfe71beb88 263 }else {
chirashi 10:4d9cf202a845 264 R2 = R1Data1[(Buffer [(31-Row)][col])];
chirashi 10:4d9cf202a845 265 G2 = G1Data1[(Buffer [(31-Row)][col])];
chirashi 10:4d9cf202a845 266 B2 = B1Data1[(Buffer [(31-Row)][col])];
chirashi 7:79dfe71beb88 267 }
chirashi 4:245f17936b1a 268
chirashi 4:245f17936b1a 269 CLK = HIGH; // tick (clock bit in)
chirashi 4:245f17936b1a 270 CLK = LOW; // tock
chirashi 4:245f17936b1a 271 }
chirashi 4:245f17936b1a 272 LAT = HIGH; // Latch entire row
chirashi 4:245f17936b1a 273 LAT = LOW;
chirashi 4:245f17936b1a 274 }
chirashi 4:245f17936b1a 275
chirashi 15:12895e9c6965 276 void WrRow2(unsigned char Row,int8_t Buffer[32][128])
chirashi 4:245f17936b1a 277 {
chirashi 4:245f17936b1a 278 // Write specified row (and row+8) to display. Valid input: 0 to 7.
chirashi 10:4d9cf202a845 279 ABC = 15-Row; // Set row address
chirashi 6:e6cb4a476422 280 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 281
chirashi 10:4d9cf202a845 282 if (Buffer [(15-Row)][col] == 0){
chirashi 6:e6cb4a476422 283 R1 = R_Debug2;
chirashi 6:e6cb4a476422 284 G1 = G_Debug2;
chirashi 6:e6cb4a476422 285 B1 = B_Debug2;
chirashi 5:532937f20397 286 }else{
chirashi 10:4d9cf202a845 287 R1 = R1Data2[(Buffer [(15-Row)][col])];
chirashi 10:4d9cf202a845 288 G1 = G1Data2[(Buffer [(15-Row)][col])];
chirashi 10:4d9cf202a845 289 B1 = B1Data2[(Buffer [(15-Row)][col])];
chirashi 5:532937f20397 290 }
chirashi 5:532937f20397 291
chirashi 10:4d9cf202a845 292 if (Buffer [(31-Row)][col] == 0){
chirashi 6:e6cb4a476422 293 R2 = R_Debug2;
chirashi 6:e6cb4a476422 294 G2 = G_Debug2;
chirashi 6:e6cb4a476422 295 B2 = B_Debug2;
chirashi 6:e6cb4a476422 296 }else{
chirashi 10:4d9cf202a845 297 R2 = R1Data2[(Buffer [(31-Row)][col])];
chirashi 10:4d9cf202a845 298 G2 = G1Data2[(Buffer [(31-Row)][col])];
chirashi 10:4d9cf202a845 299 B2 = B1Data2[(Buffer [(31-Row)][col])];
chirashi 7:79dfe71beb88 300 }
chirashi 5:532937f20397 301
chirashi 5:532937f20397 302 CLK = HIGH; // tick (clock bit in)
chirashi 5:532937f20397 303 CLK = LOW; // tock
chirashi 5:532937f20397 304 }
chirashi 5:532937f20397 305 LAT = HIGH; // Latch entire row
chirashi 5:532937f20397 306 LAT = LOW;
chirashi 5:532937f20397 307 }
chirashi 5:532937f20397 308
chirashi 15:12895e9c6965 309 void WrRow3(unsigned char Row,int8_t Buffer[32][128])
chirashi 5:532937f20397 310 {
chirashi 5:532937f20397 311 // Write specified row (and row+8) to display. Valid input: 0 to 7.
chirashi 10:4d9cf202a845 312 ABC = 15-Row; // Set row address
chirashi 6:e6cb4a476422 313 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 314
chirashi 10:4d9cf202a845 315 if (Buffer [(15-Row)][col] == 0){
chirashi 6:e6cb4a476422 316 R1 = R_Debug3;
chirashi 6:e6cb4a476422 317 G1 = G_Debug3;
chirashi 6:e6cb4a476422 318 B1 = B_Debug3;
chirashi 5:532937f20397 319 }else{
chirashi 10:4d9cf202a845 320 R1 = R1Data3[(Buffer [(15-Row)][col])];
chirashi 10:4d9cf202a845 321 G1 = G1Data3[(Buffer [(15-Row)][col])];
chirashi 10:4d9cf202a845 322 B1 = B1Data3[(Buffer [(15-Row)][col])];
chirashi 5:532937f20397 323 }
chirashi 5:532937f20397 324
chirashi 10:4d9cf202a845 325 if (Buffer [(31-Row)][col] == 0){
chirashi 6:e6cb4a476422 326 R2 = R_Debug3;
chirashi 6:e6cb4a476422 327 G2 = G_Debug3;
chirashi 6:e6cb4a476422 328 B2 = B_Debug3;
chirashi 5:532937f20397 329 }else{
chirashi 10:4d9cf202a845 330 R2 = R1Data3[(Buffer [(31-Row)][col])];
chirashi 10:4d9cf202a845 331 G2 = G1Data3[(Buffer [(31-Row)][col])];
chirashi 10:4d9cf202a845 332 B2 = B1Data3[(Buffer [(31-Row)][col])];
chirashi 7:79dfe71beb88 333 }
chirashi 5:532937f20397 334
chirashi 5:532937f20397 335 CLK = HIGH; // tick (clock bit in)
chirashi 5:532937f20397 336 CLK = LOW; // tock
chirashi 5:532937f20397 337 }
chirashi 5:532937f20397 338 LAT = HIGH; // Latch entire row
chirashi 5:532937f20397 339 LAT = LOW;
chirashi 5:532937f20397 340 }
chirashi 5:532937f20397 341
chirashi 15:12895e9c6965 342 void WrRow4(unsigned char Row,int8_t Buffer[32][128])
chirashi 5:532937f20397 343 {
chirashi 5:532937f20397 344 // Write specified row (and row+8) to display. Valid input: 0 to 7.
chirashi 10:4d9cf202a845 345 ABC = 15-Row; // Set row address
chirashi 6:e6cb4a476422 346 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 347
chirashi 10:4d9cf202a845 348 if (Buffer [(15-Row)][col] == 0){
chirashi 6:e6cb4a476422 349 R1 = R_Debug4;
chirashi 6:e6cb4a476422 350 G1 = G_Debug4;
chirashi 6:e6cb4a476422 351 B1 = B_Debug4;
chirashi 5:532937f20397 352 }else{
chirashi 10:4d9cf202a845 353 R1 = R1Data4[(Buffer [(15-Row)][col])];
chirashi 10:4d9cf202a845 354 G1 = G1Data4[(Buffer [(15-Row)][col])];
chirashi 10:4d9cf202a845 355 B1 = B1Data4[(Buffer [(15-Row)][col])];
chirashi 5:532937f20397 356 }
chirashi 5:532937f20397 357
chirashi 10:4d9cf202a845 358 if (Buffer [(31-Row)][col] == 0){
chirashi 6:e6cb4a476422 359 R2 = R_Debug4;
chirashi 6:e6cb4a476422 360 G2 = G_Debug4;
chirashi 6:e6cb4a476422 361 B2 = B_Debug4;
chirashi 10:4d9cf202a845 362 }else{
chirashi 10:4d9cf202a845 363 R2 = R1Data4[(Buffer [(31-Row)][col])];
chirashi 10:4d9cf202a845 364 G2 = G1Data4[(Buffer [(31-Row)][col])];
chirashi 10:4d9cf202a845 365 B2 = B1Data4[(Buffer [(31-Row)][col])];
chirashi 7:79dfe71beb88 366 }
chirashi 5:532937f20397 367
chirashi 5:532937f20397 368 CLK = HIGH; // tick (clock bit in)
chirashi 5:532937f20397 369 CLK = LOW; // tock
chirashi 5:532937f20397 370 }
chirashi 5:532937f20397 371 LAT = HIGH; // Latch entire row
chirashi 5:532937f20397 372 LAT = LOW;
chirashi 5:532937f20397 373 }
chirashi 5:532937f20397 374
chirashi 4:245f17936b1a 375
chirashi 3:6dbbc0130e96 376 void WrRowOFF(unsigned char Row)
chirashi 3:6dbbc0130e96 377 {
chirashi 3:6dbbc0130e96 378 // Write specified row (and row+8) to display. Valid input: 0 to 7.
chirashi 10:4d9cf202a845 379 ABC = 15-Row; // Set row address
chirashi 6:e6cb4a476422 380 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 381 R1 = 0; // Red bit, upper half
chirashi 3:6dbbc0130e96 382 G1 = 0; // Green bit, upper half
chirashi 3:6dbbc0130e96 383 B1 = 0; // Blue bit, upper half
chirashi 3:6dbbc0130e96 384 R2 = 0; // Red bit, lower half
chirashi 3:6dbbc0130e96 385 G2 = 0; // Green bit, lower half
chirashi 3:6dbbc0130e96 386 B2 = 0; // Blue bit, lower half
chirashi 3:6dbbc0130e96 387 CLK = HIGH; // tick (clock bit in)
chirashi 3:6dbbc0130e96 388 CLK = LOW; // tock
chirashi 3:6dbbc0130e96 389 }
chirashi 3:6dbbc0130e96 390 LAT = HIGH; // Latch entire row
chirashi 3:6dbbc0130e96 391 LAT = LOW;
chirashi 3:6dbbc0130e96 392 }
chirashi 3:6dbbc0130e96 393
RRacer 0:1f58ecec51d6 394 void Pset(unsigned char x,unsigned char y, unsigned char c)
RRacer 0:1f58ecec51d6 395 {
RRacer 0:1f58ecec51d6 396 // Set pixel (x,y) to color c
RRacer 0:1f58ecec51d6 397 // Manipulates graphics memory, so you won't see any change til you Paint() it.
RRacer 0:1f58ecec51d6 398 unsigned char ud,l,r0,g0,b0;
RRacer 0:1f58ecec51d6 399 ud=(y & 8)>>3; // 0 = upper half, 1 = lower half
RRacer 0:1f58ecec51d6 400 l=y & 7; // Extract row in upper/lower half
RRacer 0:1f58ecec51d6 401 r0=(c & 4) >>2; // Extract red bit from color
RRacer 0:1f58ecec51d6 402 g0=(c & 2) >>1; // Extract green bit from color
RRacer 0:1f58ecec51d6 403 b0=(c & 1); // Extract blue bit from color
RRacer 0:1f58ecec51d6 404 // *******Removes current bit ******* *Adds bit**
RRacer 0:1f58ecec51d6 405 gm[x][0+3*ud]=(gm[x][0+3*ud] & (255-(1<<(7-l))))+(r0<<(7-l)); // Red byte
RRacer 0:1f58ecec51d6 406 gm[x][1+3*ud]=(gm[x][1+3*ud] & (255-(1<<(7-l))))+(g0<<(7-l)); // Green byte
RRacer 0:1f58ecec51d6 407 gm[x][2+3*ud]=(gm[x][2+3*ud] & (255-(1<<(7-l))))+(b0<<(7-l)); // Blue byte
RRacer 0:1f58ecec51d6 408 }
RRacer 0:1f58ecec51d6 409
chirashi 15:12895e9c6965 410 void Paint(int8_t Buffer2[32][128])
RRacer 0:1f58ecec51d6 411 {
RRacer 0:1f58ecec51d6 412 // Write graphics memory to display
chirashi 5:532937f20397 413 //1
chirashi 9:ab87b0e361aa 414 for(int Row=0; Row<LED_Height; Row++) {
RRacer 0:1f58ecec51d6 415 OE = HIGH; // Disable output
chirashi 8:9d22c9910917 416 WrRow(Row,Buffer2);
chirashi 5:532937f20397 417 //wait_us(10);
chirashi 5:532937f20397 418 OE = LOW; // Enable output
chirashi 5:532937f20397 419
chirashi 16:d02248f44c4b 420 wait_us(15); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh.
chirashi 5:532937f20397 421 }
chirashi 5:532937f20397 422 //2
chirashi 9:ab87b0e361aa 423 for(int Row=0; Row<LED_Height; Row++) {
chirashi 5:532937f20397 424 OE = HIGH; // Disable output
chirashi 5:532937f20397 425 //WrRow(Row);
chirashi 8:9d22c9910917 426 WrRow2(Row,Buffer2);
chirashi 5:532937f20397 427 //wait_us(10);
chirashi 5:532937f20397 428 OE = LOW; // Enable output
chirashi 5:532937f20397 429
chirashi 16:d02248f44c4b 430 wait_us(15); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh.
chirashi 5:532937f20397 431 }
chirashi 5:532937f20397 432 //3
chirashi 9:ab87b0e361aa 433 for(int Row=0; Row<LED_Height; Row++) {
chirashi 5:532937f20397 434 OE = HIGH; // Disable output
chirashi 8:9d22c9910917 435 WrRow3(Row,Buffer2);
chirashi 5:532937f20397 436 //wait_us(10);
chirashi 5:532937f20397 437 OE = LOW; // Enable output
chirashi 5:532937f20397 438
chirashi 16:d02248f44c4b 439 wait_us(15); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh.
chirashi 5:532937f20397 440 }
chirashi 5:532937f20397 441 //4
chirashi 9:ab87b0e361aa 442 for(int Row=0; Row<LED_Height; Row++) {
chirashi 5:532937f20397 443 OE = HIGH; // Disable output
chirashi 8:9d22c9910917 444 WrRow4(Row,Buffer2);
chirashi 5:532937f20397 445 //wait_us(10);
RRacer 0:1f58ecec51d6 446 OE = LOW; // Enable output
chirashi 4:245f17936b1a 447
chirashi 16:d02248f44c4b 448 wait_us(15); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh.
chirashi 13:0c542447e6da 449 }
chirashi 4:245f17936b1a 450 }
chirashi 4:245f17936b1a 451
RRacer 0:1f58ecec51d6 452
chirashi 3:6dbbc0130e96 453
chirashi 3:6dbbc0130e96 454 void PaintOFF()
chirashi 3:6dbbc0130e96 455 {
chirashi 3:6dbbc0130e96 456 // Write graphics memory to display
chirashi 3:6dbbc0130e96 457 for(int Row=0; Row<8; Row++) {
chirashi 3:6dbbc0130e96 458 OE = HIGH; // Disable output
chirashi 3:6dbbc0130e96 459 WrRowOFF(Row);
chirashi 3:6dbbc0130e96 460 OE = LOW; // Enable output
chirashi 4:245f17936b1a 461 wait_us(50); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh.
chirashi 3:6dbbc0130e96 462 }
chirashi 3:6dbbc0130e96 463 }
chirashi 3:6dbbc0130e96 464
chirashi 8:9d22c9910917 465 void TimerTick(){
chirashi 8:9d22c9910917 466 if (ChangeCount == 0){
chirashi 13:0c542447e6da 467 ChangeCount = ChangeCount + 1;
chirashi 13:0c542447e6da 468 }else if(ChangeCount == 1 ){
chirashi 13:0c542447e6da 469 ChangeCount = ChangeCount + 1;
chirashi 13:0c542447e6da 470 //ChangeCount = 0;
chirashi 13:0c542447e6da 471 }else if(ChangeCount == 2){
chirashi 13:0c542447e6da 472 ChangeCount = 0;
chirashi 13:0c542447e6da 473 }else{
chirashi 13:0c542447e6da 474
chirashi 13:0c542447e6da 475 }
chirashi 13:0c542447e6da 476 }
chirashi 13:0c542447e6da 477
chirashi 14:0f4d44927b20 478 //書込み対象バッファ,書込み開始位置x,書込み開始位置y,読み出し幅x,読み出し高さy
chirashi 15:12895e9c6965 479 void SDBufferWrite(int8_t TargetBuffer[32][128], int Startx, int Starty, int Readx, int Ready){
chirashi 14:0f4d44927b20 480 FILE *fp = fopen(SDFilePath, "r");
chirashi 14:0f4d44927b20 481 if(fp == NULL) {
chirashi 14:0f4d44927b20 482 pc.printf("SDFileOpen Error %s\r\n",SDFilePath);
chirashi 14:0f4d44927b20 483 //error("Could not open file for write\r\n");
chirashi 14:0f4d44927b20 484 }else{
chirashi 14:0f4d44927b20 485 //fprintf(fp, "Hello fun SD Card World!");
chirashi 14:0f4d44927b20 486 pc.printf("SDFileOpen Success %s\r\n",SDFilePath);
chirashi 14:0f4d44927b20 487
chirashi 14:0f4d44927b20 488 //SDDataReadtest
chirashi 16:d02248f44c4b 489 int8_t Data;
chirashi 14:0f4d44927b20 490 for(int y = Starty; y < Starty + Ready; y++){
chirashi 14:0f4d44927b20 491 for(int x = Startx; x < Startx + Readx; x++){
chirashi 14:0f4d44927b20 492 Data = getc(fp);
chirashi 14:0f4d44927b20 493 TargetBuffer[y][x] = Data;
chirashi 14:0f4d44927b20 494 }
chirashi 14:0f4d44927b20 495 }
chirashi 14:0f4d44927b20 496 fclose(fp);
chirashi 14:0f4d44927b20 497 }
chirashi 14:0f4d44927b20 498 }
chirashi 13:0c542447e6da 499
chirashi 18:b8563e3319fd 500 //路線名表示の使用領域チェック
chirashi 18:b8563e3319fd 501 //路線名表示時に次停車駅を表示するかどうかの判断に使用
chirashi 18:b8563e3319fd 502 //路線名が下半分も使用しているなら次停車駅は表示しない
chirashi 18:b8563e3319fd 503 bool BufferBlankCheck(){
chirashi 18:b8563e3319fd 504 bool NotBlankflag = 0;
chirashi 18:b8563e3319fd 505 for(int y = 16; y < 32; y++){
chirashi 18:b8563e3319fd 506 for(int x = 48; x < 128; x++){
chirashi 18:b8563e3319fd 507 if(LEDBuffer[y][x] != 0){
chirashi 18:b8563e3319fd 508 NotBlankflag = 1;
chirashi 18:b8563e3319fd 509 }
chirashi 18:b8563e3319fd 510 if(NotBlankflag == 1){
chirashi 18:b8563e3319fd 511 break;
chirashi 18:b8563e3319fd 512 }
chirashi 18:b8563e3319fd 513 }
chirashi 18:b8563e3319fd 514 if(NotBlankflag == 1){
chirashi 18:b8563e3319fd 515 break;
chirashi 18:b8563e3319fd 516 }
chirashi 18:b8563e3319fd 517 }
chirashi 18:b8563e3319fd 518 if(NotBlankflag == 0){
chirashi 18:b8563e3319fd 519 pc.printf("Blank\r\n");
chirashi 18:b8563e3319fd 520 return 0;
chirashi 18:b8563e3319fd 521 }else{
chirashi 18:b8563e3319fd 522 pc.printf("Not Blank\r\n");
chirashi 18:b8563e3319fd 523 return 1;
chirashi 18:b8563e3319fd 524 }
chirashi 18:b8563e3319fd 525 }
chirashi 18:b8563e3319fd 526
chirashi 18:b8563e3319fd 527
chirashi 18:b8563e3319fd 528
chirashi 18:b8563e3319fd 529 void SDFileRead(){
chirashi 18:b8563e3319fd 530 //SDCard
chirashi 18:b8563e3319fd 531 //種別
chirashi 18:b8563e3319fd 532 sprintf(SDFilePath,"/sd/E233/Kind/%d.bin",KindNumber);
chirashi 18:b8563e3319fd 533 //SDFilePath = "/sd/E233/Kind/2.bin";
chirashi 18:b8563e3319fd 534 SDBufferWrite(LEDBuffer,0,0,48,32);
chirashi 18:b8563e3319fd 535
chirashi 18:b8563e3319fd 536 sprintf(SDFilePath,"/sd/E233/Kind/%d.bin",KindNumber);
chirashi 18:b8563e3319fd 537 //SDFilePath = "/sd/E233/Kind/2.bin";
chirashi 18:b8563e3319fd 538 SDBufferWrite(LEDBuffer2,0,0,48,32);
chirashi 18:b8563e3319fd 539
chirashi 18:b8563e3319fd 540 //種別(英語)
chirashi 18:b8563e3319fd 541 sprintf(SDFilePath,"/sd/E233/KindE/%d.bin",KindNumber);
chirashi 18:b8563e3319fd 542 //SDFilePath = "/sd/E233/Kind/2.bin";
chirashi 18:b8563e3319fd 543 SDBufferWrite(LEDBuffer3,0,0,48,32);
chirashi 18:b8563e3319fd 544
chirashi 18:b8563e3319fd 545 //路線名
chirashi 18:b8563e3319fd 546 //SDFilePath = "/sd/E233/Line/37.bin";
chirashi 18:b8563e3319fd 547 sprintf(SDFilePath,"/sd/E233/Line/%d.bin",LineNumber);
chirashi 18:b8563e3319fd 548 SDBufferWrite(LEDBuffer,48,0,80,32);
chirashi 18:b8563e3319fd 549
chirashi 18:b8563e3319fd 550 //行先
chirashi 18:b8563e3319fd 551 //SDFilePath = "/sd/E233/For/1.bin";
chirashi 18:b8563e3319fd 552 sprintf(SDFilePath,"/sd/E233/For/%d.bin",ForNumber);
chirashi 18:b8563e3319fd 553 SDBufferWrite(LEDBuffer2,48,0,80,16);
chirashi 18:b8563e3319fd 554
chirashi 18:b8563e3319fd 555 //行先(英語)
chirashi 18:b8563e3319fd 556 //SDFilePath = "/sd/E233/For/1.bin";
chirashi 18:b8563e3319fd 557 sprintf(SDFilePath,"/sd/E233/ForE/%d.bin",ForNumber);
chirashi 18:b8563e3319fd 558 SDBufferWrite(LEDBuffer3,48,0,80,16);
chirashi 18:b8563e3319fd 559
chirashi 18:b8563e3319fd 560 //次停車駅(路線名表示)
chirashi 18:b8563e3319fd 561 //路線名表示の次停車駅は路線名表示が上半分に収まるときのみ表示
chirashi 18:b8563e3319fd 562 if(BufferBlankCheck() == 0){
chirashi 18:b8563e3319fd 563 //SDFilePath = "/sd/E233/NextStation/1.bin";
chirashi 18:b8563e3319fd 564 sprintf(SDFilePath,"/sd/E233/NextStation/%d.bin",NextStaNumber);
chirashi 18:b8563e3319fd 565 SDBufferWrite(LEDBuffer,48,16,80,16);
chirashi 18:b8563e3319fd 566 }
chirashi 18:b8563e3319fd 567
chirashi 18:b8563e3319fd 568 //次停車駅
chirashi 18:b8563e3319fd 569 //SDFilePath = "/sd/E233/NextStation/1.bin";
chirashi 18:b8563e3319fd 570 sprintf(SDFilePath,"/sd/E233/NextStation/%d.bin",NextStaNumber);
chirashi 18:b8563e3319fd 571 SDBufferWrite(LEDBuffer2,48,16,80,16);
chirashi 18:b8563e3319fd 572
chirashi 18:b8563e3319fd 573 //次停車駅(英語)
chirashi 18:b8563e3319fd 574 //SDFilePath = "/sd/E233/NextStation/1.bin";
chirashi 18:b8563e3319fd 575 sprintf(SDFilePath,"/sd/E233/NextStationE/%d.bin",NextStaNumber);
chirashi 18:b8563e3319fd 576 SDBufferWrite(LEDBuffer3,48,16,80,16);
chirashi 18:b8563e3319fd 577
chirashi 18:b8563e3319fd 578
chirashi 18:b8563e3319fd 579 }
chirashi 18:b8563e3319fd 580
chirashi 18:b8563e3319fd 581
chirashi 18:b8563e3319fd 582
chirashi 17:95bcbc53d96b 583 void pc_rx(){
chirashi 17:95bcbc53d96b 584 //pc.putc(pc.getc());
chirashi 17:95bcbc53d96b 585
chirashi 17:95bcbc53d96b 586
chirashi 17:95bcbc53d96b 587 if (pc.readable() == 1) { // 受信したデータが存在する
chirashi 17:95bcbc53d96b 588 SerialBuffer[count] = pc.getc(); // 受信データを読み込む
chirashi 17:95bcbc53d96b 589 if (count > 30 || SerialBuffer[count] == '$') { // 文字数が既定の個数を超えた場合、又は終了文字を受信した場合
chirashi 17:95bcbc53d96b 590 SerialBuffer[count] = '\0'; // 末尾に終端文字を入れる
chirashi 17:95bcbc53d96b 591 count = 0;
chirashi 17:95bcbc53d96b 592
chirashi 17:95bcbc53d96b 593 if(SerialBuffer[0] == 'L'){
chirashi 17:95bcbc53d96b 594 unsigned char Sertemp1 = SerialBuffer[1];
chirashi 17:95bcbc53d96b 595 unsigned char Sertemp2 = SerialBuffer[2];
chirashi 17:95bcbc53d96b 596 unsigned char Sertemp3 = SerialBuffer[3];
chirashi 17:95bcbc53d96b 597 int n1 = 0 ;
chirashi 17:95bcbc53d96b 598 int n2 = 0 ;
chirashi 17:95bcbc53d96b 599 int n3 = 0 ;
chirashi 17:95bcbc53d96b 600 int n = 0;
chirashi 17:95bcbc53d96b 601
chirashi 17:95bcbc53d96b 602
chirashi 17:95bcbc53d96b 603 if ( Sertemp1 < '0' || Sertemp1 > '9' ) {
chirashi 17:95bcbc53d96b 604 // error
chirashi 17:95bcbc53d96b 605 } else {
chirashi 17:95bcbc53d96b 606 n1 = (int)(Sertemp1 - '0') ;
chirashi 18:b8563e3319fd 607 //pc.printf("%d,",n1);
chirashi 18:b8563e3319fd 608 }
chirashi 18:b8563e3319fd 609 if ( Sertemp2 < '0' || Sertemp2 > '9' ) {
chirashi 18:b8563e3319fd 610 // error
chirashi 18:b8563e3319fd 611 } else {
chirashi 18:b8563e3319fd 612 n2 = (int)(Sertemp2 - '0') ;
chirashi 18:b8563e3319fd 613 //pc.printf("%d,",n2);
chirashi 18:b8563e3319fd 614 }
chirashi 18:b8563e3319fd 615 if ( Sertemp3 < '0' || Sertemp3 > '9' ) {
chirashi 18:b8563e3319fd 616 // error
chirashi 18:b8563e3319fd 617 } else {
chirashi 18:b8563e3319fd 618 n3 = (int)(Sertemp3 - '0') ;
chirashi 18:b8563e3319fd 619 //pc.printf("%d\r\n",n3);
chirashi 18:b8563e3319fd 620 }
chirashi 18:b8563e3319fd 621 n = (n1 * 100) + (n2 * 10) + n3;
chirashi 18:b8563e3319fd 622 LineNumber = n;
chirashi 18:b8563e3319fd 623 pc.printf("Line:%d,",n);
chirashi 18:b8563e3319fd 624 }
chirashi 18:b8563e3319fd 625
chirashi 18:b8563e3319fd 626 if(SerialBuffer[0] == 'K'){
chirashi 18:b8563e3319fd 627 unsigned char Sertemp1 = SerialBuffer[1];
chirashi 18:b8563e3319fd 628 unsigned char Sertemp2 = SerialBuffer[2];
chirashi 18:b8563e3319fd 629 unsigned char Sertemp3 = SerialBuffer[3];
chirashi 18:b8563e3319fd 630 int n1 = 0 ;
chirashi 18:b8563e3319fd 631 int n2 = 0 ;
chirashi 18:b8563e3319fd 632 int n3 = 0 ;
chirashi 18:b8563e3319fd 633 int n = 0;
chirashi 18:b8563e3319fd 634
chirashi 18:b8563e3319fd 635
chirashi 18:b8563e3319fd 636 if ( Sertemp1 < '0' || Sertemp1 > '9' ) {
chirashi 18:b8563e3319fd 637 // error
chirashi 18:b8563e3319fd 638 } else {
chirashi 18:b8563e3319fd 639 n1 = (int)(Sertemp1 - '0') ;
chirashi 18:b8563e3319fd 640 //pc.printf("%d,",n1);
chirashi 17:95bcbc53d96b 641 }
chirashi 17:95bcbc53d96b 642 if ( Sertemp2 < '0' || Sertemp2 > '9' ) {
chirashi 17:95bcbc53d96b 643 // error
chirashi 17:95bcbc53d96b 644 } else {
chirashi 17:95bcbc53d96b 645 n2 = (int)(Sertemp2 - '0') ;
chirashi 18:b8563e3319fd 646 //pc.printf("%d,",n2);
chirashi 17:95bcbc53d96b 647 }
chirashi 17:95bcbc53d96b 648 if ( Sertemp3 < '0' || Sertemp3 > '9' ) {
chirashi 17:95bcbc53d96b 649 // error
chirashi 17:95bcbc53d96b 650 } else {
chirashi 17:95bcbc53d96b 651 n3 = (int)(Sertemp3 - '0') ;
chirashi 18:b8563e3319fd 652 //pc.printf("%d,",n3);
chirashi 17:95bcbc53d96b 653 }
chirashi 17:95bcbc53d96b 654 n = (n1 * 100) + (n2 * 10) + n3;
chirashi 18:b8563e3319fd 655 KindNumber = n;
chirashi 18:b8563e3319fd 656 pc.printf("Kind:%d\r\n",n);
chirashi 18:b8563e3319fd 657 }
chirashi 18:b8563e3319fd 658
chirashi 18:b8563e3319fd 659 if(SerialBuffer[0] == 'F'){
chirashi 18:b8563e3319fd 660 unsigned char Sertemp1 = SerialBuffer[1];
chirashi 18:b8563e3319fd 661 unsigned char Sertemp2 = SerialBuffer[2];
chirashi 18:b8563e3319fd 662 unsigned char Sertemp3 = SerialBuffer[3];
chirashi 18:b8563e3319fd 663 int n1 = 0 ;
chirashi 18:b8563e3319fd 664 int n2 = 0 ;
chirashi 18:b8563e3319fd 665 int n3 = 0 ;
chirashi 18:b8563e3319fd 666 int n = 0;
chirashi 17:95bcbc53d96b 667
chirashi 18:b8563e3319fd 668
chirashi 18:b8563e3319fd 669 if ( Sertemp1 < '0' || Sertemp1 > '9' ) {
chirashi 18:b8563e3319fd 670 // error
chirashi 18:b8563e3319fd 671 } else {
chirashi 18:b8563e3319fd 672 n1 = (int)(Sertemp1 - '0') ;
chirashi 18:b8563e3319fd 673 //pc.printf("%d,",n1);
chirashi 18:b8563e3319fd 674 }
chirashi 18:b8563e3319fd 675 if ( Sertemp2 < '0' || Sertemp2 > '9' ) {
chirashi 18:b8563e3319fd 676 // error
chirashi 18:b8563e3319fd 677 } else {
chirashi 18:b8563e3319fd 678 n2 = (int)(Sertemp2 - '0') ;
chirashi 18:b8563e3319fd 679 //pc.printf("%d,",n2);
chirashi 18:b8563e3319fd 680 }
chirashi 18:b8563e3319fd 681 if ( Sertemp3 < '0' || Sertemp3 > '9' ) {
chirashi 18:b8563e3319fd 682 // error
chirashi 18:b8563e3319fd 683 } else {
chirashi 18:b8563e3319fd 684 n3 = (int)(Sertemp3 - '0') ;
chirashi 18:b8563e3319fd 685 //pc.printf("%d,",n3);
chirashi 18:b8563e3319fd 686 }
chirashi 18:b8563e3319fd 687 n = (n1 * 100) + (n2 * 10) + n3;
chirashi 18:b8563e3319fd 688 ForNumber = n;
chirashi 18:b8563e3319fd 689 pc.printf("For:%d\r\n",n);
chirashi 18:b8563e3319fd 690 }
chirashi 18:b8563e3319fd 691
chirashi 18:b8563e3319fd 692
chirashi 18:b8563e3319fd 693 if(SerialBuffer[0] == 'S' && SerialBuffer[1] == 'e' && SerialBuffer[2] == 't'){
chirashi 18:b8563e3319fd 694 pc.printf("Set\r\n");
chirashi 18:b8563e3319fd 695 SDFileRead();
chirashi 17:95bcbc53d96b 696 }
chirashi 17:95bcbc53d96b 697
chirashi 17:95bcbc53d96b 698 }else{
chirashi 17:95bcbc53d96b 699 count++;
chirashi 17:95bcbc53d96b 700 }
chirashi 17:95bcbc53d96b 701 }
chirashi 17:95bcbc53d96b 702 }
chirashi 17:95bcbc53d96b 703
chirashi 17:95bcbc53d96b 704 int main(){
chirashi 13:0c542447e6da 705 Init(); // Set things up
chirashi 13:0c542447e6da 706 //Serial
chirashi 13:0c542447e6da 707 pc.printf("Power ON\r\n");
chirashi 13:0c542447e6da 708
chirashi 17:95bcbc53d96b 709
chirashi 13:0c542447e6da 710 //SumSW
chirashi 17:95bcbc53d96b 711 int testData[16] = {0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0};
chirashi 13:0c542447e6da 712 SI = LOW;
chirashi 17:95bcbc53d96b 713 for(int a = 0; a < 16; a++){
chirashi 17:95bcbc53d96b 714 if(testData[a] == 1){
chirashi 17:95bcbc53d96b 715 SI = HIGH;
chirashi 17:95bcbc53d96b 716 pc.printf("1,");
chirashi 17:95bcbc53d96b 717 }else{
chirashi 17:95bcbc53d96b 718 SI = LOW;
chirashi 17:95bcbc53d96b 719 pc.printf("0,");
chirashi 17:95bcbc53d96b 720 }
chirashi 13:0c542447e6da 721 SCK = HIGH;
chirashi 17:95bcbc53d96b 722 wait_us(15);
chirashi 17:95bcbc53d96b 723 SCK = LOW;
chirashi 17:95bcbc53d96b 724 wait_us(15);
chirashi 13:0c542447e6da 725 }
chirashi 13:0c542447e6da 726
chirashi 13:0c542447e6da 727 RCK = HIGH;
chirashi 17:95bcbc53d96b 728 wait_us(15);
chirashi 13:0c542447e6da 729 RCK = LOW;
chirashi 17:95bcbc53d96b 730 pc.printf("\r\n");
chirashi 8:9d22c9910917 731
chirashi 14:0f4d44927b20 732 int SumSWNum = 0;
chirashi 17:95bcbc53d96b 733 if(SumSW1 == 1 ){
chirashi 14:0f4d44927b20 734 SumSWNum = SumSWNum + 1;
chirashi 14:0f4d44927b20 735 }
chirashi 17:95bcbc53d96b 736 if(SumSW2 == 1){
chirashi 14:0f4d44927b20 737 SumSWNum = SumSWNum + 2;
chirashi 14:0f4d44927b20 738 }
chirashi 17:95bcbc53d96b 739 if(SumSW4 == 1){
chirashi 14:0f4d44927b20 740 SumSWNum = SumSWNum + 4;
chirashi 14:0f4d44927b20 741 }
chirashi 17:95bcbc53d96b 742 if(SumSW8 == 1){
chirashi 14:0f4d44927b20 743 SumSWNum = SumSWNum + 8;
chirashi 14:0f4d44927b20 744 }
chirashi 14:0f4d44927b20 745 pc.printf("SumSW:%d\r\n",SumSWNum);
chirashi 8:9d22c9910917 746
chirashi 18:b8563e3319fd 747
chirashi 17:95bcbc53d96b 748
chirashi 18:b8563e3319fd 749 SDFileRead();
chirashi 8:9d22c9910917 750
chirashi 13:0c542447e6da 751 //Debug
chirashi 14:0f4d44927b20 752 if(Debug == 1){
chirashi 14:0f4d44927b20 753 //DataSerialOut
chirashi 14:0f4d44927b20 754 for(int y = 0; y < 32; y++){
chirashi 14:0f4d44927b20 755 for(int x = 0; x <128; x++){
chirashi 14:0f4d44927b20 756 if(LEDBuffer[y][x]== 0){
chirashi 14:0f4d44927b20 757 //pc.printf("0,");
chirashi 14:0f4d44927b20 758 pc.printf(" ");
chirashi 14:0f4d44927b20 759 }else{
chirashi 14:0f4d44927b20 760 //pc.printf("#");
chirashi 14:0f4d44927b20 761 pc.printf("%.02d",LEDBuffer[y][x]);
chirashi 14:0f4d44927b20 762 }
chirashi 13:0c542447e6da 763 }
chirashi 14:0f4d44927b20 764 pc.printf("\r\n");
chirashi 13:0c542447e6da 765 }
chirashi 13:0c542447e6da 766 }
chirashi 17:95bcbc53d96b 767 //Serial
chirashi 17:95bcbc53d96b 768 pc.attach(pc_rx, Serial::RxIrq);
chirashi 17:95bcbc53d96b 769
chirashi 13:0c542447e6da 770 //DisplayTimer
chirashi 12:680db9f1f4eb 771 ChangeTimer.attach(&TimerTick,3);
chirashi 8:9d22c9910917 772
chirashi 17:95bcbc53d96b 773
chirashi 17:95bcbc53d96b 774
chirashi 17:95bcbc53d96b 775
chirashi 13:0c542447e6da 776 while(1) {
RRacer 0:1f58ecec51d6 777 CT++;
chirashi 8:9d22c9910917 778 if (ChangeCount == 0){
chirashi 8:9d22c9910917 779 Paint(LEDBuffer);
chirashi 8:9d22c9910917 780 }else if(ChangeCount == 1){
chirashi 8:9d22c9910917 781 Paint(LEDBuffer2);
chirashi 8:9d22c9910917 782 }else if(ChangeCount == 2){
chirashi 8:9d22c9910917 783 Paint(LEDBuffer3);
chirashi 8:9d22c9910917 784 }
chirashi 4:245f17936b1a 785
RRacer 0:1f58ecec51d6 786 if(CT>4160) {
chirashi 4:245f17936b1a 787 //MkPattern(); // Restore original priceless artwork
RRacer 0:1f58ecec51d6 788 CT=0; // Start all over.
RRacer 0:1f58ecec51d6 789 }
chirashi 3:6dbbc0130e96 790
chirashi 4:245f17936b1a 791 //PaintOFF();
chirashi 6:e6cb4a476422 792 //wait_us(10);
RRacer 0:1f58ecec51d6 793 }
chirashi 3:6dbbc0130e96 794
RRacer 0:1f58ecec51d6 795 }