diff --git a/src/apa102/apa102.c b/src/apa102/apa102.c index 6579eed6..4366dbd7 100644 --- a/src/apa102/apa102.c +++ b/src/apa102/apa102.c @@ -125,10 +125,14 @@ upm_result_t apa102_set_leds_brightness(apa102_context dev, uint16_t s_index, ui upm_result_t apa102_refresh(apa102_context dev) { assert(dev != NULL); if(!dev->cs) { - mraa_spi_write_buf(dev->spi, dev->buffer, dev->framelength); + uint8_t* recv = + mraa_spi_write_buf(dev->spi, dev->buffer, dev->framelength); + if (recv != NULL) free(recv); } else { mraa_gpio_write(dev->cs, 1); - mraa_spi_write_buf(dev->spi, dev->buffer, dev->framelength); + uint8_t* recv = + mraa_spi_write_buf(dev->spi, dev->buffer, dev->framelength); + if (recv != NULL) free(recv); mraa_gpio_write(dev->cs, 0); } return UPM_SUCCESS; diff --git a/src/apa102/apa102.cxx b/src/apa102/apa102.cxx index 264c7418..46b7323e 100644 --- a/src/apa102/apa102.cxx +++ b/src/apa102/apa102.cxx @@ -165,7 +165,8 @@ void APA102::pushState(void) { CSOn(); - m_spi->write(m_leds, m_frameLength); + uint8_t* recv = m_spi->write(m_leds, m_frameLength); + if (recv != NULL) free(recv); CSOff(); }