fixed rmt receive data pointer position. (#2353)

This commit is contained in:
HanCheol Cho 2019-01-22 01:29:32 -08:00 committed by Me No Dev
parent 00a546ee06
commit 8cbc60edbc

View File

@ -637,13 +637,13 @@ static void IRAM_ATTR _rmt_isr(void* arg)
data += MAX_DATA_PER_CHANNEL*(g_rmt_objects[ch].buffers); data += MAX_DATA_PER_CHANNEL*(g_rmt_objects[ch].buffers);
} }
} }
uint32_t *data_received = data;
for (i = 0; i < g_rmt_objects[ch].data_size; i++ ) { for (i = 0; i < g_rmt_objects[ch].data_size; i++ ) {
*data++ = RMTMEM.chan[ch].data32[i].val; *data++ = RMTMEM.chan[ch].data32[i].val;
} }
if (g_rmt_objects[ch].cb) { if (g_rmt_objects[ch].cb) {
// actually received data ptr // actually received data ptr
uint32_t * data = g_rmt_objects[ch].data_ptr; (g_rmt_objects[ch].cb)(data_received, _rmt_get_mem_len(ch));
(g_rmt_objects[ch].cb)(data, _rmt_get_mem_len(ch));
// restart the reception // restart the reception
RMT.conf_ch[ch].conf1.mem_owner = 1; RMT.conf_ch[ch].conf1.mem_owner = 1;