Just to add for others - driving WS2811/etc on normal Espruino boards is absolutely no problem at all. See the WS2811 page.
@Kolban what are the chances of just fixing hardware SPI support on the ESP8266? For this specific issue that would seem to be the most sensible course of action, and would be useful to far more people?
Or, maybe you could detect the specific use of SPI.send4bit at the given speed, and could just shift over to the WS2811-specific software implementation for that?
Since it is possible to have 'native' functions - even in ESP8266 - I guess one other option is to have a set of native code functions that get built for each major release of Espruino, and which can be loaded in on demand - but again that's quite a lot of effort.
The issue for me is I think it's good to have flexible support built in to Espruino itself, but building support for one specific bit of hardware just seems like a bad idea - even more so when it's for one bit of hardware on one specific processor.
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.
Just to add for others - driving WS2811/etc on normal Espruino boards is absolutely no problem at all. See the WS2811 page.
@Kolban what are the chances of just fixing hardware SPI support on the ESP8266? For this specific issue that would seem to be the most sensible course of action, and would be useful to far more people?
Or, maybe you could detect the specific use of
SPI.send4bit
at the given speed, and could just shift over to the WS2811-specific software implementation for that?Since it is possible to have 'native' functions - even in ESP8266 - I guess one other option is to have a set of native code functions that get built for each major release of Espruino, and which can be loaded in on demand - but again that's quite a lot of effort.
The issue for me is I think it's good to have flexible support built in to Espruino itself, but building support for one specific bit of hardware just seems like a bad idea - even more so when it's for one bit of hardware on one specific processor.