Error esp_int_wdt.h

Good morning.
My code suddnly doesn't work. I am afraid that the problem is that I've updated a library or something similar. Unfortunately I don't remember what I've uploaded and I don't know how to go back.

I tried to use version 1.4.0, 1.6.0 and 1.7.0 of TTN_esp32.h but the error is always

c:\Users\elena\Desktop\Documents\Arduino\libraries\TTN_esp32\src\TTN_BLE_esp32.cpp:4:10: fatal error: esp_int_wdt.h: No such file or directory
4 | #include <esp_int_wdt.h>
| ^~~~~~~~~~~~~~~
compilation terminated.
exit status 1

Compilation error: exit status 1

Where the esp_int_wdt.h is supposed to be? 

if you have any advice, thank you in advance.

did you select the right board before compiling?

yes, this code has runned correctly since today

remove and reinstall the ESP32 toolset...

How can I do this?

in the IDE, you go to the board management menu, select the package for ESP32 and there is a button to remove it.

Once removed, proceed again to install

double check you have the right URL in the IDE's preferences for the ESP32. it should be

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

Thank you! now with a older version works!

1 Like

For anyone interested in updating the library code to work with versions >=3.0.0 of the "esp32" boards platform, there is an explanation of the cause of the breakage and migration here:

https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32/migration-guides/release-5.x/5.0/system.html#:~:text=the%20previous%20include%20path%20%23include%20"esp_int_wdt.h"%20has%20been%20removed

  • The Interrupt Watchdog API (functions/types/macros prefixed with esp_int_wdt_) has been made into a private API. Thus, the previous include path #include "esp_int_wdt.h" has been removed. If users still require usage of the Interrupt Watchdog API (though this is not recommended), it can be included via #include "esp_private/esp_int_wdt.h".

This gives the impression that we might be able to work around the breakage by simply changing line 4 of src/TTN_BLE_esp32.cpp from:

#include <esp_int_wdt.h>

To:

#include <esp_private/esp_int_wdt.h>

However, after that change, the library still fails to compile with version 3.0.1 of the "esp32" boards platform, with different errors. So some additional porting would be needed.

In addition to the migration guide for the breaking changes in the ESP-IDF framework that were introduced via the bump from version 4.4 to 5.1 of that framework in the 3.0.0 release of the "esp32" boards platform, there is also another migration guide from the platform developers here that might be useful to anyone attempting the additional porting:

https://github.com/espressif/arduino-esp32/blob/master/docs/en/migration_guides/2.x_to_3.0.rst#migration-from-2x-to-30

I, too, am having trouble with the wdt errors (yes, I ignored the Captain America warning about "So you clicked the update button").

I've tried uninstalling the IDE and reinstalling after deleting all the relevant directories -- still no go. I've tried versions 2.0.0 and 2.3.2. I have not tried any 3.x versions.

I put your path into the IDE's File/Preferences/Additional boards manager URLs, but I'm not sure that's the correct place for it. You said "in the IDE's preferences for the ESP32". That made me wonder if there's a preferences setting for each specific board, and I'm not aware of it. Can you clear it up for me by any chance? Thx in advance.

It's not the IDE version that matters. (2.3.2 is the latest; there is no v3)

It's the version of the board platform. For the main "esp32" board, the latest is 3.0.4. Try reverting to the latest v2: 2.0.17, using the IDE's Boards Manager

I had the same issue and your solution helped me. Thanks!

Thanks very much. This worked.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.