AaronLiddiment / LEDText

FastLED Flexible Text Message Class requires LEDMatrix Class
89 stars 32 forks source link

Creating a xtree matrix #40

Open rudyv opened 8 months ago

rudyv commented 8 months ago

Hi,

Would it be possible to create a xmas tree matrix model as this map: buitenboom-mapper.xlsx

I would like to use a part of the matrix, say from 58 all the way to 152 without using 90 and 91 and 73,74 and 107. So that we have a matrix inside the matrix of 6 rows of 15 pixels.

Any hints on this idea ?

KR,

AaronLiddiment commented 8 months ago

The simplest method would be to use my classes with a HORIZONTAL_MATRIX type defined with a width of 15 and a height of 6. But to keep this as a seperate array of Leds and not use it directly with FastLED. Then you would need to copy over Led data from my Matrix class Leds to your FastLed Led array using a translation array. So something like: int Translation[90] = { 58, 59 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 152, 151, 150, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138 }; for (int i=0; i<sizeof(Translation)/sizeof(Translation[0]); i++) { FastLedAry[Translation[i]] = MatrixLed(i); }

The alternative way would be to modify the mXY in LEDMatrix.h with the above translation table statically built in and then to modify all the return()'s to return the Translated data using the x/y calc as the index into the translation array.