I'm working on a small object for 8*8 matrix of WS2812.
The project is right now developed for ESP8266, but my problems are more general for Espruino (hope so).
Based on @nkolban video a VM for ESP8266 is running, and a lot of testing runs fine.
Since I'm a newbie in this, I learned a lot but still run into problems.
Actual there are 2 problems, and if somebody could give me a hint, ....
JSON wrapper with more than 4 parameters (in my case setPixel(row,column,red,green,blue)) gives a warning during compiling. Sooner or later this will be changed to use a color instead of three values, therefore its not a big problem. Anyway, if somebody like me uses tons of args in the future, ...
main problem is right now how to read my pixelbuffer (uint8array), change some values and store back.
Some code snippets:
create the buffer
JsVar *buf = jswrap_arrayBuffer_constructor(192); //192 is 8 rows with 8 columns having rgb
jsvUnlock2(jsvAddNamedChild(parent,buf,"buffer"),buf); // I can see the buffer after that
read buffer inside a function like setPixel
JsVar *buf = jsvObjectGetChild(parent,"buffer",false); //read buffer
JSV_GET_AS_CHAR_ARRAY(pixels,dataLength,buf); //convert to char Array
uint8_t *p = (uint8_t *)pixels;//get a pointer to that
doing changes like a fill
for(int i = 0; i < 64;i++){ //loop over all fields to set colors
*p++ = (char) green; *p++ = (char) red......
and last not least store the changes back. I did only find a way by creating an JsVar for string, then convert to ArrayBuffer. This, obviously has problems with colorvalue of zero.
JsVar *bufb = jsvNewFromString(pixels); //convert to JsVar-string, and get the zero problem (end of string)
JsVar *bufa = jsvNewArrayBufferFromString(bufb,0); //did not find a function to create this from char array directly
jsvSetNamedChild(parent,bufa,"buffer");
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.
I'm working on a small object for 8*8 matrix of WS2812.
The project is right now developed for ESP8266, but my problems are more general for Espruino (hope so).
Based on @nkolban video a VM for ESP8266 is running, and a lot of testing runs fine.
Since I'm a newbie in this, I learned a lot but still run into problems.
Actual there are 2 problems, and if somebody could give me a hint, ....
Some code snippets:
create the buffer
read buffer inside a function like setPixel
doing changes like a fill
and last not least store the changes back. I did only find a way by creating an JsVar for string, then convert to ArrayBuffer. This, obviously has problems with colorvalue of zero.