diff options
author | Sam Guyer <sam.guyer@gmail.com> | 2020-12-20 20:37:14 +0300 |
---|---|---|
committer | Sam Guyer <sam.guyer@gmail.com> | 2020-12-20 20:37:14 +0300 |
commit | c8d9d2cb06333c627870b5d11a1572fcf9ee5c92 (patch) | |
tree | 554ff57552d2ff8f77fdeabc46b1a71d4de6e237 | |
parent | 3e54f4bc495208425d49cdb24861bd6db4af687b (diff) |
Rolling back the code that bails out when we miss the deadline to fill the buffer
-rw-r--r-- | src/platforms/esp/32/clockless_rmt_esp32.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/platforms/esp/32/clockless_rmt_esp32.cpp b/src/platforms/esp/32/clockless_rmt_esp32.cpp index 1a36f60a..20db5351 100644 --- a/src/platforms/esp/32/clockless_rmt_esp32.cpp +++ b/src/platforms/esp/32/clockless_rmt_esp32.cpp @@ -353,13 +353,15 @@ void IRAM_ATTR ESP32RMTController::fillNext(bool check_time) // Serial.println(mCur); // rmt_tx_stop(mRMT_channel); // Inline the code for rmt_tx_stop, so it can be placed in IRAM + /** -- Go back to the original strategy of just setting mCur = mSize + and letting the regular 'stop' process happen * mRMT_mem_start = 0; RMT.int_ena.val &= ~(1 << (mRMT_channel * 3)); RMT.conf_ch[mRMT_channel].conf1.tx_start = 0; RMT.conf_ch[mRMT_channel].conf1.mem_rd_rst = 1; RMT.conf_ch[mRMT_channel].conf1.mem_rd_rst = 0; - mCur = mSize; // Just to make sure - return; + */ + mCur = mSize; } } } @@ -388,10 +390,9 @@ void IRAM_ATTR ESP32RMTController::fillNext(bool check_time) pixeldata <<= 1; } } else { - // -- No more data; signal to the RMT we are done - for (uint32_t j = 0; j < 32; j++) { - *pItem++ = 0; - } + // -- No more data; signal to the RMT we are done by filling the + // rest of the buffer with zeros + *pItem++ = 0; } } |