forked from espressif/esp-idf
rmt_legacy: don't use early log in isr handler
...but use ESP_DRAM_LOGx instead Closes https://github.com/espressif/esp-idf/issues/5414
This commit is contained in:
@@ -817,10 +817,10 @@ static void IRAM_ATTR rmt_driver_isr_default(void *arg)
|
|||||||
BaseType_t res = xRingbufferSendFromISR(p_rmt->rx_buf, (void *)addr, item_len * 4, &HPTaskAwoken);
|
BaseType_t res = xRingbufferSendFromISR(p_rmt->rx_buf, (void *)addr, item_len * 4, &HPTaskAwoken);
|
||||||
#endif
|
#endif
|
||||||
if (res == pdFALSE) {
|
if (res == pdFALSE) {
|
||||||
ESP_EARLY_LOGE(TAG, "RMT RX BUFFER FULL");
|
ESP_DRAM_LOGE(TAG, "RMT RX BUFFER FULL");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
ESP_EARLY_LOGE(TAG, "RMT RX BUFFER ERROR");
|
ESP_DRAM_LOGE(TAG, "RMT RX BUFFER ERROR");
|
||||||
}
|
}
|
||||||
|
|
||||||
#if SOC_RMT_SUPPORT_RX_PINGPONG
|
#if SOC_RMT_SUPPORT_RX_PINGPONG
|
||||||
@@ -855,7 +855,7 @@ static void IRAM_ATTR rmt_driver_isr_default(void *arg)
|
|||||||
p_rmt->rx_item_start_idx = 0;
|
p_rmt->rx_item_start_idx = 0;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
ESP_EARLY_LOGE(TAG, "---RX buffer too small: %d", sizeof(p_rmt->rx_item_buf));
|
ESP_DRAM_LOGE(TAG, "---RX buffer too small: %d", sizeof(p_rmt->rx_item_buf));
|
||||||
}
|
}
|
||||||
rmt_ll_clear_interrupt_status(hal->regs, RMT_LL_EVENT_RX_THRES(channel));
|
rmt_ll_clear_interrupt_status(hal->regs, RMT_LL_EVENT_RX_THRES(channel));
|
||||||
}
|
}
|
||||||
@@ -894,8 +894,8 @@ static void IRAM_ATTR rmt_driver_isr_default(void *arg)
|
|||||||
if (p_rmt) {
|
if (p_rmt) {
|
||||||
// Reset the receiver's write/read addresses to prevent endless err interrupts.
|
// Reset the receiver's write/read addresses to prevent endless err interrupts.
|
||||||
rmt_ll_rx_reset_pointer(rmt_contex.hal.regs, channel);
|
rmt_ll_rx_reset_pointer(rmt_contex.hal.regs, channel);
|
||||||
ESP_EARLY_LOGD(TAG, "RMT RX channel %d error", channel);
|
ESP_DRAM_LOGD(TAG, "RMT RX channel %d error", channel);
|
||||||
ESP_EARLY_LOGD(TAG, "status: 0x%08x", rmt_ll_rx_get_status_word(rmt_contex.hal.regs, channel));
|
ESP_DRAM_LOGD(TAG, "status: 0x%08x", rmt_ll_rx_get_status_word(rmt_contex.hal.regs, channel));
|
||||||
}
|
}
|
||||||
rmt_ll_clear_interrupt_status(hal->regs, RMT_LL_EVENT_RX_ERROR(channel));
|
rmt_ll_clear_interrupt_status(hal->regs, RMT_LL_EVENT_RX_ERROR(channel));
|
||||||
}
|
}
|
||||||
@@ -909,8 +909,8 @@ static void IRAM_ATTR rmt_driver_isr_default(void *arg)
|
|||||||
if (p_rmt) {
|
if (p_rmt) {
|
||||||
// Reset the transmitter's write/read addresses to prevent endless err interrupts.
|
// Reset the transmitter's write/read addresses to prevent endless err interrupts.
|
||||||
rmt_ll_tx_reset_pointer(rmt_contex.hal.regs, channel);
|
rmt_ll_tx_reset_pointer(rmt_contex.hal.regs, channel);
|
||||||
ESP_EARLY_LOGD(TAG, "RMT TX channel %d error", channel);
|
ESP_DRAM_LOGD(TAG, "RMT TX channel %d error", channel);
|
||||||
ESP_EARLY_LOGD(TAG, "status: 0x%08x", rmt_ll_tx_get_status_word(rmt_contex.hal.regs, channel));
|
ESP_DRAM_LOGD(TAG, "status: 0x%08x", rmt_ll_tx_get_status_word(rmt_contex.hal.regs, channel));
|
||||||
}
|
}
|
||||||
rmt_ll_clear_interrupt_status(hal->regs, RMT_LL_EVENT_TX_ERROR(channel));
|
rmt_ll_clear_interrupt_status(hal->regs, RMT_LL_EVENT_TX_ERROR(channel));
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user