Created
September 16, 2018 12:43
-
-
Save mozzhead164/3c29a881b9ac56f60a6063cf0223af9c to your computer and use it in GitHub Desktop.
LEDMatrix_Testing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include "FastLED.h" | |
#include "LEDMatrix.h" | |
#include "LEDText.h" | |
#include "FontMatrise.h" | |
#include "lookup.h" | |
#include "XYMap.h" | |
FASTLED_USING_NAMESPACE | |
#define MATRIX_WIDTH 55 | |
#define MATRIX_HEIGHT 16 | |
#define MATRIX_TYPE HORIZONTAL_MATRIX | |
cLEDMatrix<MATRIX_WIDTH, MATRIX_HEIGHT, MATRIX_TYPE> ledsM; | |
cLEDText ScrollingMsg; | |
#define DATA_PIN1 13 | |
#define DATA_PIN2 12 | |
#define DATA_PIN3 27 | |
#define DATA_PIN4 33 | |
#define DATA_PIN5 15 | |
#define DATA_PIN6 32 | |
#define DATA_PIN7 14 | |
#define DATA_PIN8 SCL | |
#define LED_TYPE WS2812B | |
#define COLOR_ORDER GRB | |
#define NUM_LEDS 872 | |
#define NUM_LEDS1 108 | |
#define NUM_LEDS2 109 | |
#define NUM_LEDS3 109 | |
#define NUM_LEDS4 109 | |
#define NUM_LEDS5 109 | |
#define NUM_LEDS6 110 | |
#define NUM_LEDS7 109 | |
#define NUM_LEDS8 109 | |
CRGBArray<NUM_LEDS> leds; | |
CRGBSet step_01 (leds( 0, 50) ); | |
CRGBSet step_02 (leds( 53, 107) ); | |
CRGBSet step_03 (leds(108, 161) ); | |
CRGBSet step_04 (leds(162, 216) ); | |
CRGBSet step_05 (leds(217, 270) ); | |
CRGBSet step_06 (leds(271, 325) ); | |
CRGBSet step_07 (leds(326, 379) ); | |
CRGBSet step_08 (leds(380, 434) ); | |
CRGBSet step_09 (leds(435, 488) ); | |
CRGBSet step_10 (leds(489, 543) ); | |
CRGBSet step_11 (leds(544, 598) ); | |
CRGBSet step_12 (leds(599, 653) ); | |
CRGBSet step_13 (leds(654, 707) ); | |
CRGBSet step_14 (leds(708, 762) ); | |
CRGBSet step_15 (leds(763, 816) ); | |
CRGBSet step_16 (leds(817, 871) ); | |
#define NUM_STEPS 16 | |
struct CRGB * stairsArray[NUM_STEPS] = { step_01, step_02, step_03, step_04, | |
step_05, step_06, step_07, step_08, | |
step_09, step_10, step_11, step_12, | |
step_13, step_14, step_15, step_16 }; | |
int NUM_LEDS_STEPS[NUM_STEPS] = { 53, 55, 54, 54, 54, 55, 54, 55, | |
54, 55, 55, 55, 54, 55, 54, 55 }; | |
#define BRIGHTNESS 199 | |
#define FRAMES_PER_SECOND 120 | |
#define FASTLED_SHOW_CORE 0 | |
static TaskHandle_t FastLEDshowTaskHandle = 0; | |
static TaskHandle_t userTaskHandle = 0; | |
uint8_t hue; | |
int16_t counter; | |
uint8_t angle = 0; | |
const unsigned char TxtDemo[] = { EFFECT_SCROLL_LEFT " LEFT SCROLL " | |
EFFECT_SCROLL_RIGHT " LLORCS THGIR" | |
EFFECT_SCROLL_DOWN " SCROLL DOWN SCROLL DOWN " EFFECT_FRAME_RATE "\x04" " SCROLL DOWN " EFFECT_FRAME_RATE "\x00" " " | |
EFFECT_SCROLL_UP " SCROLL UP SCROLL UP " EFFECT_FRAME_RATE "\x04" " SCROLL UP " EFFECT_FRAME_RATE "\x00" " " | |
EFFECT_CHAR_UP EFFECT_SCROLL_LEFT " UP" | |
EFFECT_CHAR_RIGHT " RIGHT" | |
EFFECT_CHAR_DOWN " DOWN" | |
EFFECT_CHAR_LEFT " LEFT" | |
EFFECT_HSV_CV "\x00\xff\xff\x40\xff\xff" EFFECT_CHAR_UP " HSV_CV 00-40" | |
EFFECT_HSV_CH "\x00\xff\xff\x40\xff\xff" " HSV_CH 00-40" | |
EFFECT_HSV_AV "\x00\xff\xff\x40\xff\xff" " HSV_AV 00-40" | |
EFFECT_HSV_AH "\x00\xff\xff\xff\xff\xff" " HSV_AH 00-FF" | |
" " EFFECT_HSV "\x00\xff\xff" "R" EFFECT_HSV "\x20\xff\xff" "A" EFFECT_HSV "\x40\xff\xff" "I" EFFECT_HSV "\x60\xff\xff" "N" EFFECT_HSV "\xe0\xff\xff" "B" EFFECT_HSV "\xc0\xff\xff" "O" | |
EFFECT_HSV "\xa0\xff\xff" "W" EFFECT_HSV "\x80\xff\xff" "S " EFFECT_DELAY_FRAMES "\x00\x96" EFFECT_RGB "\xff\xff\xff" }; | |
void FastLEDshowESP32() | |
{ | |
if (userTaskHandle == 0) { | |
// -- Store the handle of the current task, so that the show task can | |
// notify it when it's done | |
userTaskHandle = xTaskGetCurrentTaskHandle(); | |
// -- Trigger the show task | |
xTaskNotifyGive(FastLEDshowTaskHandle); | |
// -- Wait to be notified that it's done | |
const TickType_t xMaxBlockTime = pdMS_TO_TICKS( 200 ); | |
ulTaskNotifyTake(pdTRUE, xMaxBlockTime); | |
userTaskHandle = 0; | |
} | |
} | |
void FastLEDshowTask(void *pvParameters) | |
{ | |
// -- Run forever... | |
for(;;) { | |
// -- Wait for the trigger | |
ulTaskNotifyTake(pdTRUE, portMAX_DELAY); | |
// -- Do the show (synchronously) | |
FastLED.show(); | |
// -- Notify the calling task | |
xTaskNotifyGive(userTaskHandle); | |
} | |
} | |
void remap() | |
{ | |
for(int y = 0; y < MATRIX_HEIGHT; y++) | |
for (uint16_t x = 0; x < MATRIX_WIDTH; x++) { | |
uint16_t i = XY(x,y); | |
if(i < NUM_LEDS) leds[i] = ledsM(x,y); | |
} | |
} | |
void setup() | |
{ | |
FastLED.addLeds<LED_TYPE,DATA_PIN1,GRB>(leds, 0, NUM_LEDS1).setCorrection(TypicalLEDStrip); | |
FastLED.addLeds<LED_TYPE,DATA_PIN2,GRB>(leds, 108, NUM_LEDS2).setCorrection(TypicalLEDStrip); | |
FastLED.addLeds<LED_TYPE,DATA_PIN3,GRB>(leds, 217, NUM_LEDS3).setCorrection(TypicalLEDStrip); | |
FastLED.addLeds<LED_TYPE,DATA_PIN4,GRB>(leds, 326, NUM_LEDS4).setCorrection(TypicalLEDStrip); | |
FastLED.addLeds<LED_TYPE,DATA_PIN5,GRB>(leds, 435, NUM_LEDS5).setCorrection(TypicalLEDStrip); | |
FastLED.addLeds<LED_TYPE,DATA_PIN6,GRB>(leds, 544, NUM_LEDS6).setCorrection(TypicalLEDStrip); | |
FastLED.addLeds<LED_TYPE,DATA_PIN7,GRB>(leds, 654, NUM_LEDS7).setCorrection(TypicalLEDStrip); | |
FastLED.addLeds<LED_TYPE,DATA_PIN8,GRB>(leds, 763, NUM_LEDS8).setCorrection(TypicalLEDStrip); | |
//FastLED.addLeds<LED_TYPE,DATA_PIN1,GRB>(ledsM[ 0], NUM_LEDS1).setCorrection(TypicalLEDStrip); | |
//FastLED.addLeds<LED_TYPE,DATA_PIN2,GRB>(ledsM[108], NUM_LEDS2).setCorrection(TypicalLEDStrip); | |
//FastLED.addLeds<LED_TYPE,DATA_PIN3,GRB>(ledsM[217], NUM_LEDS3).setCorrection(TypicalLEDStrip); | |
//FastLED.addLeds<LED_TYPE,DATA_PIN4,GRB>(ledsM[326], NUM_LEDS4).setCorrection(TypicalLEDStrip); | |
//FastLED.addLeds<LED_TYPE,DATA_PIN5,GRB>(ledsM[435], NUM_LEDS5).setCorrection(TypicalLEDStrip); | |
//FastLED.addLeds<LED_TYPE,DATA_PIN6,GRB>(ledsM[544], NUM_LEDS6).setCorrection(TypicalLEDStrip); | |
//FastLED.addLeds<LED_TYPE,DATA_PIN7,GRB>(ledsM[654], NUM_LEDS7).setCorrection(TypicalLEDStrip); | |
//FastLED.addLeds<LED_TYPE,DATA_PIN8,GRB>(ledsM[763], NUM_LEDS8).setCorrection(TypicalLEDStrip); | |
// set master brightness control | |
FastLED.setBrightness(BRIGHTNESS); | |
xTaskCreatePinnedToCore(FastLEDshowTask, "FastLEDshowTask", 2048, NULL, 2, &FastLEDshowTaskHandle, FASTLED_SHOW_CORE); | |
hue = 0; | |
counter = 0; | |
ScrollingMsg.SetFont(MatriseFontData); | |
ScrollingMsg.Init(&ledsM, ledsM.Width(), ScrollingMsg.FontHeight() + 1, 0, 0); | |
ScrollingMsg.SetText((unsigned char *)TxtDemo, sizeof(TxtDemo) - 1); | |
ScrollingMsg.SetTextColrOptions(COLR_RGB | COLR_SINGLE, 0xff, 0x00, 0xff); | |
} | |
void loop() | |
{ | |
// ledMatrix_Test(); | |
// ledMatrix_Test2(); | |
ledText_test(); | |
FastLEDshowESP32(); | |
// FastLED.show(); | |
FastLED.delay(1000/FRAMES_PER_SECOND); | |
} | |
void ledMatrix_Test() | |
{ | |
int16_t sx, sy, x, y; | |
uint8_t h; | |
FastLED.clear(); | |
h = hue; | |
// ** Fill LED's with horizontal stripes | |
for (y=0; y<ledsM.Height(); ++y) | |
{ | |
ledsM.DrawLine(0, y, ledsM.Width() - 1, y, CHSV(h, 255, 255)); | |
h+=16; | |
} | |
hue+=3; | |
if (counter < 375) ledsM.HorizontalMirror(); | |
counter++; | |
if (counter >= 2250) counter = 0; | |
remap(); | |
// FastLED.show(leds); | |
FastLEDshowESP32(); | |
} | |
void ledMatrix_Test2() | |
{ | |
uint8_t h = sin8(angle); | |
ledsM.ShiftLeft(); | |
for (int16_t y=ledsM.Height()-1; y>=0; --y) | |
{ | |
ledsM(ledsM.Width()-1, y) = CHSV(h, 255, 255); | |
h += 32; | |
} | |
angle += 3; | |
remap(); | |
// FastLED.show(leds); | |
FastLEDshowESP32(); | |
FastLED.delay(20); | |
} | |
void ledText_test() | |
{ | |
if (ScrollingMsg.UpdateText() == -1) | |
ScrollingMsg.SetText((unsigned char *)TxtDemo, sizeof(TxtDemo) - 1); | |
else | |
remap(); | |
// FastLED.show(leds); | |
FastLEDshowESP32(); | |
FastLED.delay(10); | |
} | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const uint16_t XYLookup[] = { | |
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 872, 873, | |
53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, | |
108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 874, | |
162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, | |
217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 875, | |
271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, | |
326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 876, | |
380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, | |
435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 877, | |
489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, | |
544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, | |
599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, | |
654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 878, | |
708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, | |
763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 879, | |
817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871 | |
}; | |
// step_01 - leds[ 0] | leds[ 52] -> NUM_LEDS = 53 | |
// step_02 - leds[ 53] | leds[107] -> NUM_LEDS = 55 | |
// step_03 - leds[108] | leds[161] -> NUM_LEDS = 54 | |
// step_04 - leds[162] | leds[216] -> NUM_LEDS = 54 | |
// step_05 - leds[217] | leds[270] -> NUM_LEDS = 54 | |
// step_06 - leds[271] | leds[325] -> NUM_LEDS = 55 | |
// step_07 - leds[326] | leds[379] -> NUM_LEDS = 54 | |
// step_08 - leds[380] | leds[434] -> NUM_LEDS = 55 | |
// step_09 - leds[435] | leds[488] -> NUM_LEDS = 54 | |
// step_10 - leds[489] | leds[543] -> NUM_LEDS = 55 | |
// step_11 - leds[544] | leds[598] -> NUM_LEDS = 55 | |
// step_12 - leds[599] | leds[653] -> NUM_LEDS = 55 | |
// step_13 - leds[654] | leds[707] -> NUM_LEDS = 54 | |
// step_14 - leds[708] | leds[762] -> NUM_LEDS = 55 | |
// step_15 - leds[763] | leds[816] -> NUM_LEDS = 54 | |
// step_16 - leds[817] | leds[871] -> NUM_LEDS = 55 | |
#define NUM_LEDS_01 53 | |
#define NUM_LEDS_02 55 | |
#define NUM_LEDS_03 54 | |
#define NUM_LEDS_04 54 | |
#define NUM_LEDS_05 54 | |
#define NUM_LEDS_06 55 | |
#define NUM_LEDS_07 54 | |
#define NUM_LEDS_08 55 | |
#define NUM_LEDS_09 54 | |
#define NUM_LEDS_10 55 | |
#define NUM_LEDS_11 55 | |
#define NUM_LEDS_12 55 | |
#define NUM_LEDS_13 54 | |
#define NUM_LEDS_14 55 | |
#define NUM_LEDS_15 54 | |
#define NUM_LEDS_16 55 | |
// CRGBSet step_17 (led_array()); | |
// CRGBSet step_18 (led_array()); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Params for width and height | |
const uint8_t kMatrixWidth = 55; | |
const uint8_t kMatrixHeight = 16; | |
#define kMatrixSerpentineLayout false | |
#define NUM_LEDS (kMatrixWidth * kMatrixHeight) | |
CRGB leds_M[ NUM_LEDS ]; | |
#define LAST_VISIBLE_LED 871 | |
uint16_t XY (uint16_t x, uint16_t y) { | |
// any out of bounds address maps to the first hidden pixel | |
if ( (x >= kMatrixWidth) || (y >= kMatrixHeight) ) { | |
return (LAST_VISIBLE_LED + 1); | |
} | |
const uint16_t XYTable[] = { | |
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 872, 873, | |
53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, | |
108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 874, | |
162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, | |
217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 875, | |
271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, | |
326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 876, | |
380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, | |
435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 877, | |
489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, | |
544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, | |
599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, | |
654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 878, | |
708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, | |
763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 879, | |
817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871 | |
}; | |
uint16_t i = (y * kMatrixWidth-1) + x; | |
uint16_t j = XYTable[i]; | |
return j; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Awesome!