@@ -164,7 +164,7 @@ volatile bool frame_received = false;
164164
165165uint8_t *renderbuf1;
166166uint8_t *renderbuf2;
167- uint8_t *currentRenderBuffer = renderbuf1 ;
167+ uint8_t *currentRenderBuffer;
168168
169169/* *
170170 * @brief Send data via SPI, transfer data via DMA
@@ -282,6 +282,18 @@ bool spi_send_pix(uint8_t *pixbuf, uint32_t crc32, bool skip_when_busy) {
282282 return true ;
283283}
284284
285+ /* *
286+ * @brief Is being called when SPI DMA transfer has finished
287+ *
288+ */
289+ void spi_dma_handler () {
290+ // Clear the interrupt request
291+ dma_hw->ints1 = 1u << spi_dma_channel;
292+
293+ finish_spi ();
294+ spi_dma_running = false ;
295+ }
296+
285297/* *
286298 * @brief Count a clock using different PIO programs defined in dmd_counter.pio
287299 *
@@ -356,18 +368,6 @@ DmdType detect_dmd() {
356368 return DMD_UNKNOWN;
357369}
358370
359- /* *
360- * @brief Is being called when SPI DMA transfer has finished
361- *
362- */
363- void spi_dma_handler () {
364- // Clear the interrupt request
365- dma_hw->ints1 = 1u << spi_dma_channel;
366-
367- finish_spi ();
368- spi_dma_running = false ;
369- }
370-
371371uint64_t convert_2bit_to_4bit_fast (uint32_t input) {
372372 static const uint64_t lut[4 ] = {0x0 , 0x5 , 0xA , 0xF };
373373 uint64_t result = 0 ;
@@ -960,6 +960,7 @@ bool dmdreader_spi_send() {
960960void dmdreader_loopback_init (uint8_t *buffer1, uint8_t *buffer2) {
961961 renderbuf1 = buffer1;
962962 renderbuf2 = buffer2;
963+ currentRenderBuffer = renderbuf1;
963964}
964965
965966bool dmdreader_loopback_render () {
0 commit comments