I haven't made announcements for the previous few releases, but there have been some great additions recently I thought I'd share!
As always, a full list of changes is at https://www.espruino.com/ChangeLog
First, the big one:
Espruino has supported pretokenisation for a while - replacing reserved words to convert if (i) return true to #(i)## to save on storage space and increase speed. You can enable this when uploading in the IDE or in the Bangle.js app loader, or by tagging a function with "ram".
if (i) return true
As of 2v21, Espruino can pretokenise Strings, including base64 encoded strings. This means that program code in Flash that writes something like atob("abcdef.....") will be replaced with a 'string token', length, and then raw data (when before it had to be parsed and then decoded). When the String is parsed it won't even be loaded into RAM, but will stay as a reference to that area of flash memory, which is really efficient.
It'll help everywhere, but it makes a massive difference on Bangle.js where fonts and images might have been stored as base64. On the default Anton clock, setting the font is now a whopping FORTY times faster than it was before and it's really noticeable with how snappy the new firmware is when loaded with pretokenised code (which is the default if factory resetting).
Huge thanks for the work done in Espruino and the continuous Momentum you were able to keep until now.
Added I2C.readReg --> Yeah!
Added console.debug/info/warn/error --> More Yeahhhhh!!
A file called .bootPowerOn is now executed at power-on only --> Even more Yeahhhhhhh!!
Bangle.js 2 now supports two central connections at once --> Too many Yeah!
And finally, even if I didn't really understand how it works and where it will show improvements, it is always cool to read about efficiency related, bold numbers as high as FORTY :-)
Thank you for doing so much as before
Thanks for the consistent improvements and additions! 😁
Don't worry about formatting, just type in the text and we'll take care of making sense of it. We will auto-convert links, and if you put asterisks around words we will make them bold.
For a full reference visit the Markdown syntax.
© Espruino, powered by microcosm.
Report a problem