In file included from /Users/hja/Documents/Arduino/0_1_Dshot_BIDIR_TEST/0_1_Dshot_BIDIR_TEST.ino:2:
/Users/hja/Documents/Arduino/libraries/DShot-rmt/src/DShotRMT.h:7:10: fatal error: driver/rmt_rx.h: No such file or directory
#include <driver/rmt_rx.h>
^~~~~~~~~~~~~~~~~
compilation terminated.
exit status 1
Compilation error: exit status 1
The author is very clear in his 'Readme' about support for ESPIDF 4 & 5 and made a special (extra) library for ESPIDF v4 environments. However I can't get the v4 lib to work neither.
Hence my question, is Arduino ESP32 supporting ESPIDF 5?
The official "Arduino ESP32 Boards" platform that adds support to Arduino IDE for the Nano ESP32 board is based on ESP-IDF version 4.4.7. ESP-IDF 4.x has a different RMT driver API than ESP-IDF 5.x:
If you need to use ESP-IDF 5.x with the Nano ESP32 board, you can use the 3rd party "esp32" boards platform instead of the "Arduino ESP32 Boards" platform. I'll provide instructions you can follow to do that:
The "esp32" boards platform is not maintained by the Arduino company. We recommend using the "Arduino ESP32 Boards" platform with the Nano ESP32 board for the highest level of stability and support.
Select Tools > Board > Boards Manager... from the Arduino IDE menus to open the "Boards Manager" view in the left side panel.
Find the "esp32" entry in the list of boards platforms.
Click the "INSTALL" button at the bottom of the entry.
Wait for the installation process to finish, as indicated by a notification at the bottom right corner of the Arduino IDE window:
Successfully installed platform ...
Select Tools > Board > esp32 > Arduino Nano ESP32 from the Arduino IDE menus.
Note that the "esp32" boards platform will now be used when you select Tools > Board > esp32 > Arduino Nano ESP32 from the Arduino IDE menus. If you instead want to use the "Arduino ESP32 Boards" platform, select Tools > Board > Arduino ESP32 Boards > Arduino Nano ESP32 from the Arduino IDE menus.
I'll add to this by explaining that the "Arduino ESP32 Boards" platform is a fork of the "esp32" boards platform. The "Arduino ESP32 Boards" platform is based on version 2.0.17 of the "esp32" platform, so this is the reason why it uses ESP-IDF 4.4.7 even though the latest version 3.2.1 of the "esp32" platform is based on ESP-IDF 5.4.2.
I gave it a try and the sketch compiled successfully for me. I am using the latest version 3.2.1 of the "esp32" platform, while you have 3.2.0. I don't have a specific reason to think that there is a problem with 3.2.0, but I do see there were some RMT-related changes in the "esp32" platform between 3.2.0 and 3.2.1 so it is possible. Anyway, it is a good idea to update anyway so I think it is worth a try. The reason you got an outdated version of the "esp32" platform when you followed the instructions I provided is because the 3.2.1 came out only yesterday and the data used to populate the Arduino IDE Boards Manager by default hasn't yet been updated. You can get the latest version by following these instructions:
Copy the URL shown under the "Stable release link" section of that page.
Select File > Preferences... (or Arduino IDE > Settings... for macOS users) from the Arduino IDE menus.
The "Preferences" dialog will open.
If there is already a URL for the ESP32 boards platform in the "Additional Boards Manager URLs" field of the "Preferences" dialog, delete it.
Add the URL you copied from the ESP32 boards platform installation instructions to the "Additional Boards Manager URLs" field. ⓘ If there are other URLs in the field, separate them with commas (,).
Click the "OK" button on the "Preferences" dialog.
The "Preferences" dialog will close.
You will now see a "Downloading index: ..." notification at the bottom right corner of the IDE window. Wait for that notification to close.
Select Tools > Board > Boards Manager... from the Arduino IDE menus to open the "Boards Manager" view in the left side panel.
Find the "esp32 by Espressif Systems" entry in the list of boards platforms.
Click the "UPDATE" button at the bottom of the entry.
Wait for the update process to finish, as indicated by a notification at the bottom right corner of the Arduino IDE window:
Successfully installed platform ...
Now try compiling the sketch again. Hopefully everything will work as expected this time.