fly135 wrote:I want to put a task WD in my project that as a last ditch effort will reboot the device if the supervising task is hung.
If you call
esp_task_wdt_init() with the panic argument set to true, the task WDT will trip the IDF "panic handler" if it is triggered.
The default configuration for the panic handler is to dump a backtrace and then reset the system.
Does that achieve your goal?
fly135 wrote:I looked through the source and it appears that the "esp_task_wdt_isr_user_handler" feature is not supported at all.
This feature was added recently, so if you're reading the "latest" documentation then it may refer to things which aren't in older ESP-IDF versions.
The "weak linked" implementation is here:
https://github.com/espressif/esp-idf/bl ... wdt.c#L121
If you implement a function with this name (without the "__attribute__((weak))") in a source file of your project, it will become the handler. The only requirement is that this source file must get linked into the project - this means that the function has to be in a source file which also has some other thing (function, variable) which is used by the project (ie the app_main() routine, or a function which is called from somewhere, etc). Otherwise the linker may never look in the object file at all, and doesn't see the replacement handler to link it.