Can bus driver can_transmit gets timeout sometime in high can bus load.
Posted: Wed Aug 22, 2018 8:40 pm
Hi,
Latest can driver :
https://github.com/espressif/esp-idf/bl ... iver/can.c
//Todo: Check data overrun bug where interrupt does not trigger even when enabled ???
I call can_transmit every 1ms with timeout of zero ms.
can_intr_handler_tx does not gets trigger ever time?
Is it correct implementation. Does anyone test this can bus driver.
Can anyone check interrupt handler code. It is doing standard way to register interrupt handler using free RTOS esp32 method.
My can tx queue =100
Can Interrupt is not triggering frequent enough to empty queue.
Any idea why.
My can bus is load is about 50%.
msgs_to_tx is going above max tx queue=100. can_intr_handler_tx does not get call in real time to decrements this variable on time.
Does any one experience with interrupt handling on esp32.
D (123435) ESP32: status_info(msgs_to_tx=101)
D (123436) ESP32: status_info(tx_error_counter=0)
D (123436) ESP32: status_info(tx_failed_count=0)
D (123440) ESP32: status_info(arb_lost_count=0)
Can receive works without any issue even in high speed can bus load.
Kindly I need input. I am stuck.
Thanks
Naeem
Latest can driver :
https://github.com/espressif/esp-idf/bl ... iver/can.c
//Todo: Check data overrun bug where interrupt does not trigger even when enabled ???
I call can_transmit every 1ms with timeout of zero ms.
can_intr_handler_tx does not gets trigger ever time?
Is it correct implementation. Does anyone test this can bus driver.
Can anyone check interrupt handler code. It is doing standard way to register interrupt handler using free RTOS esp32 method.
My can tx queue =100
Can Interrupt is not triggering frequent enough to empty queue.
Any idea why.
My can bus is load is about 50%.
msgs_to_tx is going above max tx queue=100. can_intr_handler_tx does not get call in real time to decrements this variable on time.
Does any one experience with interrupt handling on esp32.
D (123435) ESP32: status_info(msgs_to_tx=101)
D (123436) ESP32: status_info(tx_error_counter=0)
D (123436) ESP32: status_info(tx_failed_count=0)
D (123440) ESP32: status_info(arb_lost_count=0)
Can receive works without any issue even in high speed can bus load.
Kindly I need input. I am stuck.
Thanks
Naeem