You're not unlocking the string created by jsvNewStringOfLength...
This should be fine?
void jswrap_ESP32_test(JsVar *text){
char txt[20];
jsvGetString(text,txt,sizeof(txt)); // this is a short replacment of the data I get in Bluetooth
JsVar *tmp = jsvNewStringOfLength(sizeof(txt), txt);
jsvUnLock(tmp);
}
I would strongly advise not keeping a global JsVar* around though - because you have to be sure to get rid of it in a _kill handler for your module (and also initialise it to 0!). If you're planning on storing data, I'd do it as a named JsVar in execInfo.hiddenRoot and grab it whenever you want it instead.
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.
You're not unlocking the string created by
jsvNewStringOfLength
...This should be fine?
I would strongly advise not keeping a global
JsVar*
around though - because you have to be sure to get rid of it in a_kill
handler for your module (and also initialise it to 0!). If you're planning on storing data, I'd do it as a named JsVar inexecInfo.hiddenRoot
and grab it whenever you want it instead.