Further to above, after a few builds of Espruino ( with make clean && BOARD=ESP32 make) having added some console prints to /targets/esp32/jshardwarePulse.c I am pretty sure that this code is not executed on a digitalPulse function call.
With similiar tests it does look like the function is built in src/jswrap_io.c and the function jswrap_io_digitalPulse() is used to execute the call..
Looking though this code I can not see any special treatment for the ESP32.
My C skills are at the 'cut and paste level', so It will take me allot more time to try to figure out the issue (pulse period not varying) in that code and the risk is this method hasnever beentestd and just does not work on the ESP32.
Im going to raise an issue just in case, but I dont think I can take this much further.
Please bring on a supported Espruino WIFI option (with lower overhead than a an Espruino Pico with ESP83266 he says with tears in his eyes. :)
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Further to above, after a few builds of Espruino ( with make clean && BOARD=ESP32 make) having added some console prints to /targets/esp32/jshardwarePulse.c I am pretty sure that this code is not executed on a digitalPulse function call.
With similiar tests it does look like the function is built in src/jswrap_io.c and the function jswrap_io_digitalPulse() is used to execute the call..
Looking though this code I can not see any special treatment for the ESP32.
My C skills are at the 'cut and paste level', so It will take me allot more time to try to figure out the issue (pulse period not varying) in that code and the risk is this method hasnever beentestd and just does not work on the ESP32.
Im going to raise an issue just in case, but I dont think I can take this much further.
Please bring on a supported Espruino WIFI option (with lower overhead than a an Espruino Pico with ESP83266 he says with tears in his eyes. :)