Task Watchdog Triggered in ESP32 Application Using u8g2 Library
Posted: Fri Nov 03, 2023 6:27 pm
Hello,
I am writing a program that, among many things, keeps an LCD screen constantly updated. I have a clock on the screen that displays hours, minutes, and seconds. Thus, I end up calling my screen update function at intervals of no more than 1000ms to show the new time. To update the screen, I am using the u8g2 library: github.com/olikraus/u8g2.
However, after developing a significant part of my application, I noticed that when I don't call the routine to update the screen, the task watchdog gets triggered a little over 5000ms, but it doesn't reset my CPU.
I don't recall activating the Task Watchdog Timer (WDT) at any point in my application, so I'm wondering if the u8g2 library might be using some WDT unbeknownst to me.
My question is: how can I prevent this triggering?
Here is the log:
Any help would be appreciated. Thank you!
I am writing a program that, among many things, keeps an LCD screen constantly updated. I have a clock on the screen that displays hours, minutes, and seconds. Thus, I end up calling my screen update function at intervals of no more than 1000ms to show the new time. To update the screen, I am using the u8g2 library: github.com/olikraus/u8g2.
However, after developing a significant part of my application, I noticed that when I don't call the routine to update the screen, the task watchdog gets triggered a little over 5000ms, but it doesn't reset my CPU.
I don't recall activating the Task Watchdog Timer (WDT) at any point in my application, so I'm wondering if the u8g2 library might be using some WDT unbeknownst to me.
My question is: how can I prevent this triggering?
Here is the log:
- E (342118) task_wdt: Task watchdog got triggered. The following tasks/users did not reset the watchdog in time:
- E (342118) task_wdt: - IDLE (CPU 0)
- E (342118) task_wdt: Tasks currently running:
- E (342118) task_wdt: CPU 0: main
- E (342118) task_wdt: CPU 1: IDLE
- E (342118) task_wdt: Print CPU 0 (current core) backtrace
- Backtrace: 0x400DE163:0x3FFB0E90 0x400DE2EA:0x3FFB0EB0 0x40082C21:0x3FFB0ED0 0x4008A3B3:0x3FFB5400 0x400DE4F6:0x3FFB5420 0x400D5F89:0x3FFB5460 0x400F4C68:0x3FFB54B0 0x4008A0CD:0x3FFB54E0
- 0x400de163: task_wdt_timeout_handling at /home/wka/esp/esp-idf/components/esp_system/task_wdt/task_wdt.c:461 (discriminator 3)
- 0x400de2ea: task_wdt_isr at /home/wka/esp/esp-idf/components/esp_system/task_wdt/task_wdt.c:585
- 0x40082c21: _xt_lowint1 at /home/wka/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/xtensa_vectors.S:1226
- 0x4008a3b3: vPortClearInterruptMaskFromISR at /home/wka/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos/portmacro.h:568
- (inlined by) vPortExitCritical at /home/wka/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:532
- 0x400de4f6: esp_task_wdt_reset at /home/wka/esp/esp-idf/components/esp_system/task_wdt/task_wdt.c:791
- 0x400d5f89: app_main at /home/wka/WKA-Eletronics/AIC/AIC-P2/main/main.c:79 (discriminator 15)
- 0x400f4c68: main_task at /home/wka/esp/esp-idf/components/freertos/app_startup.c:208 (discriminator 13)
- 0x4008a0cd: vPortTaskWrapper at /home/wka/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:162