Wow, that is crazy slow - just tried the code on a Pico and it's 20ms even unminified. You used basically the code above you uploaded, so it's shiftOut that is taking the majority of the time? If so, there must be something we can do to improve the speed of IO, like removing gpio_matrix_out? Getting faster IO would be good for a lot of stuff on ESP32.
As you mention, a purely native solution is going to be better, but I really don't want to be stuck having to maintain ESP32 specific library code for this one type of device inside the main Espruino repo - I guess you could just keep a fork with it in?
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.
Wow, that is crazy slow - just tried the code on a Pico and it's 20ms even unminified. You used basically the code above you uploaded, so it's
shiftOut
that is taking the majority of the time? If so, there must be something we can do to improve the speed of IO, like removinggpio_matrix_out
? Getting faster IO would be good for a lot of stuff on ESP32.As you mention, a purely native solution is going to be better, but I really don't want to be stuck having to maintain ESP32 specific library code for this one type of device inside the main Espruino repo - I guess you could just keep a fork with it in?