fixed characters drawing orientation and array handling
This commit is contained in:
@@ -0,0 +1,943 @@
|
|||||||
|
constexpr bool font7x5[95][7][5] = {
|
||||||
|
// ! (ASCII 33)
|
||||||
|
{
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, true, false, false}
|
||||||
|
},
|
||||||
|
// " (ASCII 34)
|
||||||
|
{
|
||||||
|
{false, true, false, true, false},
|
||||||
|
{false, true, false, true, false},
|
||||||
|
{false, true, false, true, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false}
|
||||||
|
},
|
||||||
|
// # (ASCII 35)
|
||||||
|
{
|
||||||
|
{false, true, false, true, false},
|
||||||
|
{false, true, false, true, false},
|
||||||
|
{true, true, true, true, true},
|
||||||
|
{false, true, false, true, false},
|
||||||
|
{true, true, true, true, true},
|
||||||
|
{false, true, false, true, false},
|
||||||
|
{false, true, false, true, false}
|
||||||
|
},
|
||||||
|
// $ (ASCII 36)
|
||||||
|
{
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, true, true, true, true},
|
||||||
|
{true, false, true, false, false},
|
||||||
|
{false, true, true, true, false},
|
||||||
|
{false, false, true, false, true},
|
||||||
|
{true, true, true, true, false},
|
||||||
|
{false, false, true, false, false}
|
||||||
|
},
|
||||||
|
// % (ASCII 37)
|
||||||
|
{
|
||||||
|
{true, true, false, false, true},
|
||||||
|
{true, true, false, false, true},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{true, false, false, true, true},
|
||||||
|
{true, false, false, true, true}
|
||||||
|
},
|
||||||
|
// & (ASCII 38)
|
||||||
|
{
|
||||||
|
{false, true, true, false, false},
|
||||||
|
{true, false, false, true, false},
|
||||||
|
{true, false, false, true, false},
|
||||||
|
{false, true, true, false, false},
|
||||||
|
{true, false, true, false, true},
|
||||||
|
{true, false, false, true, false},
|
||||||
|
{false, true, true, false, true}
|
||||||
|
},
|
||||||
|
// ' (ASCII 39)
|
||||||
|
{
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false}
|
||||||
|
},
|
||||||
|
// ( (ASCII 40)
|
||||||
|
{
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, false, true, false}
|
||||||
|
},
|
||||||
|
// ) (ASCII 41)
|
||||||
|
{
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, true, false, false, false}
|
||||||
|
},
|
||||||
|
// * (ASCII 42)
|
||||||
|
{
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, true, false, true, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{true, true, true, true, true},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, true, false, true, false},
|
||||||
|
{false, false, false, false, false}
|
||||||
|
},
|
||||||
|
// + (ASCII 43)
|
||||||
|
{
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{true, true, true, true, true},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, false, false, false}
|
||||||
|
},
|
||||||
|
// , (ASCII 44)
|
||||||
|
{
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, true, true, false},
|
||||||
|
{false, false, true, true, false},
|
||||||
|
{false, true, true, false, false}
|
||||||
|
},
|
||||||
|
// - (ASCII 45)
|
||||||
|
{
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{true, true, true, true, true},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false}
|
||||||
|
},
|
||||||
|
// . (ASCII 46)
|
||||||
|
{
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, true, true, false, false},
|
||||||
|
{false, true, true, false, false}
|
||||||
|
},
|
||||||
|
// / (ASCII 47)
|
||||||
|
{
|
||||||
|
{false, false, false, false, true},
|
||||||
|
{false, false, false, false, true},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, false, false, false, false}
|
||||||
|
},
|
||||||
|
// 0 (ASCII 48)
|
||||||
|
{
|
||||||
|
{false, true, true, true, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, true, true},
|
||||||
|
{true, false, true, false, true},
|
||||||
|
{true, true, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, true, true, true, false}
|
||||||
|
},
|
||||||
|
// 1 (ASCII 49)
|
||||||
|
{
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, true, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, true, true, true, false}
|
||||||
|
},
|
||||||
|
// 2 (ASCII 50)
|
||||||
|
{
|
||||||
|
{false, true, true, true, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, false, false, false, true},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{true, true, true, true, true}
|
||||||
|
},
|
||||||
|
// 3 (ASCII 51)
|
||||||
|
{
|
||||||
|
{false, true, true, true, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, false, false, false, true},
|
||||||
|
{false, false, true, true, false},
|
||||||
|
{false, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, true, true, true, false}
|
||||||
|
},
|
||||||
|
// 4 (ASCII 52)
|
||||||
|
{
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, true, true, false},
|
||||||
|
{false, true, false, true, false},
|
||||||
|
{true, false, false, true, false},
|
||||||
|
{true, true, true, true, true},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, false, true, false}
|
||||||
|
},
|
||||||
|
// 5 (ASCII 53)
|
||||||
|
{
|
||||||
|
{true, true, true, true, true},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, true, true, true, false},
|
||||||
|
{false, false, false, false, true},
|
||||||
|
{false, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, true, true, true, false}
|
||||||
|
},
|
||||||
|
// 6 (ASCII 54)
|
||||||
|
{
|
||||||
|
{false, false, true, true, false},
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, true, true, true, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, true, true, true, false}
|
||||||
|
},
|
||||||
|
// 7 (ASCII 55)
|
||||||
|
{
|
||||||
|
{true, true, true, true, true},
|
||||||
|
{false, false, false, false, true},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{false, true, false, false, false}
|
||||||
|
},
|
||||||
|
// 8 (ASCII 56)
|
||||||
|
{
|
||||||
|
{false, true, true, true, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, true, true, true, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, true, true, true, false}
|
||||||
|
},
|
||||||
|
// 9 (ASCII 57)
|
||||||
|
{
|
||||||
|
{false, true, true, true, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, true, true, true, true},
|
||||||
|
{false, false, false, false, true},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, true, true, false, false}
|
||||||
|
},
|
||||||
|
// : (ASCII 58)
|
||||||
|
{
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, true, true, false, false},
|
||||||
|
{false, true, true, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, true, true, false, false},
|
||||||
|
{false, true, true, false, false},
|
||||||
|
{false, false, false, false, false}
|
||||||
|
},
|
||||||
|
// ; (ASCII 59)
|
||||||
|
{
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, true, true, false, false},
|
||||||
|
{false, true, true, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, true, true, false},
|
||||||
|
{false, false, true, true, false},
|
||||||
|
{false, true, true, false, false}
|
||||||
|
},
|
||||||
|
// < (ASCII 60)
|
||||||
|
{
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, false, true, false}
|
||||||
|
},
|
||||||
|
// = (ASCII 61)
|
||||||
|
{
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{true, true, true, true, true},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{true, true, true, true, true},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false}
|
||||||
|
},
|
||||||
|
// > (ASCII 62)
|
||||||
|
{
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, false, false, true},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, true, false, false, false}
|
||||||
|
},
|
||||||
|
// ? (ASCII 63)
|
||||||
|
{
|
||||||
|
{false, true, true, true, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, false, false, false, true},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, true, false, false}
|
||||||
|
},
|
||||||
|
// @ (ASCII 64)
|
||||||
|
{
|
||||||
|
{false, true, true, true, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, false, false, false, true},
|
||||||
|
{false, true, true, false, true},
|
||||||
|
{true, false, true, false, true},
|
||||||
|
{true, false, true, true, true},
|
||||||
|
{false, true, true, false, false}
|
||||||
|
},
|
||||||
|
// A (ASCII 65)
|
||||||
|
{
|
||||||
|
{false, true, true, true, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, true, true, true, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true}
|
||||||
|
},
|
||||||
|
// B (ASCII 66)
|
||||||
|
{
|
||||||
|
{true, true, true, true, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, true, true, true, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, true, true, true, false}
|
||||||
|
},
|
||||||
|
// C (ASCII 67)
|
||||||
|
{
|
||||||
|
{false, true, true, true, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, true, true, true, false}
|
||||||
|
},
|
||||||
|
// D (ASCII 68)
|
||||||
|
{
|
||||||
|
{true, true, true, true, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, true, true, true, false}
|
||||||
|
},
|
||||||
|
// E (ASCII 69)
|
||||||
|
{
|
||||||
|
{true, true, true, true, true},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, true, true, true, false},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, true, true, true, true}
|
||||||
|
},
|
||||||
|
// F (ASCII 70)
|
||||||
|
{
|
||||||
|
{true, true, true, true, true},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, true, true, true, false},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, false, false, false, false}
|
||||||
|
},
|
||||||
|
// G (ASCII 71)
|
||||||
|
{
|
||||||
|
{false, true, true, true, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, false, true, true, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, true, true, true, true}
|
||||||
|
},
|
||||||
|
// H (ASCII 72)
|
||||||
|
{
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, true, true, true, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true}
|
||||||
|
},
|
||||||
|
// I (ASCII 73)
|
||||||
|
{
|
||||||
|
{false, true, true, true, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, true, true, true, false}
|
||||||
|
},
|
||||||
|
// J (ASCII 74)
|
||||||
|
{
|
||||||
|
{false, false, true, true, true},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{true, false, false, true, false},
|
||||||
|
{false, true, true, false, false}
|
||||||
|
},
|
||||||
|
// K (ASCII 75)
|
||||||
|
{
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, true, false},
|
||||||
|
{true, false, true, false, false},
|
||||||
|
{true, true, false, false, false},
|
||||||
|
{true, false, true, false, false},
|
||||||
|
{true, false, false, true, false},
|
||||||
|
{true, false, false, false, true}
|
||||||
|
},
|
||||||
|
// L (ASCII 76)
|
||||||
|
{
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, true, true, true, true}
|
||||||
|
},
|
||||||
|
// M (ASCII 77)
|
||||||
|
{
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, true, false, true, true},
|
||||||
|
{true, false, true, false, true},
|
||||||
|
{true, false, true, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true}
|
||||||
|
},
|
||||||
|
// N (ASCII 78)
|
||||||
|
{
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, true, false, false, true},
|
||||||
|
{true, false, true, false, true},
|
||||||
|
{true, false, false, true, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true}
|
||||||
|
},
|
||||||
|
// O (ASCII 79)
|
||||||
|
{
|
||||||
|
{false, true, true, true, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, true, true, true, false}
|
||||||
|
},
|
||||||
|
// P (ASCII 80)
|
||||||
|
{
|
||||||
|
{true, true, true, true, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, true, true, true, false},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, false, false, false, false}
|
||||||
|
},
|
||||||
|
// Q (ASCII 81)
|
||||||
|
{
|
||||||
|
{false, true, true, true, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, true, false, true},
|
||||||
|
{true, false, false, true, false},
|
||||||
|
{false, true, true, false, true}
|
||||||
|
},
|
||||||
|
// R (ASCII 82)
|
||||||
|
{
|
||||||
|
{true, true, true, true, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, true, true, true, false},
|
||||||
|
{true, false, true, false, false},
|
||||||
|
{true, false, false, true, false},
|
||||||
|
{true, false, false, false, true}
|
||||||
|
},
|
||||||
|
// S (ASCII 83)
|
||||||
|
{
|
||||||
|
{false, true, true, true, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{false, true, true, true, false},
|
||||||
|
{false, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, true, true, true, false}
|
||||||
|
},
|
||||||
|
// T (ASCII 84)
|
||||||
|
{
|
||||||
|
{true, true, true, true, true},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false}
|
||||||
|
},
|
||||||
|
// U (ASCII 85)
|
||||||
|
{
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, true, true, true, false}
|
||||||
|
},
|
||||||
|
// V (ASCII 86)
|
||||||
|
{
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, true, false, true, false},
|
||||||
|
{false, false, true, false, false}
|
||||||
|
},
|
||||||
|
// W (ASCII 87)
|
||||||
|
{
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, true, false, true},
|
||||||
|
{true, false, true, false, true},
|
||||||
|
{true, true, false, true, true},
|
||||||
|
{true, false, false, false, true}
|
||||||
|
},
|
||||||
|
// X (ASCII 88)
|
||||||
|
{
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, true, false, true, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, true, false, true, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true}
|
||||||
|
},
|
||||||
|
// Y (ASCII 89)
|
||||||
|
{
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, true, false, true, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false}
|
||||||
|
},
|
||||||
|
// Z (ASCII 90)
|
||||||
|
{
|
||||||
|
{true, true, true, true, true},
|
||||||
|
{false, false, false, false, true},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, true, true, true, true}
|
||||||
|
},
|
||||||
|
// [ (ASCII 91)
|
||||||
|
{
|
||||||
|
{false, true, true, true, false},
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{false, true, true, true, false}
|
||||||
|
},
|
||||||
|
// \ (ASCII 92)
|
||||||
|
{
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, false, false, true},
|
||||||
|
{false, false, false, false, true}
|
||||||
|
},
|
||||||
|
// ] (ASCII 93)
|
||||||
|
{
|
||||||
|
{false, true, true, true, false},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, true, true, true, false}
|
||||||
|
},
|
||||||
|
// ^ (ASCII 94)
|
||||||
|
{
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, true, false, true, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false}
|
||||||
|
},
|
||||||
|
// _ (ASCII 95)
|
||||||
|
{
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{true, true, true, true, true}
|
||||||
|
},
|
||||||
|
// ` (ASCII 96)
|
||||||
|
{
|
||||||
|
{false, true, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false}
|
||||||
|
},
|
||||||
|
// a (ASCII 97)
|
||||||
|
{
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, true, true, true, false},
|
||||||
|
{false, false, false, false, true},
|
||||||
|
{false, true, true, true, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, true, true, true, true}
|
||||||
|
},
|
||||||
|
// b (ASCII 98)
|
||||||
|
{
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, false, true, true, false},
|
||||||
|
{true, true, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, true, true, true, false}
|
||||||
|
},
|
||||||
|
// c (ASCII 99)
|
||||||
|
{
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, true, true, true, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, true, true, true, false}
|
||||||
|
},
|
||||||
|
// d (ASCII 100)
|
||||||
|
{
|
||||||
|
{false, false, false, false, true},
|
||||||
|
{false, false, false, false, true},
|
||||||
|
{false, true, true, false, true},
|
||||||
|
{true, false, false, true, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, true, true, true, true}
|
||||||
|
},
|
||||||
|
// e (ASCII 101)
|
||||||
|
{
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, true, true, true, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, true, true, true, true},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{false, true, true, true, false}
|
||||||
|
},
|
||||||
|
// f (ASCII 102)
|
||||||
|
{
|
||||||
|
{false, false, true, true, false},
|
||||||
|
{false, true, false, false, true},
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{true, true, true, false, false},
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{false, true, false, false, false}
|
||||||
|
},
|
||||||
|
// g (ASCII 103)
|
||||||
|
{
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, true, true, true, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, true, true, true, true},
|
||||||
|
{false, false, false, false, true},
|
||||||
|
// Note: This would typically have a 7th row showing the descender
|
||||||
|
},
|
||||||
|
// h (ASCII 104)
|
||||||
|
{
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, false, true, true, false},
|
||||||
|
{true, true, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true}
|
||||||
|
},
|
||||||
|
// i (ASCII 105)
|
||||||
|
{
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, true, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, true, true, true, false}
|
||||||
|
},
|
||||||
|
// j (ASCII 106)
|
||||||
|
{
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, true, true, false},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{true, false, false, true, false}
|
||||||
|
},
|
||||||
|
// k (ASCII 107)
|
||||||
|
{
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, false, false, true, false},
|
||||||
|
{true, false, true, false, false},
|
||||||
|
{true, true, false, false, false},
|
||||||
|
{true, false, true, false, false},
|
||||||
|
{true, false, false, true, false}
|
||||||
|
},
|
||||||
|
// l (ASCII 108)
|
||||||
|
{
|
||||||
|
{false, true, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, true, true, true, false}
|
||||||
|
},
|
||||||
|
// m (ASCII 109)
|
||||||
|
{
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{true, true, false, true, false},
|
||||||
|
{true, false, true, false, true},
|
||||||
|
{true, false, true, false, true},
|
||||||
|
{true, false, true, false, true},
|
||||||
|
{true, false, true, false, true}
|
||||||
|
},
|
||||||
|
// n (ASCII 110)
|
||||||
|
{
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{true, false, true, true, false},
|
||||||
|
{true, true, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true}
|
||||||
|
},
|
||||||
|
// o (ASCII 111)
|
||||||
|
{
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, true, true, true, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, true, true, true, false}
|
||||||
|
},
|
||||||
|
// p (ASCII 112)
|
||||||
|
{
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{true, true, true, true, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, true, true, true, false},
|
||||||
|
{true, false, false, false, false}
|
||||||
|
},
|
||||||
|
// q (ASCII 113)
|
||||||
|
{
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, true, true, false, true},
|
||||||
|
{true, false, false, true, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, true, true, true, true},
|
||||||
|
{false, false, false, false, true}
|
||||||
|
},
|
||||||
|
// r (ASCII 114)
|
||||||
|
{
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{true, false, true, true, false},
|
||||||
|
{true, true, false, false, true},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{true, false, false, false, false}
|
||||||
|
},
|
||||||
|
// s (ASCII 115)
|
||||||
|
{
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, true, true, true, false},
|
||||||
|
{true, false, false, false, false},
|
||||||
|
{false, true, true, true, false},
|
||||||
|
{false, false, false, false, true},
|
||||||
|
{true, true, true, true, false}
|
||||||
|
},
|
||||||
|
// t (ASCII 116)
|
||||||
|
{
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{true, true, true, true, false},
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{false, true, false, false, true},
|
||||||
|
{false, false, true, true, false}
|
||||||
|
},
|
||||||
|
// u (ASCII 117)
|
||||||
|
{
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, true, true},
|
||||||
|
{false, true, true, false, true}
|
||||||
|
},
|
||||||
|
// v (ASCII 118)
|
||||||
|
{
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, true, false, true, false},
|
||||||
|
{false, false, true, false, false}
|
||||||
|
},
|
||||||
|
// w (ASCII 119)
|
||||||
|
{
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, true, false, true},
|
||||||
|
{true, false, true, false, true},
|
||||||
|
{false, true, false, true, false}
|
||||||
|
},
|
||||||
|
// x (ASCII 120)
|
||||||
|
{
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, true, false, true, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, true, false, true, false},
|
||||||
|
{true, false, false, false, true}
|
||||||
|
},
|
||||||
|
// y (ASCII 121)
|
||||||
|
{
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{true, false, false, false, true},
|
||||||
|
{false, true, true, true, true},
|
||||||
|
{false, false, false, false, true}
|
||||||
|
},
|
||||||
|
// z (ASCII 122)
|
||||||
|
{
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{true, true, true, true, true},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{true, true, true, true, true}
|
||||||
|
},
|
||||||
|
// { (ASCII 123)
|
||||||
|
{
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, false, true, false}
|
||||||
|
},
|
||||||
|
// | (ASCII 124)
|
||||||
|
{
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false}
|
||||||
|
},
|
||||||
|
// } (ASCII 125)
|
||||||
|
{
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, false, true, false, false},
|
||||||
|
{false, true, false, false, false}
|
||||||
|
},
|
||||||
|
// ~ (ASCII 126)
|
||||||
|
{
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, true, false, false, false},
|
||||||
|
{true, false, true, false, true},
|
||||||
|
{false, false, false, true, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false},
|
||||||
|
{false, false, false, false, false}
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -3,10 +3,7 @@
|
|||||||
#include <WebServer.h>
|
#include <WebServer.h>
|
||||||
#include <ArduinoJson.h>
|
#include <ArduinoJson.h>
|
||||||
#include "index.h"
|
#include "index.h"
|
||||||
|
#include "fonts.h"
|
||||||
// For ESP8266, you would use:
|
|
||||||
// #include <ESP8266WiFi.h>
|
|
||||||
// #include <ESP8266WebServer.h>
|
|
||||||
|
|
||||||
#ifdef __AVR__
|
#ifdef __AVR__
|
||||||
#include <avr/power.h> // Required for 16 MHz Adafruit Trinket
|
#include <avr/power.h> // Required for 16 MHz Adafruit Trinket
|
||||||
@@ -19,70 +16,63 @@
|
|||||||
|
|
||||||
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
|
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
|
||||||
|
|
||||||
struct Pixel
|
unsigned char saved_images_count = 0;
|
||||||
{
|
|
||||||
unsigned short x = 0;
|
|
||||||
unsigned short y = 0;
|
|
||||||
uint32_t color;
|
|
||||||
};
|
|
||||||
|
|
||||||
Pixel new_image[PANEL_PIXEL_COUNT][PANEL_PIXEL_COUNT];
|
uint32_t saved_imaged[12][16][16] = {
|
||||||
|
|
||||||
// dont change this
|
|
||||||
Pixel saved_imaged[12][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}
|
0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 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}
|
0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 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}
|
0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 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}
|
0xFF000000, 0xFF000000, 0xFF000000, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFF000000, 0xFF000000, 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}
|
0xFF000000, 0xFF000000, 0xFF000000, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFF000000, 0xFF000000, 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}
|
0xFF000000, 0xFF000000, 0xFFFFFF00, 0xFFFFFF00, 0xFF000000, 0xFF000000, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFF000000, 0xFF000000, 0xFFFFFF00, 0xFFFFFF00, 0xFF000000, 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}
|
0xFF000000, 0xFF000000, 0xFFFFFF00, 0xFFFFFF00, 0xFF000000, 0xFF000000, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFF000000, 0xFF000000, 0xFFFFFF00, 0xFFFFFF00, 0xFF000000, 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}
|
0xFF000000, 0xFF000000, 0xFFFFFF00, 0xFFFFFF00, 0xFF000000, 0xFF000000, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFF000000, 0xFF000000, 0xFFFFFF00, 0xFFFFFF00, 0xFF000000, 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}
|
0xFF000000, 0xFF000000, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFF000000, 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}
|
0xFF000000, 0xFF000000, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFF000000, 0xFF000000, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFF000000, 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}
|
0xFF000000, 0xFF000000, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFF000000, 0xFF000000, 0xFFFFFF00, 0xFF000000, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFF000000, 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}
|
0xFF000000, 0xFF000000, 0xFF000000, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFF000000, 0xFF000000, 0xFFFFFF00, 0xFF000000, 0xFFFFFF00, 0xFFFFFF00, 0xFF000000, 0xFF000000, 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}
|
0xFF000000, 0xFF000000, 0xFF000000, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFF000000, 0xFF000000, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFF000000, 0xFF000000, 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}
|
0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFFFFFF00, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 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}
|
0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 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}
|
0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000, 0xFF000000
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
void setPixel(unsigned short x, unsigned short y, uint32_t color)
|
|
||||||
|
void setPixel(unsigned short y, unsigned short x, uint32_t color)
|
||||||
{
|
{
|
||||||
if (y % 2 == 1)
|
if (y % 2 == 1)
|
||||||
{
|
{
|
||||||
@@ -91,48 +81,35 @@ 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)
|
void drawImageFromSaved(unsigned short offset_x, unsigned short offset_y, unsigned char i) {
|
||||||
{
|
|
||||||
return saved_imaged[i][row][col];
|
|
||||||
}
|
|
||||||
|
|
||||||
Pixel getPixel(int row, int col)
|
|
||||||
{
|
|
||||||
return new_image[row][col];
|
|
||||||
}
|
|
||||||
|
|
||||||
void drawImageFromArr(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 = getPixel(row, col);
|
uint32_t px_color = saved_imaged[i][row][col];
|
||||||
if (px.color == 0) {
|
if (!px_color) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
unsigned short pixel_x = col + offset_x;
|
||||||
int pixel_x = px.x + offset_x;
|
unsigned short pixel_y = row + 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, px.color);
|
setPixel(pixel_x, pixel_y, px_color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void drawImageFromSaved(int offset_x, int offset_y, unsigned char i) {
|
void drawCharacter(const bool (*character)[5], unsigned char offset_x, unsigned char offset_y, uint32_t color) {
|
||||||
for (int row = 0; row < 16; row++) {
|
for (unsigned char row = 0; row < 7; row++) {
|
||||||
for (int col = 0; col < 16; col++) {
|
for (unsigned char col = 0; col < 5; col++) {
|
||||||
Pixel px = getPixelFromSaved(i, row, col);
|
if (character[row][col]) {
|
||||||
if (px.color == 0) {
|
unsigned short pixel_x = col + offset_x;
|
||||||
continue;
|
unsigned short pixel_y = row + 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 &&
|
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, px.color);
|
setPixel(pixel_x, pixel_y, color);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -140,10 +117,13 @@ void drawImageFromSaved(int offset_x, int offset_y, unsigned char i) {
|
|||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
|
|
||||||
pixels.begin();
|
pixels.begin();
|
||||||
pixels.clear();
|
pixels.clear();
|
||||||
|
|
||||||
|
drawCharacter(font7x5[0], 7, 5, 0xFFFFFFFF);
|
||||||
|
|
||||||
pixels.show();
|
pixels.show();
|
||||||
drawImageFromSaved(0, 0, 0);
|
|
||||||
start_server();
|
start_server();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+178
@@ -0,0 +1,178 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
font-family: Arial, sans-serif;
|
||||||
|
padding: 20px;
|
||||||
|
max-width: 800px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
text-align: center;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.grid-container {
|
||||||
|
display: inline-grid;
|
||||||
|
grid-template-columns: repeat(5, 25px);
|
||||||
|
gap: 5px;
|
||||||
|
margin: 20px 0;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.checkbox-cell {
|
||||||
|
width: 25px;
|
||||||
|
height: 25px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.controls {
|
||||||
|
margin: 20px 0;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
padding: 10px 20px;
|
||||||
|
font-size: 16px;
|
||||||
|
cursor: pointer;
|
||||||
|
background-color: #0969da;
|
||||||
|
color: white;
|
||||||
|
border: none;
|
||||||
|
border-radius: 6px;
|
||||||
|
margin: 0 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
button:hover {
|
||||||
|
background-color: #0860ca;
|
||||||
|
}
|
||||||
|
|
||||||
|
.json-output {
|
||||||
|
margin-top: 20px;
|
||||||
|
padding: 15px;
|
||||||
|
background-color: #f6f8fa;
|
||||||
|
border: 1px solid #d0d7de;
|
||||||
|
border-radius: 6px;
|
||||||
|
font-family: 'Courier New', monospace;
|
||||||
|
font-size: 12px;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
word-wrap: break-word;
|
||||||
|
max-height: 400px;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hidden {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.copy-button {
|
||||||
|
background-color: #2da44e;
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.copy-button:hover {
|
||||||
|
background-color: #2c974b;
|
||||||
|
}
|
||||||
|
|
||||||
|
.copied-message {
|
||||||
|
color: #2da44e;
|
||||||
|
margin-left: 10px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="grid-container" id="checkboxGrid"></div>
|
||||||
|
|
||||||
|
<div class="controls">
|
||||||
|
<button onclick="generateJSON()">Generate JSON</button>
|
||||||
|
<button onclick="clearGrid()">Clear All</button>
|
||||||
|
<button onclick="checkAll()">Check All</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="jsonOutputContainer" class="hidden">
|
||||||
|
<h3>JSON Output:</h3>
|
||||||
|
<div class="json-output" id="jsonOutput"></div>
|
||||||
|
<button class="copy-button" onclick="copyToClipboard()">Copy to Clipboard</button>
|
||||||
|
<span id="copiedMessage" class="copied-message hidden">✓ Copied!</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
// Initialize the 7x5 grid (7 rows, 5 columns)
|
||||||
|
function initializeGrid() {
|
||||||
|
const grid = document.getElementById('checkboxGrid');
|
||||||
|
grid.innerHTML = '';
|
||||||
|
|
||||||
|
for (let i = 0; i < 7; i++) {
|
||||||
|
for (let j = 0; j < 5; j++) {
|
||||||
|
const checkbox = document.createElement('input');
|
||||||
|
checkbox.type = 'checkbox';
|
||||||
|
checkbox.className = 'checkbox-cell';
|
||||||
|
checkbox.dataset.row = i;
|
||||||
|
checkbox.dataset.col = j;
|
||||||
|
grid.appendChild(checkbox);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Generate JSON from checkbox states
|
||||||
|
function generateJSON() {
|
||||||
|
const checkboxes = document.querySelectorAll('.checkbox-cell');
|
||||||
|
const grid = [];
|
||||||
|
|
||||||
|
// Create 2D array (7 rows x 5 columns)
|
||||||
|
for (let i = 0; i < 7; i++) {
|
||||||
|
grid[i] = [];
|
||||||
|
for (let j = 0; j < 5; j++) {
|
||||||
|
const checkbox = document.querySelector(`[data-row="${i}"][data-col="${j}"]`);
|
||||||
|
grid[i][j] = checkbox.checked;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Display JSON
|
||||||
|
const jsonOutput = document.getElementById('jsonOutput');
|
||||||
|
const jsonOutputContainer = document.getElementById('jsonOutputContainer');
|
||||||
|
jsonOutput.textContent = JSON.stringify(grid, null, 2);
|
||||||
|
jsonOutputContainer.classList.remove('hidden');
|
||||||
|
|
||||||
|
// Hide copied message
|
||||||
|
document.getElementById('copiedMessage').classList.add('hidden');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Clear all checkboxes
|
||||||
|
function clearGrid() {
|
||||||
|
const checkboxes = document.querySelectorAll('.checkbox-cell');
|
||||||
|
checkboxes.forEach(cb => cb.checked = false);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check all checkboxes
|
||||||
|
function checkAll() {
|
||||||
|
const checkboxes = document.querySelectorAll('.checkbox-cell');
|
||||||
|
checkboxes.forEach(cb => cb.checked = true);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Copy JSON to clipboard
|
||||||
|
function copyToClipboard() {
|
||||||
|
const jsonText = document.getElementById('jsonOutput').textContent;
|
||||||
|
navigator.clipboard.writeText(jsonText).then(() => {
|
||||||
|
const message = document.getElementById('copiedMessage');
|
||||||
|
message.classList.remove('hidden');
|
||||||
|
setTimeout(() => {
|
||||||
|
message.classList.add('hidden');
|
||||||
|
}, 2000);
|
||||||
|
}).catch(err => {
|
||||||
|
alert('Failed to copy to clipboard');
|
||||||
|
console.error('Copy failed:', err);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Initialize grid on page load
|
||||||
|
initializeGrid();
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
+27
-2
@@ -1,8 +1,21 @@
|
|||||||
|
#include <WiFi.h>
|
||||||
|
#include <WebServer.h>
|
||||||
|
#include <ArduinoJson.h>
|
||||||
|
|
||||||
const char* ssid = "PPIA";
|
const char* ssid = "PPIA";
|
||||||
const char* password = "pawelpdaldonejta";
|
const char* password = "pawelpdaldonejta";
|
||||||
|
|
||||||
WebServer server(80);
|
WebServer server(80);
|
||||||
|
|
||||||
|
// Declare the new_image buffer to temporarily store uploaded image
|
||||||
|
struct Pixel {
|
||||||
|
unsigned short x;
|
||||||
|
unsigned short y;
|
||||||
|
uint32_t color;
|
||||||
|
};
|
||||||
|
|
||||||
|
Pixel new_image[16][16];
|
||||||
|
|
||||||
void handleRoot() {
|
void handleRoot() {
|
||||||
server.send(200, "text/html", index_html);
|
server.send(200, "text/html", index_html);
|
||||||
}
|
}
|
||||||
@@ -20,15 +33,27 @@ void handleUpload() {
|
|||||||
for (JsonVariant val : arr) {
|
for (JsonVariant val : arr) {
|
||||||
int col = 0;
|
int col = 0;
|
||||||
for (JsonVariant val2 : val.as<JsonArray>()) {
|
for (JsonVariant val2 : val.as<JsonArray>()) {
|
||||||
long color = strtol(val2.as<const char*>(), NULL, 16);
|
unsigned long color = strtoul(val2.as<const char*>(), NULL, 16);
|
||||||
new_image[row][col] = { (unsigned short)col, (unsigned short)row, (uint32_t)color };
|
new_image[row][col] = { (unsigned short)col, (unsigned short)row, (uint32_t)color };
|
||||||
col++;
|
col++;
|
||||||
}
|
}
|
||||||
row++;
|
row++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Save the new image to the next slot
|
||||||
|
if (saved_images_count < 11) { // Ensure we don't overflow (max index is 11)
|
||||||
|
saved_images_count++;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Copy new_image data to saved_imaged array
|
||||||
|
for (int r = 0; r < 16; r++) {
|
||||||
|
for (int c = 0; c < 16; c++) {
|
||||||
|
saved_imaged[saved_images_count][r][c] = new_image[r][c].color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pixels.clear();
|
pixels.clear();
|
||||||
drawImageFromArr(0, 0);
|
drawImageFromSaved(0, 0, saved_images_count);
|
||||||
pixels.show();
|
pixels.show();
|
||||||
server.send(200, "text/plain", "OK");
|
server.send(200, "text/plain", "OK");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user