-
Notifications
You must be signed in to change notification settings - Fork 7.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Silent failure of timer_isr_callback_add when using multiple timers (IDFGH-8155) #9651
Comments
Thanks @kristinpaget for reporting this issue, we will propagate the failure caused by |
* timer: propagate isr register failure Closes espressif#9651 * mcpwm: fix multiplication overflow in converting us to compare ticks Closes espressif#9648 * heap: remove misleading info about malloc being equivalent to heap_caps_malloc(p, MALLOC_CAP_8BIT) The actual memory allocated for malloc() depends on a lot of factors, see heap_caps_malloc_default() Closes espressif#7659 * esp-rom: fixed error in miniz header documention for tdefl_init Closes espressif#8435 * temperature_sensor: Fix issue that value is not accurate on ESP32-S3 * esp_https_ota: fix bug where `http_client_init_cb` is called after `esp_http_client_perform()` instead of before. Closes espressif#9581 * Tasmota changes * Fix linker error for C3 * Avoid bootloop if chip is unknown In case the PSIRAM chip is unknown, return an error and disable PSRAM instead of calling abort() and causing a bootloop * Support for xiaomi single core ESP32 * Fix linker error for rom_temp_to_power * fix linker error r_lld_ext_adv_dynamic_aux_pti_process * Hide download percent when not interactive * list(APPEND esptool_elf2image_args --dont-append-digest) * Use native Apple ARM toolchains * add package.json * add submodules * 8575d75 Co-authored-by: morris <maoshengrong@espressif.com> Co-authored-by: Marius Vikhammer <marius.vikhammer@espressif.com> Co-authored-by: Cao Sen Miao <caosenmiao@espressif.com> Co-authored-by: Harshit Malpani <harshit.malpani@espressif.com> Co-authored-by: Mahavir Jain <mahavir@espressif.com>
* timer: propagate isr register failure Closes espressif#9651 * mcpwm: fix multiplication overflow in converting us to compare ticks Closes espressif#9648 * heap: remove misleading info about malloc being equivalent to heap_caps_malloc(p, MALLOC_CAP_8BIT) The actual memory allocated for malloc() depends on a lot of factors, see heap_caps_malloc_default() Closes espressif#7659 * esp-rom: fixed error in miniz header documention for tdefl_init Closes espressif#8435 * temperature_sensor: Fix issue that value is not accurate on ESP32-S3 * esp_https_ota: fix bug where `http_client_init_cb` is called after `esp_http_client_perform()` instead of before. Closes espressif#9581 * Tasmota changes * Fix linker error for C3 * Avoid bootloop if chip is unknown In case the PSIRAM chip is unknown, return an error and disable PSRAM instead of calling abort() and causing a bootloop * Support for xiaomi single core ESP32 * Fix linker error for rom_temp_to_power * fix linker error r_lld_ext_adv_dynamic_aux_pti_process * Hide download percent when not interactive * list(APPEND esptool_elf2image_args --dont-append-digest) * Use native Apple ARM toolchains * add package.json * add submodules * 8575d75 * Arduino tinyusb v0.14.0 stripped Co-authored-by: morris <maoshengrong@espressif.com> Co-authored-by: Marius Vikhammer <marius.vikhammer@espressif.com> Co-authored-by: Cao Sen Miao <caosenmiao@espressif.com> Co-authored-by: Harshit Malpani <harshit.malpani@espressif.com> Co-authored-by: Mahavir Jain <mahavir@espressif.com>
Maybe I have the same issue? Timer start in task:
Timer init:
ISR:
|
Answers checklist.
IDF version.
v4.4.2
Operating System used.
Linux
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
No response
Development Kit.
ESP32-WROOM custom board
Power Supply used.
USB
What is the expected behavior?
When using timer callbacks with multiple timers configured as LEVEL3 interrupts, the second call to timer_isr_callback_add() fails silently without producing an error and without enabling the second interrupt. If a call to timer_isr_callback_add() results in an interrupt not being enabled then I expect an error to be returned.
What is the actual behavior?
No error is returned by timer_isr_callback_add() leading high-level code to believe that the ISR has been successfully enabled when it has not.
Steps to reproduce.
Compile and run the following code example:
The second call to timer_isr_callback_add fails silently without enabling the interrupt for the second timer.
If the
#define INTR_FLAGS
line at the top is modified to ESP_INTR_FLAG_LEVEL2 then the code succeeds and both timers work as expected.Debug Logs.
More Information.
No response
The text was updated successfully, but these errors were encountered: