@@ -130,16 +130,6 @@ static void turnLed(int idx, bool on) {
130130 }
131131}
132132
133- static uint32_t reverse (uint32_t x)
134- {
135- x = ((x >> 1 ) & 0x55555555u ) | ((x & 0x55555555u ) << 1 );
136- x = ((x >> 2 ) & 0x33333333u ) | ((x & 0x33333333u ) << 2 );
137- x = ((x >> 4 ) & 0x0f0f0f0fu ) | ((x & 0x0f0f0f0fu ) << 4 );
138- x = ((x >> 8 ) & 0x00ff00ffu ) | ((x & 0x00ff00ffu ) << 8 );
139- x = ((x >> 16 ) & 0xffffu ) | ((x & 0xffffu ) << 16 );
140- return x;
141- }
142-
143133// TODO: this is dangerous, use with care
144134#define loadSequence (frames ) loadWrapper(frames, sizeof (frames))
145135#define renderBitmap (bitmap, rows, columns ) loadPixels(&bitmap[0 ][0 ], rows*columns)
@@ -343,6 +333,15 @@ class ArduinoLEDMatrix
343333 bool _sequenceDone = false ;
344334 voidFuncPtr _callBack;
345335
336+ static uint32_t reverse (uint32_t x){
337+ x = ((x >> 1 ) & 0x55555555u ) | ((x & 0x55555555u ) << 1 );
338+ x = ((x >> 2 ) & 0x33333333u ) | ((x & 0x33333333u ) << 2 );
339+ x = ((x >> 4 ) & 0x0f0f0f0fu ) | ((x & 0x0f0f0f0fu ) << 4 );
340+ x = ((x >> 8 ) & 0x00ff00ffu ) | ((x & 0x00ff00ffu ) << 8 );
341+ x = ((x >> 16 ) & 0xffffu ) | ((x & 0xffffu ) << 16 );
342+ return x;
343+ }
344+
346345 static void turnOnLedISR (timer_callback_args_t *arg) {
347346 static volatile int i_isr = 0 ;
348347 turnLed (i_isr, ((framebuffer[i_isr >> 3 ] & (1 << (i_isr % 8 ))) != 0 ));
0 commit comments