Aliexpressなどで販売されている64x32のフルカラードットマトリクスLED2枚とNucleo F401REを利用して、 E233系の駅停車時、路線名表示ありのLED側面行先表示を再現するプログラムです。 3秒間隔、3段階切替で、路線名、種別、行先、次停車駅を個別に指定することが可能です。
Dependencies: SDFileSystem mbed
main.cpp@17:95bcbc53d96b, 2014-11-15 (annotated)
- Committer:
- chirashi
- Date:
- Sat Nov 15 15:21:40 2014 +0000
- Revision:
- 17:95bcbc53d96b
- Parent:
- 16:d02248f44c4b
- Child:
- 18:b8563e3319fd
a;
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 | 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 | 17:95bcbc53d96b | 500 | void pc_rx(){ |
chirashi | 17:95bcbc53d96b | 501 | //pc.putc(pc.getc()); |
chirashi | 17:95bcbc53d96b | 502 | |
chirashi | 17:95bcbc53d96b | 503 | |
chirashi | 17:95bcbc53d96b | 504 | if (pc.readable() == 1) { // 受信したデータが存在する |
chirashi | 17:95bcbc53d96b | 505 | SerialBuffer[count] = pc.getc(); // 受信データを読み込む |
chirashi | 17:95bcbc53d96b | 506 | if (count > 30 || SerialBuffer[count] == '$') { // 文字数が既定の個数を超えた場合、又は終了文字を受信した場合 |
chirashi | 17:95bcbc53d96b | 507 | SerialBuffer[count] = '\0'; // 末尾に終端文字を入れる |
chirashi | 17:95bcbc53d96b | 508 | count = 0; |
chirashi | 17:95bcbc53d96b | 509 | |
chirashi | 17:95bcbc53d96b | 510 | if(SerialBuffer[0] == 'L'){ |
chirashi | 17:95bcbc53d96b | 511 | unsigned char Sertemp1 = SerialBuffer[1]; |
chirashi | 17:95bcbc53d96b | 512 | unsigned char Sertemp2 = SerialBuffer[2]; |
chirashi | 17:95bcbc53d96b | 513 | unsigned char Sertemp3 = SerialBuffer[3]; |
chirashi | 17:95bcbc53d96b | 514 | int n1 = 0 ; |
chirashi | 17:95bcbc53d96b | 515 | int n2 = 0 ; |
chirashi | 17:95bcbc53d96b | 516 | int n3 = 0 ; |
chirashi | 17:95bcbc53d96b | 517 | int n = 0; |
chirashi | 17:95bcbc53d96b | 518 | |
chirashi | 17:95bcbc53d96b | 519 | |
chirashi | 17:95bcbc53d96b | 520 | if ( Sertemp1 < '0' || Sertemp1 > '9' ) { |
chirashi | 17:95bcbc53d96b | 521 | // error |
chirashi | 17:95bcbc53d96b | 522 | } else { |
chirashi | 17:95bcbc53d96b | 523 | n1 = (int)(Sertemp1 - '0') ; |
chirashi | 17:95bcbc53d96b | 524 | pc.printf("%d,",n1); |
chirashi | 17:95bcbc53d96b | 525 | } |
chirashi | 17:95bcbc53d96b | 526 | if ( Sertemp2 < '0' || Sertemp2 > '9' ) { |
chirashi | 17:95bcbc53d96b | 527 | // error |
chirashi | 17:95bcbc53d96b | 528 | } else { |
chirashi | 17:95bcbc53d96b | 529 | n2 = (int)(Sertemp2 - '0') ; |
chirashi | 17:95bcbc53d96b | 530 | pc.printf("%d,",n2); |
chirashi | 17:95bcbc53d96b | 531 | } |
chirashi | 17:95bcbc53d96b | 532 | if ( Sertemp3 < '0' || Sertemp3 > '9' ) { |
chirashi | 17:95bcbc53d96b | 533 | // error |
chirashi | 17:95bcbc53d96b | 534 | } else { |
chirashi | 17:95bcbc53d96b | 535 | n3 = (int)(Sertemp3 - '0') ; |
chirashi | 17:95bcbc53d96b | 536 | pc.printf("%d,",n3); |
chirashi | 17:95bcbc53d96b | 537 | } |
chirashi | 17:95bcbc53d96b | 538 | n = (n1 * 100) + (n2 * 10) + n3; |
chirashi | 17:95bcbc53d96b | 539 | pc.printf("%d,",n); |
chirashi | 17:95bcbc53d96b | 540 | |
chirashi | 17:95bcbc53d96b | 541 | |
chirashi | 17:95bcbc53d96b | 542 | } |
chirashi | 17:95bcbc53d96b | 543 | |
chirashi | 17:95bcbc53d96b | 544 | }else{ |
chirashi | 17:95bcbc53d96b | 545 | count++; |
chirashi | 17:95bcbc53d96b | 546 | } |
chirashi | 17:95bcbc53d96b | 547 | } |
chirashi | 17:95bcbc53d96b | 548 | } |
chirashi | 17:95bcbc53d96b | 549 | |
chirashi | 17:95bcbc53d96b | 550 | int main(){ |
chirashi | 13:0c542447e6da | 551 | Init(); // Set things up |
chirashi | 13:0c542447e6da | 552 | //Serial |
chirashi | 13:0c542447e6da | 553 | pc.printf("Power ON\r\n"); |
chirashi | 13:0c542447e6da | 554 | |
chirashi | 17:95bcbc53d96b | 555 | |
chirashi | 13:0c542447e6da | 556 | //SumSW |
chirashi | 17:95bcbc53d96b | 557 | int testData[16] = {0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0}; |
chirashi | 13:0c542447e6da | 558 | SI = LOW; |
chirashi | 17:95bcbc53d96b | 559 | for(int a = 0; a < 16; a++){ |
chirashi | 17:95bcbc53d96b | 560 | if(testData[a] == 1){ |
chirashi | 17:95bcbc53d96b | 561 | SI = HIGH; |
chirashi | 17:95bcbc53d96b | 562 | pc.printf("1,"); |
chirashi | 17:95bcbc53d96b | 563 | }else{ |
chirashi | 17:95bcbc53d96b | 564 | SI = LOW; |
chirashi | 17:95bcbc53d96b | 565 | pc.printf("0,"); |
chirashi | 17:95bcbc53d96b | 566 | } |
chirashi | 13:0c542447e6da | 567 | SCK = HIGH; |
chirashi | 17:95bcbc53d96b | 568 | wait_us(15); |
chirashi | 17:95bcbc53d96b | 569 | SCK = LOW; |
chirashi | 17:95bcbc53d96b | 570 | wait_us(15); |
chirashi | 13:0c542447e6da | 571 | } |
chirashi | 13:0c542447e6da | 572 | |
chirashi | 13:0c542447e6da | 573 | RCK = HIGH; |
chirashi | 17:95bcbc53d96b | 574 | wait_us(15); |
chirashi | 13:0c542447e6da | 575 | RCK = LOW; |
chirashi | 17:95bcbc53d96b | 576 | pc.printf("\r\n"); |
chirashi | 8:9d22c9910917 | 577 | |
chirashi | 14:0f4d44927b20 | 578 | int SumSWNum = 0; |
chirashi | 17:95bcbc53d96b | 579 | if(SumSW1 == 1 ){ |
chirashi | 14:0f4d44927b20 | 580 | SumSWNum = SumSWNum + 1; |
chirashi | 14:0f4d44927b20 | 581 | } |
chirashi | 17:95bcbc53d96b | 582 | if(SumSW2 == 1){ |
chirashi | 14:0f4d44927b20 | 583 | SumSWNum = SumSWNum + 2; |
chirashi | 14:0f4d44927b20 | 584 | } |
chirashi | 17:95bcbc53d96b | 585 | if(SumSW4 == 1){ |
chirashi | 14:0f4d44927b20 | 586 | SumSWNum = SumSWNum + 4; |
chirashi | 14:0f4d44927b20 | 587 | } |
chirashi | 17:95bcbc53d96b | 588 | if(SumSW8 == 1){ |
chirashi | 14:0f4d44927b20 | 589 | SumSWNum = SumSWNum + 8; |
chirashi | 14:0f4d44927b20 | 590 | } |
chirashi | 14:0f4d44927b20 | 591 | pc.printf("SumSW:%d\r\n",SumSWNum); |
chirashi | 8:9d22c9910917 | 592 | |
chirashi | 13:0c542447e6da | 593 | //SDCard |
chirashi | 17:95bcbc53d96b | 594 | sprintf(SDFilePath,"/sd/E233/Kind/%d.bin",KindNumber); |
chirashi | 17:95bcbc53d96b | 595 | //SDFilePath = "/sd/E233/Kind/2.bin"; |
chirashi | 14:0f4d44927b20 | 596 | SDBufferWrite(LEDBuffer,0,0,48,32); |
chirashi | 8:9d22c9910917 | 597 | |
chirashi | 17:95bcbc53d96b | 598 | //SDFilePath = "/sd/E233/For/1.bin"; |
chirashi | 17:95bcbc53d96b | 599 | sprintf(SDFilePath,"/sd/E233/For/%d.bin",ForNumber); |
chirashi | 14:0f4d44927b20 | 600 | SDBufferWrite(LEDBuffer,48,0,80,16); |
chirashi | 17:95bcbc53d96b | 601 | |
chirashi | 17:95bcbc53d96b | 602 | //SDFilePath = "/sd/E233/Line/37.bin"; |
chirashi | 17:95bcbc53d96b | 603 | sprintf(SDFilePath,"/sd/E233/Line/%d.bin",LineNumber); |
chirashi | 17:95bcbc53d96b | 604 | //pc.printf("%s\r\n",SDFilePath); |
chirashi | 16:d02248f44c4b | 605 | SDBufferWrite(LEDBuffer,48,0,80,32); |
chirashi | 16:d02248f44c4b | 606 | |
chirashi | 17:95bcbc53d96b | 607 | |
chirashi | 17:95bcbc53d96b | 608 | //SDFilePath = "/sd/E233/NextStation/1.bin"; |
chirashi | 17:95bcbc53d96b | 609 | sprintf(SDFilePath,"/sd/E233/NextStation/%d.bin",NextStaNumber); |
chirashi | 14:0f4d44927b20 | 610 | SDBufferWrite(LEDBuffer,48,16,80,16); |
chirashi | 14:0f4d44927b20 | 611 | |
chirashi | 14:0f4d44927b20 | 612 | |
chirashi | 8:9d22c9910917 | 613 | |
chirashi | 13:0c542447e6da | 614 | //Debug |
chirashi | 14:0f4d44927b20 | 615 | if(Debug == 1){ |
chirashi | 14:0f4d44927b20 | 616 | //DataSerialOut |
chirashi | 14:0f4d44927b20 | 617 | for(int y = 0; y < 32; y++){ |
chirashi | 14:0f4d44927b20 | 618 | for(int x = 0; x <128; x++){ |
chirashi | 14:0f4d44927b20 | 619 | if(LEDBuffer[y][x]== 0){ |
chirashi | 14:0f4d44927b20 | 620 | //pc.printf("0,"); |
chirashi | 14:0f4d44927b20 | 621 | pc.printf(" "); |
chirashi | 14:0f4d44927b20 | 622 | }else{ |
chirashi | 14:0f4d44927b20 | 623 | //pc.printf("#"); |
chirashi | 14:0f4d44927b20 | 624 | pc.printf("%.02d",LEDBuffer[y][x]); |
chirashi | 14:0f4d44927b20 | 625 | } |
chirashi | 13:0c542447e6da | 626 | } |
chirashi | 14:0f4d44927b20 | 627 | pc.printf("\r\n"); |
chirashi | 13:0c542447e6da | 628 | } |
chirashi | 13:0c542447e6da | 629 | } |
chirashi | 17:95bcbc53d96b | 630 | //Serial |
chirashi | 17:95bcbc53d96b | 631 | pc.attach(pc_rx, Serial::RxIrq); |
chirashi | 17:95bcbc53d96b | 632 | |
chirashi | 13:0c542447e6da | 633 | //DisplayTimer |
chirashi | 12:680db9f1f4eb | 634 | ChangeTimer.attach(&TimerTick,3); |
chirashi | 8:9d22c9910917 | 635 | |
chirashi | 17:95bcbc53d96b | 636 | |
chirashi | 17:95bcbc53d96b | 637 | |
chirashi | 17:95bcbc53d96b | 638 | |
chirashi | 13:0c542447e6da | 639 | while(1) { |
RRacer | 0:1f58ecec51d6 | 640 | CT++; |
chirashi | 8:9d22c9910917 | 641 | if (ChangeCount == 0){ |
chirashi | 8:9d22c9910917 | 642 | Paint(LEDBuffer); |
chirashi | 8:9d22c9910917 | 643 | }else if(ChangeCount == 1){ |
chirashi | 8:9d22c9910917 | 644 | Paint(LEDBuffer2); |
chirashi | 8:9d22c9910917 | 645 | }else if(ChangeCount == 2){ |
chirashi | 8:9d22c9910917 | 646 | Paint(LEDBuffer3); |
chirashi | 8:9d22c9910917 | 647 | } |
chirashi | 4:245f17936b1a | 648 | |
RRacer | 0:1f58ecec51d6 | 649 | if(CT>4160) { |
chirashi | 4:245f17936b1a | 650 | //MkPattern(); // Restore original priceless artwork |
RRacer | 0:1f58ecec51d6 | 651 | CT=0; // Start all over. |
RRacer | 0:1f58ecec51d6 | 652 | } |
chirashi | 3:6dbbc0130e96 | 653 | |
chirashi | 4:245f17936b1a | 654 | //PaintOFF(); |
chirashi | 6:e6cb4a476422 | 655 | //wait_us(10); |
RRacer | 0:1f58ecec51d6 | 656 | } |
chirashi | 3:6dbbc0130e96 | 657 | |
RRacer | 0:1f58ecec51d6 | 658 | } |