diff --git a/ball_image.h b/ball_image.h
deleted file mode 100644
index 9ecd6bc..0000000
--- a/ball_image.h
+++ /dev/null
@@ -1,299 +0,0 @@
-
-struct Pixel
-{
- unsigned short x = 0;
- unsigned short y = 0;
- uint32_t color;
-};
-
-Pixel panel_image[16][16] =
-{
- {
- {0, 0, 0xFF000000},
- {1, 0, 0xFF000000},
- {2, 0, 0xFF000000},
- {3, 0, 0xFF000000},
- {4, 0, 0xFF000000},
- {5, 0, 0xFF000000},
- {6, 0, 0xFF000000},
- {7, 0, 0xFF000000},
- {8, 0, 0xFF000000},
- {9, 0, 0xFF000000},
- {10, 0, 0xFF000000},
- {11, 0, 0xFF000000},
- {12, 0, 0xFF000000},
- {13, 0, 0xFF000000},
- {14, 0, 0xFF000000},
- {15, 0, 0xFF000000}
- },
- {
- {0, 1, 0xFF000000},
- {1, 1, 0xFF000000},
- {2, 1, 0xFF000000},
- {3, 1, 0xFF000000},
- {4, 1, 0xFF000000},
- {5, 1, 0xFF000000},
- {6, 1, 0xFF000000},
- {7, 1, 0xFF000000},
- {8, 1, 0xFF000000},
- {9, 1, 0xFF000000},
- {10, 1, 0xFF000000},
- {11, 1, 0xFF000000},
- {12, 1, 0xFF000000},
- {13, 1, 0xFF000000},
- {14, 1, 0xFF000000},
- {15, 1, 0xFF000000}
- },
- {
- {0, 2, 0xFF000000},
- {1, 2, 0xFF000000},
- {2, 2, 0xFF000000},
- {3, 2, 0xFF000000},
- {4, 2, 0xFF000000},
- {5, 2, 0xFFFFFF00},
- {6, 2, 0xFFFFFF00},
- {7, 2, 0xFFFFFF00},
- {8, 2, 0xFFFFFF00},
- {9, 2, 0xFFFFFF00},
- {10, 2, 0xFFFFFF00},
- {11, 2, 0xFF000000},
- {12, 2, 0xFF000000},
- {13, 2, 0xFF000000},
- {14, 2, 0xFF000000},
- {15, 2, 0xFF000000}
- },
- {
- {0, 3, 0xFF000000},
- {1, 3, 0xFF000000},
- {2, 3, 0xFF000000},
- {3, 3, 0xFFFFFF00},
- {4, 3, 0xFFFFFF00},
- {5, 3, 0xFFFFFF00},
- {6, 3, 0xFFFFFF00},
- {7, 3, 0xFFFFFF00},
- {8, 3, 0xFFFFFF00},
- {9, 3, 0xFFFFFF00},
- {10, 3, 0xFFFFFF00},
- {11, 3, 0xFFFFFF00},
- {12, 3, 0xFFFFFF00},
- {13, 3, 0xFF000000},
- {14, 3, 0xFF000000},
- {15, 3, 0xFF000000}
- },
- {
- {0, 4, 0xFF000000},
- {1, 4, 0xFF000000},
- {2, 4, 0xFF000000},
- {3, 4, 0xFFFFFF00},
- {4, 4, 0xFFFFFF00},
- {5, 4, 0xFFFFFF00},
- {6, 4, 0xFFFFFF00},
- {7, 4, 0xFFFFFF00},
- {8, 4, 0xFFFFFF00},
- {9, 4, 0xFFFFFF00},
- {10, 4, 0xFFFFFF00},
- {11, 4, 0xFFFFFF00},
- {12, 4, 0xFFFFFF00},
- {13, 4, 0xFF000000},
- {14, 4, 0xFF000000},
- {15, 4, 0xFF000000}
- },
- {
- {0, 5, 0xFF000000},
- {1, 5, 0xFF000000},
- {2, 5, 0xFFFFFF00},
- {3, 5, 0xFFFFFF00},
- {4, 5, 0xFF000000},
- {5, 5, 0xFF000000},
- {6, 5, 0xFFFFFF00},
- {7, 5, 0xFFFFFF00},
- {8, 5, 0xFFFFFF00},
- {9, 5, 0xFFFFFF00},
- {10, 5, 0xFF000000},
- {11, 5, 0xFF000000},
- {12, 5, 0xFFFFFF00},
- {13, 5, 0xFFFFFF00},
- {14, 5, 0xFF000000},
- {15, 5, 0xFF000000}
- },
- {
- {0, 6, 0xFF000000},
- {1, 6, 0xFF000000},
- {2, 6, 0xFFFFFF00},
- {3, 6, 0xFFFFFF00},
- {4, 6, 0xFF000000},
- {5, 6, 0xFF000000},
- {6, 6, 0xFFFFFF00},
- {7, 6, 0xFFFFFF00},
- {8, 6, 0xFFFFFF00},
- {9, 6, 0xFFFFFF00},
- {10, 6, 0xFF000000},
- {11, 6, 0xFF000000},
- {12, 6, 0xFFFFFF00},
- {13, 6, 0xFFFFFF00},
- {14, 6, 0xFF000000},
- {15, 6, 0xFF000000}
- },
- {
- {0, 7, 0xFF000000},
- {1, 7, 0xFF000000},
- {2, 7, 0xFFFFFF00},
- {3, 7, 0xFFFFFF00},
- {4, 7, 0xFF000000},
- {5, 7, 0xFF000000},
- {6, 7, 0xFFFFFF00},
- {7, 7, 0xFFFFFF00},
- {8, 7, 0xFFFFFF00},
- {9, 7, 0xFFFFFF00},
- {10, 7, 0xFF000000},
- {11, 7, 0xFF000000},
- {12, 7, 0xFFFFFF00},
- {13, 7, 0xFFFFFF00},
- {14, 7, 0xFF000000},
- {15, 7, 0xFF000000}
- },
- {
- {0, 8, 0xFF000000},
- {1, 8, 0xFF000000},
- {2, 8, 0xFFFFFF00},
- {3, 8, 0xFFFFFF00},
- {4, 8, 0xFFFFFF00},
- {5, 8, 0xFFFFFF00},
- {6, 8, 0xFFFFFF00},
- {7, 8, 0xFFFFFF00},
- {8, 8, 0xFFFFFF00},
- {9, 8, 0xFFFFFF00},
- {10, 8, 0xFFFFFF00},
- {11, 8, 0xFFFFFF00},
- {12, 8, 0xFFFFFF00},
- {13, 8, 0xFFFFFF00},
- {14, 8, 0xFF000000},
- {15, 8, 0xFF000000}
- },
- {
- {0, 9, 0xFF000000},
- {1, 9, 0xFF000000},
- {2, 9, 0xFFFFFF00},
- {3, 9, 0xFFFFFF00},
- {4, 9, 0xFFFFFF00},
- {5, 9, 0xFFFFFF00},
- {6, 9, 0xFFFFFF00},
- {7, 9, 0xFFFFFF00},
- {8, 9, 0xFF000000},
- {9, 9, 0xFF000000},
- {10, 9, 0xFFFFFF00},
- {11, 9, 0xFFFFFF00},
- {12, 9, 0xFFFFFF00},
- {13, 9, 0xFFFFFF00},
- {14, 9, 0xFF000000},
- {15, 9, 0xFF000000}
- },
- {
- {0, 10, 0xFF000000},
- {1, 10, 0xFF000000},
- {2, 10, 0xFFFFFF00},
- {3, 10, 0xFFFFFF00},
- {4, 10, 0xFFFFFF00},
- {5, 10, 0xFFFFFF00},
- {6, 10, 0xFFFFFF00},
- {7, 10, 0xFF000000},
- {8, 10, 0xFF000000},
- {9, 10, 0xFFFFFF00},
- {10, 10, 0xFF000000},
- {11, 10, 0xFFFFFF00},
- {12, 10, 0xFFFFFF00},
- {13, 10, 0xFFFFFF00},
- {14, 10, 0xFF000000},
- {15, 10, 0xFF000000}
- },
- {
- {0, 11, 0xFF000000},
- {1, 11, 0xFF000000},
- {2, 11, 0xFF000000},
- {3, 11, 0xFFFFFF00},
- {4, 11, 0xFFFFFF00},
- {5, 11, 0xFFFFFF00},
- {6, 11, 0xFFFFFF00},
- {7, 11, 0xFF000000},
- {8, 11, 0xFF000000},
- {9, 11, 0xFFFFFF00},
- {10, 11, 0xFF000000},
- {11, 11, 0xFFFFFF00},
- {12, 11, 0xFFFFFF00},
- {13, 11, 0xFF000000},
- {14, 11, 0xFF000000},
- {15, 11, 0xFF000000}
- },
- {
- {0, 12, 0xFF000000},
- {1, 12, 0xFF000000},
- {2, 12, 0xFF000000},
- {3, 12, 0xFFFFFF00},
- {4, 12, 0xFFFFFF00},
- {5, 12, 0xFFFFFF00},
- {6, 12, 0xFFFFFF00},
- {7, 12, 0xFFFFFF00},
- {8, 12, 0xFF000000},
- {9, 12, 0xFF000000},
- {10, 12, 0xFFFFFF00},
- {11, 12, 0xFFFFFF00},
- {12, 12, 0xFFFFFF00},
- {13, 12, 0xFF000000},
- {14, 12, 0xFF000000},
- {15, 12, 0xFF000000}
- },
- {
- {0, 13, 0xFF000000},
- {1, 13, 0xFF000000},
- {2, 13, 0xFF000000},
- {3, 13, 0xFF000000},
- {4, 13, 0xFF000000},
- {5, 13, 0xFFFFFF00},
- {6, 13, 0xFFFFFF00},
- {7, 13, 0xFFFFFF00},
- {8, 13, 0xFFFFFF00},
- {9, 13, 0xFFFFFF00},
- {10, 13, 0xFFFFFF00},
- {11, 13, 0xFF000000},
- {12, 13, 0xFF000000},
- {13, 13, 0xFF000000},
- {14, 13, 0xFF000000},
- {15, 13, 0xFF000000}
- },
- {
- {0, 14, 0xFF000000},
- {1, 14, 0xFF000000},
- {2, 14, 0xFF000000},
- {3, 14, 0xFF000000},
- {4, 14, 0xFF000000},
- {5, 14, 0xFF000000},
- {6, 14, 0xFF000000},
- {7, 14, 0xFF000000},
- {8, 14, 0xFF000000},
- {9, 14, 0xFF000000},
- {10, 14, 0xFF000000},
- {11, 14, 0xFF000000},
- {12, 14, 0xFF000000},
- {13, 14, 0xFF000000},
- {14, 14, 0xFF000000},
- {15, 14, 0xFF000000}
- },
- {
- {0, 15, 0xFF000000},
- {1, 15, 0xFF000000},
- {2, 15, 0xFF000000},
- {3, 15, 0xFF000000},
- {4, 15, 0xFF000000},
- {5, 15, 0xFF000000},
- {6, 15, 0xFF000000},
- {7, 15, 0xFF000000},
- {8, 15, 0xFF000000},
- {9, 15, 0xFF000000},
- {10, 15, 0xFF000000},
- {11, 15, 0xFF000000},
- {12, 15, 0xFF000000},
- {13, 15, 0xFF000000},
- {14, 15, 0xFF000000},
- {15, 15, 0xFF000000}
- }
-};
diff --git a/index.h b/index.h
new file mode 100644
index 0000000..fa8e1b1
--- /dev/null
+++ b/index.h
@@ -0,0 +1,45 @@
+const char index_html[] PROGMEM = R"rawliteral(
+
+
+ LED Panel Control
+
+
+
+
+ LED Panel Control
+
+
+
+
+
+)rawliteral";
diff --git a/ledy.ino b/ledy.ino
index 84ae213..7488896 100644
--- a/ledy.ino
+++ b/ledy.ino
@@ -3,8 +3,6 @@
#include // Required for 16 MHz Adafruit Trinket
#endif
-#include "ball_image.h"
-
#define PIN 12
#define PANEL_PIXEL_COUNT 16
@@ -12,6 +10,67 @@
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
+struct Pixel
+{
+ unsigned short x = 0;
+ unsigned short y = 0;
+ uint32_t color;
+};
+
+const short saved_images_count = 1;
+Pixel saved_imaged[saved_images_count][16][16] = {
+ {
+ {
+ {0, 0, 0xFF000000}, {1, 0, 0xFF000000}, {2, 0, 0xFF000000}, {3, 0, 0xFF000000}, {4, 0, 0xFF000000}, {5, 0, 0xFF000000}, {6, 0, 0xFF000000}, {7, 0, 0xFF000000}, {8, 0, 0xFF000000}, {9, 0, 0xFF000000}, {10, 0, 0xFF000000}, {11, 0, 0xFF000000}, {12, 0, 0xFF000000}, {13, 0, 0xFF000000}, {14, 0, 0xFF000000}, {15, 0, 0xFF000000}
+ },
+ {
+ {0, 1, 0xFF000000}, {1, 1, 0xFF000000}, {2, 1, 0xFF000000}, {3, 1, 0xFF000000}, {4, 1, 0xFF000000}, {5, 1, 0xFF000000}, {6, 1, 0xFF000000}, {7, 1, 0xFF000000}, {8, 1, 0xFF000000}, {9, 1, 0xFF000000}, {10, 1, 0xFF000000}, {11, 1, 0xFF000000}, {12, 1, 0xFF000000}, {13, 1, 0xFF000000}, {14, 1, 0xFF000000}, {15, 1, 0xFF000000}
+ },
+ {
+ {0, 2, 0xFF000000}, {1, 2, 0xFF000000}, {2, 2, 0xFF000000}, {3, 2, 0xFF000000}, {4, 2, 0xFF000000}, {5, 2, 0xFFFFFF00}, {6, 2, 0xFFFFFF00}, {7, 2, 0xFFFFFF00}, {8, 2, 0xFFFFFF00}, {9, 2, 0xFFFFFF00}, {10, 2, 0xFFFFFF00}, {11, 2, 0xFF000000}, {12, 2, 0xFF000000}, {13, 2, 0xFF000000}, {14, 2, 0xFF000000}, {15, 2, 0xFF000000}
+ },
+ {
+ {0, 3, 0xFF000000}, {1, 3, 0xFF000000}, {2, 3, 0xFF000000}, {3, 3, 0xFFFFFF00}, {4, 3, 0xFFFFFF00}, {5, 3, 0xFFFFFF00}, {6, 3, 0xFFFFFF00}, {7, 3, 0xFFFFFF00}, {8, 3, 0xFFFFFF00}, {9, 3, 0xFFFFFF00}, {10, 3, 0xFFFFFF00}, {11, 3, 0xFFFFFF00}, {12, 3, 0xFFFFFF00}, {13, 3, 0xFF000000}, {14, 3, 0xFF000000}, {15, 3, 0xFF000000}
+ },
+ {
+ {0, 4, 0xFF000000}, {1, 4, 0xFF000000}, {2, 4, 0xFF000000}, {3, 4, 0xFFFFFF00}, {4, 4, 0xFFFFFF00}, {5, 4, 0xFFFFFF00}, {6, 4, 0xFFFFFF00}, {7, 4, 0xFFFFFF00}, {8, 4, 0xFFFFFF00}, {9, 4, 0xFFFFFF00}, {10, 4, 0xFFFFFF00}, {11, 4, 0xFFFFFF00}, {12, 4, 0xFFFFFF00}, {13, 4, 0xFF000000}, {14, 4, 0xFF000000}, {15, 4, 0xFF000000}
+ },
+ {
+ {0, 5, 0xFF000000}, {1, 5, 0xFF000000}, {2, 5, 0xFFFFFF00}, {3, 5, 0xFFFFFF00}, {4, 5, 0xFF000000}, {5, 5, 0xFF000000}, {6, 5, 0xFFFFFF00}, {7, 5, 0xFFFFFF00}, {8, 5, 0xFFFFFF00}, {9, 5, 0xFFFFFF00}, {10, 5, 0xFF000000}, {11, 5, 0xFF000000}, {12, 5, 0xFFFFFF00}, {13, 5, 0xFFFFFF00}, {14, 5, 0xFF000000}, {15, 5, 0xFF000000}
+ },
+ {
+ {0, 6, 0xFF000000}, {1, 6, 0xFF000000}, {2, 6, 0xFFFFFF00}, {3, 6, 0xFFFFFF00}, {4, 6, 0xFF000000}, {5, 6, 0xFF000000}, {6, 6, 0xFFFFFF00}, {7, 6, 0xFFFFFF00}, {8, 6, 0xFFFFFF00}, {9, 6, 0xFFFFFF00}, {10, 6, 0xFF000000}, {11, 6, 0xFF000000}, {12, 6, 0xFFFFFF00}, {13, 6, 0xFFFFFF00}, {14, 6, 0xFF000000}, {15, 6, 0xFF000000}
+ },
+ {
+ {0, 7, 0xFF000000}, {1, 7, 0xFF000000}, {2, 7, 0xFFFFFF00}, {3, 7, 0xFFFFFF00}, {4, 7, 0xFF000000}, {5, 7, 0xFF000000}, {6, 7, 0xFFFFFF00}, {7, 7, 0xFFFFFF00}, {8, 7, 0xFFFFFF00}, {9, 7, 0xFFFFFF00}, {10, 7, 0xFF000000}, {11, 7, 0xFF000000}, {12, 7, 0xFFFFFF00}, {13, 7, 0xFFFFFF00}, {14, 7, 0xFF000000}, {15, 7, 0xFF000000}
+ },
+ {
+ {0, 8, 0xFF000000}, {1, 8, 0xFF000000}, {2, 8, 0xFFFFFF00}, {3, 8, 0xFFFFFF00}, {4, 8, 0xFFFFFF00}, {5, 8, 0xFFFFFF00}, {6, 8, 0xFFFFFF00}, {7, 8, 0xFFFFFF00}, {8, 8, 0xFFFFFF00}, {9, 8, 0xFFFFFF00}, {10, 8, 0xFFFFFF00}, {11, 8, 0xFFFFFF00}, {12, 8, 0xFFFFFF00}, {13, 8, 0xFFFFFF00}, {14, 8, 0xFF000000}, {15, 8, 0xFF000000}
+ },
+ {
+ {0, 9, 0xFF000000}, {1, 9, 0xFF000000}, {2, 9, 0xFFFFFF00}, {3, 9, 0xFFFFFF00}, {4, 9, 0xFFFFFF00}, {5, 9, 0xFFFFFF00}, {6, 9, 0xFFFFFF00}, {7, 9, 0xFFFFFF00}, {8, 9, 0xFF000000}, {9, 9, 0xFF000000}, {10, 9, 0xFFFFFF00}, {11, 9, 0xFFFFFF00}, {12, 9, 0xFFFFFF00}, {13, 9, 0xFFFFFF00}, {14, 9, 0xFF000000}, {15, 9, 0xFF000000}
+ },
+ {
+ {0, 10, 0xFF000000}, {1, 10, 0xFF000000}, {2, 10, 0xFFFFFF00}, {3, 10, 0xFFFFFF00}, {4, 10, 0xFFFFFF00}, {5, 10, 0xFFFFFF00}, {6, 10, 0xFFFFFF00}, {7, 10, 0xFF000000}, {8, 10, 0xFF000000}, {9, 10, 0xFFFFFF00}, {10, 10, 0xFF000000}, {11, 10, 0xFFFFFF00}, {12, 10, 0xFFFFFF00}, {13, 10, 0xFFFFFF00}, {14, 10, 0xFF000000}, {15, 10, 0xFF000000}
+ },
+ {
+ {0, 11, 0xFF000000}, {1, 11, 0xFF000000}, {2, 11, 0xFF000000}, {3, 11, 0xFFFFFF00}, {4, 11, 0xFFFFFF00}, {5, 11, 0xFFFFFF00}, {6, 11, 0xFFFFFF00}, {7, 11, 0xFF000000}, {8, 11, 0xFF000000}, {9, 11, 0xFFFFFF00}, {10, 11, 0xFF000000}, {11, 11, 0xFFFFFF00}, {12, 11, 0xFFFFFF00}, {13, 11, 0xFF000000}, {14, 11, 0xFF000000}, {15, 11, 0xFF000000}
+ },
+ {
+ {0, 12, 0xFF000000}, {1, 12, 0xFF000000}, {2, 12, 0xFF000000}, {3, 12, 0xFFFFFF00}, {4, 12, 0xFFFFFF00}, {5, 12, 0xFFFFFF00}, {6, 12, 0xFFFFFF00}, {7, 12, 0xFFFFFF00}, {8, 12, 0xFF000000}, {9, 12, 0xFF000000}, {10, 12, 0xFFFFFF00}, {11, 12, 0xFFFFFF00}, {12, 12, 0xFFFFFF00}, {13, 12, 0xFF000000}, {14, 12, 0xFF000000}, {15, 12, 0xFF000000}
+ },
+ {
+ {0, 13, 0xFF000000}, {1, 13, 0xFF000000}, {2, 13, 0xFF000000}, {3, 13, 0xFF000000}, {4, 13, 0xFF000000}, {5, 13, 0xFFFFFF00}, {6, 13, 0xFFFFFF00}, {7, 13, 0xFFFFFF00}, {8, 13, 0xFFFFFF00}, {9, 13, 0xFFFFFF00}, {10, 13, 0xFFFFFF00}, {11, 13, 0xFF000000}, {12, 13, 0xFF000000}, {13, 13, 0xFF000000}, {14, 13, 0xFF000000}, {15, 13, 0xFF000000}
+ },
+ {
+ {0, 14, 0xFF000000}, {1, 14, 0xFF000000}, {2, 14, 0xFF000000}, {3, 14, 0xFF000000}, {4, 14, 0xFF000000}, {5, 14, 0xFF000000}, {6, 14, 0xFF000000}, {7, 14, 0xFF000000}, {8, 14, 0xFF000000}, {9, 14, 0xFF000000}, {10, 14, 0xFF000000}, {11, 14, 0xFF000000}, {12, 14, 0xFF000000}, {13, 14, 0xFF000000}, {14, 14, 0xFF000000}, {15, 14, 0xFF000000}
+ },
+ {
+ {0, 15, 0xFF000000}, {1, 15, 0xFF000000}, {2, 15, 0xFF000000}, {3, 15, 0xFF000000}, {4, 15, 0xFF000000}, {5, 15, 0xFF000000}, {6, 15, 0xFF000000}, {7, 15, 0xFF000000}, {8, 15, 0xFF000000}, {9, 15, 0xFF000000}, {10, 15, 0xFF000000}, {11, 15, 0xFF000000}, {12, 15, 0xFF000000}, {13, 15, 0xFF000000}, {14, 15, 0xFF000000}, {15, 15, 0xFF000000}
+ }
+ }
+};
+
void setPixel(unsigned short x, unsigned short y, uint32_t color)
{
if (y % 2 == 1)
@@ -21,34 +80,40 @@ void setPixel(unsigned short x, unsigned short y, uint32_t color)
pixels.setPixelColor(x + (y * PANEL_PIXEL_COUNT), color);
}
+Pixel getPixelFromSaved(unsigned char i, int row, int col)
+{
+ return saved_imaged[i][row][col];
+}
+
+void drawPanelImage(int offset_x, int offset_y, unsigned char i) {
+ if (i >= saved_images_count) {
+ return;
+ }
-void drawPanelImage(int offset_x, int offset_y) {
for (int row = 0; row < 16; row++) {
for (int col = 0; col < 16; col++) {
-
- if (panel_image[row][col].color == 0) {
+ Pixel px = getPixelFromSaved(i, row, col);
+ if (px.color == 0) {
continue;
}
- int pixel_x = panel_image[row][col].x + offset_x;
- int pixel_y = panel_image[row][col].y + offset_y;
+ int pixel_x = px.x + offset_x;
+ int pixel_y = px.y + offset_y;
if (pixel_x >= 0 && pixel_x < PANEL_PIXEL_COUNT &&
pixel_y >= 0 && pixel_y < PANEL_PIXEL_COUNT) {
- setPixel(pixel_x, pixel_y, panel_image[row][col].color);
+ setPixel(pixel_x, pixel_y, px.color);
}
}
}
}
void setup() {
- pixels.begin();
-
+ pixels.begin();
pixels.clear();
- drawPanelImage(0, 0);
pixels.show();
}
void loop() {
-
+
}