Aliexpressなどで販売されている64x32のフルカラードットマトリクスLED2枚とNucleo F401REを利用して、 E233系の駅停車時、路線名表示ありのLED側面行先表示を再現するプログラムです。 3秒間隔、3段階切替で、路線名、種別、行先、次停車駅を個別に指定することが可能です。
Dependencies: SDFileSystem mbed
main.cpp@19:26e0fae24da6, 2014-11-20 (annotated)
- 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?
User | Revision | Line number | New 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 | } |