9 years, 10 months ago.

Add updates for 32x32?

Please consider adding the following changes to support 32x32 panels:

In function: void RGBmatrixPanel::begin(void)

    _refresh.attach_us(this,(&RGBmatrixPanel::updateDisplay), 300 );

I found that 1ms was not long enough, at least on an LPC1768, to complete the cycle before being called again, causing the system to hang. Changing it from 100 to 300 fixed this, with no noticeable flicker.

In function: void RGBmatrixPanel::updateDisplay(void)

  ...
    } else if(plane == 1) {
        _rowBus.write(row);
        // afm: Arduino version has this, ARM doesn't
        if ( nRows > 8 )
          if (row & 0x8) _d.write( 1 );
          else           _d.write( 0 );
    }

Thank you for this useful conversion. It saved me from having to do it myself. Aside from the two minor changes mentioned, it has worked very well.

Question relating to:

Adafruit-RGB_matrix_Panel(32*16) LEDMatrix

1 Answer

7 years, 11 months ago.

Those changes worked for me on a 32x32 panel. On a Nucleo L152RE I had to use 500 (That looked very flickery) on a Nucleo L152RE, 200 on a F334 and 150 on a F401 so the 300 value you mention would work for both of these.