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

Dependencies:   SDFileSystem mbed

Revision:
6:e6cb4a476422
Parent:
5:532937f20397
Child:
7:79dfe71beb88
--- a/main.cpp	Mon Oct 20 13:07:52 2014 +0000
+++ b/main.cpp	Mon Oct 20 15:56:34 2014 +0000
@@ -21,6 +21,24 @@
 #define LOW 0
 #define HIGH 1
 
+#define R_Debug1 0
+#define R_Debug2 0
+#define R_Debug3 0
+#define R_Debug4 0
+
+#define G_Debug1 0
+#define G_Debug2 0
+#define G_Debug3 0
+#define G_Debug4 0
+
+#define B_Debug1 0
+#define B_Debug2 0
+#define B_Debug3 0
+#define B_Debug4 0
+
+
+#define LED_Width 128
+
 BusOut ABC(D8,D9,D10); // Row address.
 DigitalOut CLK(D11);    //  Data clock    - rising edge
 DigitalOut LAT(D12);    //  Data latch    - active low (pulse up after data load)
@@ -35,23 +53,42 @@
 unsigned char gm[32][6]; // Buffer with 32x6 bytes. Graphics memory if you like.
 unsigned long CT; //        Counter for demo code
 
-const int LEDBuffer [16][32] = {
-    {0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,2,0,0},
-    {0,0,0,2,0,0,2,0,0,2,2,2,2,0,2,2,2,0,0,0,2,0,0,2,0,0,0,0,0,2,0,0},
-    {0,0,2,2,2,2,2,0,0,2,0,2,0,0,2,0,2,0,0,0,2,2,2,2,2,2,0,2,2,2,2,2},
-    {0,0,2,0,0,0,2,0,0,2,0,2,0,0,2,0,2,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0},
-    {0,2,2,0,0,0,2,0,0,2,2,2,2,0,2,0,2,0,0,2,0,0,2,2,2,0,0,2,2,2,2,2},
-    {0,0,0,2,0,2,0,0,0,2,0,2,0,0,2,0,2,0,0,2,0,0,2,0,2,0,0,2,0,2,0,2},
-    {0,0,0,0,2,0,0,0,0,2,0,2,0,0,2,2,2,0,2,2,0,0,2,2,2,0,0,2,0,2,0,2},
-    {0,0,0,2,2,0,0,0,0,2,2,2,2,0,2,2,0,0,0,2,0,0,0,0,0,0,0,2,2,2,2,2},
-    {0,0,2,0,0,2,0,0,0,2,0,2,0,0,2,2,0,0,0,2,0,2,2,2,2,2,0,2,0,2,0,2},
-    {0,2,0,0,0,0,2,0,0,2,0,2,0,0,2,2,0,0,0,2,0,2,0,0,0,2,0,2,0,2,0,2},
-    {2,2,2,2,2,2,2,2,0,2,2,2,2,0,2,2,0,0,0,2,0,0,0,0,0,0,0,2,2,2,2,2},
-    {0,2,0,0,0,0,2,0,0,0,0,0,2,0,2,0,2,0,0,2,0,0,2,2,2,0,0,0,0,2,0,0},
-    {0,2,0,0,0,0,2,0,0,0,0,0,2,0,2,0,2,0,0,2,0,0,0,2,0,0,2,2,2,2,2,2},
-    {0,2,0,0,0,0,2,0,2,2,2,0,2,0,2,0,2,0,0,2,0,0,0,2,0,0,0,0,0,2,0,0},
-    {0,2,2,2,2,2,2,0,0,0,0,0,2,0,2,0,2,0,0,2,0,0,0,2,0,0,0,0,0,2,0,0},
-    {0,2,0,0,0,0,2,0,0,0,0,2,2,0,2,0,2,0,0,2,0,0,2,2,0,0,0,0,0,2,0,0}
+const int LEDBuffer [32][128] = {
+{9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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,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},
+{9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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,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},
+{9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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,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},
+{9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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,7,7,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},
+{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,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,7,7,0,7,7,7,7,7,7,7,7,7,7,0,7,7,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,7,0,0,0,0},
+{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,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,7,7,0,7,7,7,7,7,7,7,7,7,7,0,7,7,0,0,0,0,0,0,0,0,0,0,7,0,0,0,7,7,7,7,7,7,0,0,0,0},
+{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,7,7,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+{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,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,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,7,0,0,0,0,0,0,0,0,0,0,0},
+{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,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,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,7,0,0,0},
+{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,7,7,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,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,7,7,7,7,7,7,7,7,0,0,0},
+{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,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,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,7,0,7,0,0,0,0,0,0,7,0,0,0,0,0},
+{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,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,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,7,0,0,0,0,0,0,7,0,0,0,0,0},
+{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,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,7,7,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,7,0,0,0,0,0},
+{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,7,7,7,7,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,7,7,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,7,0,0,0,0,0},
+{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,7,7,7,7,7,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,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,7,0,0,0,0,0,0,7,0,0,0,0,0},
+{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,7,7,7,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,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,7,0,0,0,0,0,7,7,0,0,0,0,0},
+{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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+{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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+{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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+{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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+{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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+{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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+{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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+{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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+{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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+{9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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},
+{9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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},
+{9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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},
+{9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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},
+{9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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},
+{9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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},
+{9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,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}
+
+
+
     };
     
     
@@ -117,7 +154,7 @@
 {
     // Write specified row (and row+8) to display. Valid input: 0 to 7.
     ABC = 7-Row; // Set row address
-    for(int col=0; col<32; col++) { // To daisychain more displays, I guess you would have to increase this counter to n*32 columns. Might mirror though.
+    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.
         //R1 = gm[col][0] & (1<<Row); // Red bit, upper half
         //G1 = gm[col][1] & (1<<Row); // Green bit, upper half
         //B1 = gm[col][2] & (1<<Row); // Blue bit, upper half
@@ -125,25 +162,115 @@
         //G2 = gm[col][4] & (1<<Row); // Green bit, lower half
         //B2 = gm[col][5] & (1<<Row); // Blue bit, lower half
                
-        if (LEDBuffer [(7-Row)][col] == 2){
+        if (LEDBuffer [(7-Row)][col] == 0){
+            R1 = R_Debug1;
+            G1 = G_Debug1;
+            B1 = B_Debug1;    
+        }else if (LEDBuffer [(7-Row)][col] == 1){
+            //Red
+            R1 = 1;
+            G1 = 0;
+            B1 = 0;            
+        }else if (LEDBuffer [(7-Row)][col] == 2){
+            //Green
+            R1 = 0;
+            G1 = 1;
+            B1 = 0;            
+        }else if (LEDBuffer [(7-Row)][col] == 3){
+            //Blue
+            R1 = 0;
+            G1 = 0;
+            B1 = 1;    
+        }else if (LEDBuffer [(7-Row)][col] == 4){
+            //RG
             R1 = 1;
             G1 = 1;
-            B1 = 1;           
+            B1 = 0;            
+        }else if (LEDBuffer [(7-Row)][col] == 5){
+            //GB
+            R1 = 0;
+            G1 = 1;
+            B1 = 1;            
+        }else if (LEDBuffer [(7-Row)][col] == 6){
+            //RB
+            R1 = 1;
+            G1 = 0;
+            B1 = 1;                        
+        }else if (LEDBuffer [(7-Row)][col] == 7){
+            //White
+            R1 = 1;
+            G1 = 1;
+            B1 = 1;
+        }else if (LEDBuffer [(7-Row)][col] == 8){
+            //Blue(Keihin-Tohoku E233 LED Local)
+            R1 = 0;
+            G1 = 1;
+            B1 = 1;
+        }else if (LEDBuffer [(7-Row)][col] == 9){
+            //Pink-Red(Keihin-Tohoku E233 LED Rapid)
+            R1 = 1;
+            G1 = 0;
+            B1 = 1;                     
         }else{
             R1 = 0;
-            G1 = 1;
+            G1 = 0;
             B1 = 0; 
         }
 
-        if (LEDBuffer [(15-Row)][col] == 2){
+        if (LEDBuffer [(15-Row)][col] == 0){
+            R2 = R_Debug1;
+            G2 = G_Debug1;
+            B2 = B_Debug1;    
+        }else if (LEDBuffer [(15-Row)][col] == 1){
+            //Red
+            R2 = 1;
+            G2 = 0;
+            B2 = 0;            
+        }else if (LEDBuffer [(15-Row)][col] == 2){
+            //Green
+            R2 = 0;
+            G2 = 1;
+            B2 = 0;            
+        }else if (LEDBuffer [(15-Row)][col] == 3){
+            //Blue
+            R2 = 0;
+            G2 = 0;
+            B2 = 1;    
+        }else if (LEDBuffer [(15-Row)][col] == 4){
+            //RG
             R2 = 1;
             G2 = 1;
-            B2 = 1;       
+            B2 = 0;            
+        }else if (LEDBuffer [(15-Row)][col] == 5){
+            //GB
+            R2 = 0;
+            G2 = 1;
+            B2 = 1;            
+        }else if (LEDBuffer [(15-Row)][col] == 6){
+            //RB
+            R2 = 1;
+            G2 = 0;
+            B2 = 1;                        
+        }else if (LEDBuffer [(15-Row)][col] == 7){
+            //White
+            R2 = 1;
+            G2 = 1;
+            B2 = 1;
+        }else if (LEDBuffer [(15-Row)][col] == 8){
+            //Blue(Keihin-Tohoku E233 LED)
+            R2 = 0;
+            G2 = 1;
+            B2 = 1;
+        }else if (LEDBuffer [(15-Row)][col] == 9){
+            //Pink-Red(Keihin-Tohoku E233 LED Rapid)
+            R2 = 1;
+            G2 = 0;
+            B2 = 1;               
         }else{
             R2 = 0;
-            G2 = 1;
-            B2 = 1; 
-        }              
+            G2 = 0;
+            B2 = 0; 
+        }           
         
         CLK = HIGH;                 // tick (clock bit in)
         CLK = LOW;                  // tock
@@ -156,27 +283,117 @@
 {
     // Write specified row (and row+8) to display. Valid input: 0 to 7.
     ABC = 7-Row; // Set row address
-    for(int col=0; col<32; col++) { // To daisychain more displays, I guess you would have to increase this counter to n*32 columns. Might mirror though.
+    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.
   
-        if (LEDBuffer [(7-Row)][col] == 2){
+        if (LEDBuffer [(7-Row)][col] == 0){
+            R1 = R_Debug2;
+            G1 = G_Debug2;
+            B1 = B_Debug2;    
+        }else if (LEDBuffer [(7-Row)][col] == 1){
+            //Red
+            R1 = 1;
+            G1 = 0;
+            B1 = 0;            
+        }else if (LEDBuffer [(7-Row)][col] == 2){
+            //Green
+            R1 = 0;
+            G1 = 1;
+            B1 = 0;            
+        }else if (LEDBuffer [(7-Row)][col] == 3){
+            //Blue
+            R1 = 0;
+            G1 = 0;
+            B1 = 1;    
+        }else if (LEDBuffer [(7-Row)][col] == 4){
+            //RG
             R1 = 1;
             G1 = 1;
-            B1 = 1;           
+            B1 = 0;            
+        }else if (LEDBuffer [(7-Row)][col] == 5){
+            //GB
+            R1 = 0;
+            G1 = 1;
+            B1 = 1;            
+        }else if (LEDBuffer [(7-Row)][col] == 6){
+            //RB
+            R1 = 1;
+            G1 = 0;
+            B1 = 1;                        
+        }else if (LEDBuffer [(7-Row)][col] == 7){
+            //White
+            R1 = 1;
+            G1 = 1;
+            B1 = 1;
+        }else if (LEDBuffer [(7-Row)][col] == 8){
+            //Blue(Keihin-Tohoku E233 LED)
+            R1 = 0;
+            G1 = 1;
+            B1 = 1;
+        }else if (LEDBuffer [(7-Row)][col] == 9){
+            //Pink-Red(Keihin-Tohoku E233 LED Rapid)
+            R1 = 1;
+            G1 = 0;
+            B1 = 0;             
         }else{
             R1 = 0;
-            G1 = 1;
+            G1 = 0;
             B1 = 0; 
         }
 
-        if (LEDBuffer [(15-Row)][col] == 2){
+        if (LEDBuffer [(15-Row)][col] == 0){
+            R2 = R_Debug2;
+            G2 = G_Debug2;
+            B2 = B_Debug2;    
+        }else if (LEDBuffer [(15-Row)][col] == 1){
+            //Red
+            R2 = 1;
+            G2 = 0;
+            B2 = 0;            
+        }else if (LEDBuffer [(15-Row)][col] == 2){
+            //Green
+            R2 = 0;
+            G2 = 1;
+            B2 = 0;            
+        }else if (LEDBuffer [(15-Row)][col] == 3){
+            //Blue
+            R2 = 0;
+            G2 = 0;
+            B2 = 1;    
+        }else if (LEDBuffer [(15-Row)][col] == 4){
+            //RG
             R2 = 1;
             G2 = 1;
-            B2 = 1;       
-        }else{
+            B2 = 0;            
+        }else if (LEDBuffer [(15-Row)][col] == 5){
+            //GB
+            R2 = 0;
+            G2 = 1;
+            B2 = 1;            
+        }else if (LEDBuffer [(15-Row)][col] == 6){
+            //RB
+            R2 = 1;
+            G2 = 0;
+            B2 = 1;                        
+        }else if (LEDBuffer [(15-Row)][col] == 7){
+            //White
+            R2 = 1;
+            G2 = 1;
+            B2 = 1;
+        }else if (LEDBuffer [(15-Row)][col] == 8){
+            //Blue(Keihin-Tohoku E233 LED)
             R2 = 0;
             G2 = 1;
             B2 = 1; 
-        }        
+        }else if (LEDBuffer [(15-Row)][col] == 9){
+            //Pink-Red(Keihin-Tohoku E233 LED Rapid)
+            R2 = 1;
+            G2 = 0;
+            B2 = 0;              
+        }else{
+            R2 = 0;
+            G2 = 0;
+            B2 = 0; 
+        }           
                
         CLK = HIGH;                 // tick (clock bit in)
         CLK = LOW;                  // tock
@@ -189,27 +406,117 @@
 {
     // Write specified row (and row+8) to display. Valid input: 0 to 7.
     ABC = 7-Row; // Set row address
-    for(int col=0; col<32; col++) { // To daisychain more displays, I guess you would have to increase this counter to n*32 columns. Might mirror though.
+    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.
   
-        if (LEDBuffer [(7-Row)][col] == 2){
+        if (LEDBuffer [(7-Row)][col] == 0){
+            R1 = R_Debug3;
+            G1 = G_Debug3;
+            B1 = B_Debug3;    
+        }else if (LEDBuffer [(7-Row)][col] == 1){
+            //Red
+            R1 = 1;
+            G1 = 0;
+            B1 = 0;            
+        }else if (LEDBuffer [(7-Row)][col] == 2){
+            //Green
+            R1 = 0;
+            G1 = 1;
+            B1 = 0;            
+        }else if (LEDBuffer [(7-Row)][col] == 3){
+            //Blue
+            R1 = 0;
+            G1 = 0;
+            B1 = 1;    
+        }else if (LEDBuffer [(7-Row)][col] == 4){
+            //RG
             R1 = 1;
             G1 = 1;
-            B1 = 1;           
+            B1 = 0;            
+        }else if (LEDBuffer [(7-Row)][col] == 5){
+            //GB
+            R1 = 0;
+            G1 = 1;
+            B1 = 1;            
+        }else if (LEDBuffer [(7-Row)][col] == 6){
+            //RB
+            R1 = 1;
+            G1 = 0;
+            B1 = 1;                        
+        }else if (LEDBuffer [(7-Row)][col] == 7){
+            //White
+            R1 = 1;
+            G1 = 1;
+            B1 = 1;
+        }else if (LEDBuffer [(7-Row)][col] == 8){
+            //Blue(Keihin-Tohoku E233 LED)
+            R1 = 0;
+            G1 = 0;
+            B1 = 1;
+        }else if (LEDBuffer [(7-Row)][col] == 9){
+            //Pink-Red(Keihin-Tohoku E233 LED Rapid)
+            R1 = 1;
+            G1 = 0;
+            B1 = 0;            
         }else{
             R1 = 0;
             G1 = 0;
             B1 = 0; 
         }
 
-        if (LEDBuffer [(15-Row)][col] == 2){
+        if (LEDBuffer [(15-Row)][col] == 0){
+            R2 = R_Debug3;
+            G2 = G_Debug3;
+            B2 = B_Debug3;    
+        }else if (LEDBuffer [(15-Row)][col] == 1){
+            //Red
+            R2 = 1;
+            G2 = 0;
+            B2 = 0;            
+        }else if (LEDBuffer [(15-Row)][col] == 2){
+            //Green
+            R2 = 0;
+            G2 = 1;
+            B2 = 0;            
+        }else if (LEDBuffer [(15-Row)][col] == 3){
+            //Blue
+            R2 = 0;
+            G2 = 0;
+            B2 = 1;    
+        }else if (LEDBuffer [(15-Row)][col] == 4){
+            //RG
             R2 = 1;
             G2 = 1;
-            B2 = 1;       
+            B2 = 0;            
+        }else if (LEDBuffer [(15-Row)][col] == 5){
+            //GB
+            R2 = 0;
+            G2 = 1;
+            B2 = 1;            
+        }else if (LEDBuffer [(15-Row)][col] == 6){
+            //RB
+            R2 = 1;
+            G2 = 0;
+            B2 = 1;                        
+        }else if (LEDBuffer [(15-Row)][col] == 7){
+            //White
+            R2 = 1;
+            G2 = 1;
+            B2 = 1;
+        }else if (LEDBuffer [(15-Row)][col] == 8){
+            //Blue(Keihin-Tohoku E233 LED)
+            R2 = 0;
+            G2 = 0;
+            B2 = 1;
+        }else if (LEDBuffer [(15-Row)][col] == 9){
+            //Pink-Red(Keihin-Tohoku E233 LED Rapid)
+            R2 = 1;
+            G2 = 0;
+            B2 = 0;               
         }else{
             R2 = 0;
             G2 = 0;
-            B2 = 1; 
-        }       
+            B2 = 0; 
+        }           
                
         CLK = HIGH;                 // tick (clock bit in)
         CLK = LOW;                  // tock
@@ -222,27 +529,117 @@
 {
     // Write specified row (and row+8) to display. Valid input: 0 to 7.
     ABC = 7-Row; // Set row address
-    for(int col=0; col<32; col++) { // To daisychain more displays, I guess you would have to increase this counter to n*32 columns. Might mirror though.
+    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.
   
-        if (LEDBuffer [(7-Row)][col] == 2){
+        if (LEDBuffer [(7-Row)][col] == 0){
+            R1 = R_Debug4;
+            G1 = G_Debug4;
+            B1 = B_Debug4;    
+        }else if (LEDBuffer [(7-Row)][col] == 1){
+            //Red
+            R1 = 1;
+            G1 = 0;
+            B1 = 0;            
+        }else if (LEDBuffer [(7-Row)][col] == 2){
+            //Green
+            R1 = 0;
+            G1 = 1;
+            B1 = 0;            
+        }else if (LEDBuffer [(7-Row)][col] == 3){
+            //Blue
+            R1 = 0;
+            G1 = 0;
+            B1 = 1;    
+        }else if (LEDBuffer [(7-Row)][col] == 4){
+            //RG
             R1 = 1;
             G1 = 1;
-            B1 = 1;           
+            B1 = 0;            
+        }else if (LEDBuffer [(7-Row)][col] == 5){
+            //GB
+            R1 = 0;
+            G1 = 1;
+            B1 = 1;            
+        }else if (LEDBuffer [(7-Row)][col] == 6){
+            //RB
+            R1 = 1;
+            G1 = 0;
+            B1 = 1;                        
+        }else if (LEDBuffer [(7-Row)][col] == 7){
+            //White
+            R1 = 1;
+            G1 = 1;
+            B1 = 1;
+        }else if (LEDBuffer [(7-Row)][col] == 8){
+            //Blue(Keihin-Tohoku E233 LED)
+            R1 = 0;
+            G1 = 0;
+            B1 = 1;
+        }else if (LEDBuffer [(7-Row)][col] == 9){
+            //Pink-Red(Keihin-Tohoku E233 LED Rapid)
+            R1 = 1;
+            G1 = 0;
+            B1 = 0;             
         }else{
             R1 = 0;
             G1 = 0;
             B1 = 0; 
         }
 
-        if (LEDBuffer [(15-Row)][col] == 2){
+        if (LEDBuffer [(15-Row)][col] == 0){
+            R2 = R_Debug4;
+            G2 = G_Debug4;
+            B2 = B_Debug4;    
+        }else if (LEDBuffer [(15-Row)][col] == 1){
+            //Red
+            R2 = 1;
+            G2 = 0;
+            B2 = 0;            
+        }else if (LEDBuffer [(15-Row)][col] == 2){
+            //Green
+            R2 = 0;
+            G2 = 1;
+            B2 = 0;            
+        }else if (LEDBuffer [(15-Row)][col] == 3){
+            //Blue
+            R2 = 0;
+            G2 = 0;
+            B2 = 1;    
+        }else if (LEDBuffer [(15-Row)][col] == 4){
+            //RG
             R2 = 1;
             G2 = 1;
-            B2 = 1;       
+            B2 = 0;            
+        }else if (LEDBuffer [(15-Row)][col] == 5){
+            //GB
+            R2 = 0;
+            G2 = 1;
+            B2 = 1;            
+        }else if (LEDBuffer [(15-Row)][col] == 6){
+            //RB
+            R2 = 1;
+            G2 = 0;
+            B2 = 1;                        
+        }else if (LEDBuffer [(15-Row)][col] == 7){
+            //White
+            R2 = 1;
+            G2 = 1;
+            B2 = 1;
+        }else if (LEDBuffer [(15-Row)][col] == 8){
+            //Blue(Keihin-Tohoku E233 LED)
+            R2 = 0;
+            G2 = 0;
+            B2 = 1;
+        }else if (LEDBuffer [(15-Row)][col] == 9){
+            //Pink-Red(Keihin-Tohoku E233 LED Rapid)
+            R2 = 1;
+            G2 = 0;
+            B2 = 0;               
         }else{
             R2 = 0;
             G2 = 0;
             B2 = 0; 
-        }        
+        }           
                
         CLK = HIGH;                 // tick (clock bit in)
         CLK = LOW;                  // tock
@@ -255,9 +652,9 @@
 {
     // Write specified row (and row+8) to display. Valid input: 0 to 7.
     ABC = 7-Row; // Set row address
-    for(int col=0; col<32; col++) { // To daisychain more displays, I guess you would have to increase this counter to n*32 columns. Might mirror though.
+    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.
   
-        if (LEDBuffer [(7-Row)][col] == 2){
+        if (LEDBuffer [(7-Row)][col] == 7){
             R1 = 1;
             G1 = 1;
             B1 = 1;           
@@ -267,7 +664,7 @@
             B1 = 0; 
         }
 
-        if (LEDBuffer [(15-Row)][col] == 2){
+        if (LEDBuffer [(15-Row)][col] == 7){
             R2 = 1;
             G2 = 1;
             B2 = 1;       
@@ -288,9 +685,9 @@
 {
     // Write specified row (and row+8) to display. Valid input: 0 to 7.
     ABC = 7-Row; // Set row address
-    for(int col=0; col<32; col++) { // To daisychain more displays, I guess you would have to increase this counter to n*32 columns. Might mirror though.
+    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.
   
-        if (LEDBuffer [(7-Row)][col] == 2){
+        if (LEDBuffer [(7-Row)][col] == 7){
             R1 = 1;
             G1 = 1;
             B1 = 1;           
@@ -300,7 +697,7 @@
             B1 = 0; 
         }
 
-        if (LEDBuffer [(15-Row)][col] == 2){
+        if (LEDBuffer [(15-Row)][col] == 7){
             R2 = 1;
             G2 = 1;
             B2 = 1;       
@@ -321,9 +718,9 @@
 {
     // Write specified row (and row+8) to display. Valid input: 0 to 7.
     ABC = 7-Row; // Set row address
-    for(int col=0; col<32; col++) { // To daisychain more displays, I guess you would have to increase this counter to n*32 columns. Might mirror though.
+    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.
   
-        if (LEDBuffer [(7-Row)][col] == 2){
+        if (LEDBuffer [(7-Row)][col] == 7){
             R1 = 1;
             G1 = 1;
             B1 = 1;           
@@ -333,7 +730,7 @@
             B1 = 0; 
         }
 
-        if (LEDBuffer [(15-Row)][col] == 2){
+        if (LEDBuffer [(15-Row)][col] == 7){
             R2 = 1;
             G2 = 1;
             B2 = 1;       
@@ -354,9 +751,9 @@
 {
     // Write specified row (and row+8) to display. Valid input: 0 to 7.
     ABC = 7-Row; // Set row address
-    for(int col=0; col<32; col++) { // To daisychain more displays, I guess you would have to increase this counter to n*32 columns. Might mirror though.
+    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.
   
-        if (LEDBuffer [(7-Row)][col] == 2){
+        if (LEDBuffer [(7-Row)][col] == 7){
             R1 = 1;
             G1 = 1;
             B1 = 1;           
@@ -366,7 +763,7 @@
             B1 = 0; 
         }
 
-        if (LEDBuffer [(15-Row)][col] == 2){
+        if (LEDBuffer [(15-Row)][col] == 7){
             R2 = 1;
             G2 = 1;
             B2 = 1;       
@@ -386,7 +783,7 @@
 {
     // Write specified row (and row+8) to display. Valid input: 0 to 7.
     ABC = 7-Row; // Set row address
-    for(int col=0; col<32; col++) { // To daisychain more displays, I guess you would have to increase this counter to n*32 columns. Might mirror though.
+    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.
         R1 = 0; // Red bit, upper half
         G1 = 0; // Green bit, upper half
         B1 = 0; // Blue bit, upper half
@@ -427,7 +824,7 @@
         //wait_us(10);
         OE = LOW; // Enable output
         
-        wait_us(5); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh.
+        wait_us(10); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh.
     }
     //2
     for(int Row=0; Row<8; Row++) {
@@ -437,7 +834,7 @@
         //wait_us(10);
         OE = LOW; // Enable output
         
-        wait_us(5); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh.
+        wait_us(10); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh.
     }    
     //3
     for(int Row=0; Row<8; Row++) {
@@ -446,7 +843,7 @@
         //wait_us(10);
         OE = LOW; // Enable output
         
-        wait_us(5); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh.
+        wait_us(10); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh.
     }        
     //4
     for(int Row=0; Row<8; Row++) {
@@ -455,44 +852,44 @@
         //wait_us(10);
         OE = LOW; // Enable output
         
-        wait_us(5); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh.
+        wait_us(10); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh.
     }
     //5
-    for(int Row=0; Row<8; Row++) {
-        OE = HIGH; // Disable output
-        WrRow5(Row);
-        //wait_us(10);
-        OE = LOW; // Enable output
-        
-        wait_us(5); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh.
-    }
+//    for(int Row=0; Row<8; Row++) {
+//        OE = HIGH; // Disable output
+//        WrRow5(Row);
+//        //wait_us(10);
+//        OE = LOW; // Enable output
+//        
+//        wait_us(10); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh.
+//    }
     //6
-    for(int Row=0; Row<8; Row++) {
-        OE = HIGH; // Disable output
-        WrRow6(Row);
-        //wait_us(10);
-        OE = LOW; // Enable output
-        
-        wait_us(5); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh.
-    }
+//    for(int Row=0; Row<8; Row++) {
+//        OE = HIGH; // Disable output
+//        WrRow6(Row);
+//        //wait_us(10);
+//        OE = LOW; // Enable output
+//        
+//        wait_us(10); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh.
+//    }
     //7
-    for(int Row=0; Row<8; Row++) {
-        OE = HIGH; // Disable output
-        WrRow7(Row);
-        //wait_us(10);
-        OE = LOW; // Enable output
-        
-        wait_us(5); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh.
-    }
+//    for(int Row=0; Row<8; Row++) {
+//        OE = HIGH; // Disable output
+//        WrRow7(Row);
+//        //wait_us(10);
+//        OE = LOW; // Enable output
+//        
+//        wait_us(10); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh.
+//    }
     //8
-    for(int Row=0; Row<8; Row++) {
-        OE = HIGH; // Disable output
-        WrRow8(Row);
-        //wait_us(10);
-        OE = LOW; // Enable output
-        
-        wait_us(5); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh.
-    }                           
+//    for(int Row=0; Row<8; Row++) {
+//        OE = HIGH; // Disable output
+//        WrRow8(Row);
+//        //wait_us(10);
+//        OE = LOW; // Enable output
+//
+//        wait_us(10); // Wasting some time. Use for whatever else. Probably better with a ticker for the display refresh.
+//    }                           
         
 }
 
@@ -564,7 +961,7 @@
         }
         
         //PaintOFF();
-        wait_us(10);
+        //wait_us(10);
     }
     
 }