Spreadsheets are super handy for this kind of work. Its a kind of Meta pixel mapping and It saves me a TON of time. I have so far created a full class for the Wow Suits LED matrix. It includes 3 major blocks of data
- pixelGrid: An array containing the pixel map. This is a 40 x 64 item array of 3 byte blocks (7,600 bytes). All rendering and processing is done directly to this block of data. its the bitmap representation of the suits LEDs
- LEDs: An array containing n (number of LEDs in the suit) number of bytes x 4, 1 start frame of 4 bytes, set to 0, and 1 end frame of 4 bytes, set to 255. Each LED block has a start byte, which contains brightness data for that LED, and 3 bytes each representing Red, Green & Blue. This is the data block that is sent out to the suit via SPI (7,688 Bytes)
- rowMap: An array containing a map of physical addresses of each LED relative to its position on the suit. This is a 40 x 64 item array of 1 short Integer (5,120 bytes). This is used to find out the physical ID of an LED in the real LED data block, LEDs that is sent out via SPI to the suit
I have created a full set of functions to set up the data structures, render horizontal and vertical lines of any given length, and a smooth dimmer function for frame blending.
On another note, I have received the MIC IN audio modules I was waiting on from eBay…
|I really hope to utilize this and make the suit and masks audio responsive.|