ESP32 `sha_parallel_engine.h` troubleshooting
If you have an outdated ESP32 core, you will probably see the message like this while compiling the code:
ResolveLibrary(sha/sha_parallel_engine.h)
-> candidates: []ESP32_Code:59:85: fatal error: sha/sha_parallel_engine.h: No such file or directory
#include "sha/sha_parallel_engine.h" // Include hardware accelerated hashing library
^
compilation terminated.
To solve that, you can either:
Update your ESP32 core (recommended for the future)
Open Arduino IDE > File > Preferences > In the Additional boards URL field put:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json
After doing that, update your ESP32 core: Arduino IDE > Tools > Board > Boards Manager > Type esp32 > Install version 2.0.1
You should now be able to compile the code without any problems.
Or use the older library version
Go to line 59 of the ESP32_Code.ino that says
#include "sha/sha_parallel_engine.h" // Include hardware accelerated hashing library
Comment it:
//#include "sha/sha_parallel_engine.h" // Include hardware accelerated hashing library
And enable the old library (uncomment line 58):
#include "hwcrypto/sha.h"
You should now be able to compile the code. Keep in mind using the old library will yield to worse performance.
Thank you very much, fix the issue I have, God bless you, keep it up.
It looks like replacing the "parallel" for "hwcrypto" library, will make the ESP32 run at 1 core. with an ESP8266 it generates 10.2 kH/s, the ESP32 generates 22.5 kH/s ESP8266 is single core runs at 80 MHz, ESP32 dual-core at 160MHz. So I expect an ESP32 to generate more than 40 kH/s
To solve this I installed a newer ESP32 core, version 2.0.1, it is using both core's now. HashRate grows from 22 to 35kH/s and it compiles fine with: sha/sha_parallel_engine.h in preferences I now use: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json, http://arduino.esp8266.com/stable/package_esp8266com_index.json after this install or update to the latest ESP32 in board manager.
How can I make ESP32 core run Duino only on one core, for the others to perform its normal functions in an IoT network?
i do that but it says that it is error
Hi, can't find these libraries, where are located ?
Update M5Stack Core to latest version, but with "sha/sha_parallel_engine.h" I keep getting pool connection refused errors. Wentt back to a previous core, and "hwcrypto/sha.h" was able to connect without any problems. Any ideas?