images array created
This commit is contained in:
-299
@@ -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}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
const char index_html[] PROGMEM = R"rawliteral(
|
||||||
|
<!DOCTYPE HTML><html>
|
||||||
|
<head>
|
||||||
|
<title>LED Panel Control</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<style>
|
||||||
|
body { font-family: Arial; text-align: center; margin:0px auto; padding-top: 30px;}
|
||||||
|
.button {
|
||||||
|
background-color: #4CAF50;
|
||||||
|
color: white;
|
||||||
|
padding: 10px 20px;
|
||||||
|
text-align: center;
|
||||||
|
text-decoration: none;
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 16px;
|
||||||
|
margin: 4px 2px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>LED Panel Control</h1>
|
||||||
|
<input type="file" id="imageFile" accept=".json">
|
||||||
|
<button class="button" onclick="uploadImage()">Upload Image</button>
|
||||||
|
<script>
|
||||||
|
function uploadImage() {
|
||||||
|
var file = document.getElementById('imageFile').files[0];
|
||||||
|
if (!file) {
|
||||||
|
alert("Please select a file!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var reader = new FileReader();
|
||||||
|
reader.onload = function(e) {
|
||||||
|
var contents = e.target.result;
|
||||||
|
var xhr = new XMLHttpRequest();
|
||||||
|
xhr.open("POST", "/upload", true);
|
||||||
|
xhr.setRequestHeader("Content-Type", "application/json");
|
||||||
|
xhr.send(contents);
|
||||||
|
};
|
||||||
|
reader.readAsText(file);
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
)rawliteral";
|
||||||
@@ -3,8 +3,6 @@
|
|||||||
#include <avr/power.h> // Required for 16 MHz Adafruit Trinket
|
#include <avr/power.h> // Required for 16 MHz Adafruit Trinket
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "ball_image.h"
|
|
||||||
|
|
||||||
#define PIN 12
|
#define PIN 12
|
||||||
|
|
||||||
#define PANEL_PIXEL_COUNT 16
|
#define PANEL_PIXEL_COUNT 16
|
||||||
@@ -12,6 +10,67 @@
|
|||||||
|
|
||||||
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
|
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)
|
void setPixel(unsigned short x, unsigned short y, uint32_t color)
|
||||||
{
|
{
|
||||||
if (y % 2 == 1)
|
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);
|
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 row = 0; row < 16; row++) {
|
||||||
for (int col = 0; col < 16; col++) {
|
for (int col = 0; col < 16; col++) {
|
||||||
|
Pixel px = getPixelFromSaved(i, row, col);
|
||||||
if (panel_image[row][col].color == 0) {
|
if (px.color == 0) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
int pixel_x = panel_image[row][col].x + offset_x;
|
int pixel_x = px.x + offset_x;
|
||||||
int pixel_y = panel_image[row][col].y + offset_y;
|
int pixel_y = px.y + offset_y;
|
||||||
|
|
||||||
if (pixel_x >= 0 && pixel_x < PANEL_PIXEL_COUNT &&
|
if (pixel_x >= 0 && pixel_x < PANEL_PIXEL_COUNT &&
|
||||||
pixel_y >= 0 && pixel_y < 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() {
|
void setup() {
|
||||||
pixels.begin();
|
pixels.begin();
|
||||||
|
|
||||||
pixels.clear();
|
pixels.clear();
|
||||||
drawPanelImage(0, 0);
|
|
||||||
pixels.show();
|
pixels.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user