Quick update: The latest build for Espruino Pico has fixed the issue that was causing the Google sheets example to crash.
Turns out it was to do with available memory. For some reason newer versions of GCC started allocating a 1kB buffer for the standard libraries. By moving back to the old rand() implementation I managed to stop the libraries allocating that buffer while also saving ~3kB of flash.
Sadly I believe the crash was in the TLS libraries - because it was overflowing stack (not allocated memory) it's far more difficult to catch and handle correctly (hence the crash).
Also: I've made another change to module loading. It'll require some changes to the IDE to take full advantage of it, but when that's done you'll be able to turn on the 'save on send' option in the IDE on and it'll drastically reduce RAM usage.
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.
Quick update: The latest build for Espruino Pico has fixed the issue that was causing the Google sheets example to crash.
Turns out it was to do with available memory. For some reason newer versions of GCC started allocating a 1kB buffer for the standard libraries. By moving back to the old
rand()
implementation I managed to stop the libraries allocating that buffer while also saving ~3kB of flash.Sadly I believe the crash was in the TLS libraries - because it was overflowing stack (not allocated memory) it's far more difficult to catch and handle correctly (hence the crash).
Also: I've made another change to module loading. It'll require some changes to the IDE to take full advantage of it, but when that's done you'll be able to turn on the 'save on send' option in the IDE on and it'll drastically reduce RAM usage.