Request: support for 128 pixel height (kMatrixHeight)

Hi Louis,

I’m happy to report that my project works with 128x128 on Teensy 3.6! Thanks for the suggestions!

Even with the increased array sizing to handle transitions between each pixel, It compiles with room to spare:

Sketch uses 105452 bytes (10%) of program storage space. Maximum is 1048576 bytes.
Global variables use 198900 bytes (75%) of dynamic memory, leaving 63244 bytes for local variables. Maximum is 262144 bytes.

Sample photos (ignore the blue tape holding the panels together):
Google Photos
Google Photos

It was refreshing at 47FPS, with visible flicker. I’m managing 59FPS (less noticable flicker) by setting the optimize option to “fastest”. I ran it in overclock(240MHz) and got up to 67FPS. I’m working on a few tweaks to see if I can increase the FPS w/o overclocking. Any suggestions would be appreciated.

Here’s my init code:

//SmartMatrix:
#include <SmartLEDShieldV4.h>
#include <SmartMatrix3.h>
#define COLOR_DEPTH 24 // known working: 24, 48 - If the sketch uses type rgb24 directly, COLOR_DEPTH must be 24
const uint8_t kMatrixWidth = 128; // known working: 32, 64, 96, 128
const uint8_t kMatrixHeight = 128; // known working: 16, 32, 48, 64
const uint8_t kRefreshDepth = 24; // known working: 24, 36, 48 (higher number will result in visible flicker)
const uint8_t kDmaBufferRows = 4; // known working: 2-4, use 2 to save memory, more to keep from dropping frames and automatically lowering refresh rate
const uint8_t kPanelType = SMARTMATRIX_HUB75_64ROW_MOD32SCAN;
const uint8_t kMatrixOptions = (SMARTMATRIX_OPTIONS_NONE); // see SmartMatrix - Overview for options
const uint8_t kBackgroundLayerOptions = (SM_BACKGROUND_OPTIONS_NONE);
const uint8_t kScrollingLayerOptions = (SM_SCROLLING_OPTIONS_NONE);
const uint8_t kIndexedLayerOptions = (SM_INDEXED_OPTIONS_NONE);

Cheers,

-Vince