You are reading a single comment by @Gordon and its replies. Click here to read the full conversation.
  • Espruino 2v10 has just been released.

    Some huge changes this time!

    The biggest one is the merge of the experimental_compact_vars branch, which adds roughly 20% more JavaScript variables to most builds, within the same RAM footprint. Performance suffers by around 2% but for the vast majority of users the increased memory should be a massive benefit. More info here...

    Other changes are...


    • Support for Bangle.js 2 when released
    • New HRM and step counting calculations
    • Peripherals are kept on during app load, which avoids a pause in activity on GPS
    • Add support for color schemes (eg black on white)
    • Support for rendering 3 bit images
    • Fix issue where long-press BTN3 while holding BTN1 would reload the app but wouldn't load configuration
    • Bangle.setUI added to ease usage of setWatch/etc for clocks
    • Display small 'Loading...' screen to show something is happening when loading apps
    • g.flip no longer keeps the screen awake
    • ANCS support added (not enabled by default)
    • Add Bangle.getGPSFix to get last GPS fix without waiting for a listener


    • Support for Puck.js 2.1
    • Self test now only happens if button held at first boot


    • Add Graphics.blit command for fast copies within a single Graphics instance (only offscreen in Bangle.js 1)
    • Graphics.scroll can now scroll a partial area (inside cliprect) (only offscreen in Bangle.js 1)
    • Add Graphics.getBPP
    • Allow g.drawImage to use ArrayBuffer Graphics as an argument


    • 'BLE task in progress' messages now give a readable name, not task number
    • Fix issue where Bluetooth getPrimaryServices could fail with NRF_BUSY
    • Bluetooth stack errors now report a line number


    • Fix 2v09 regression where clearWatch reset pin state, removing pullups
    • Fix issue where full storage could cause Espruino to think it was corrupt and do an erase.
    • Fix Storage issue where flash compacts could cause functions executing from flash to be relocated wrong
    • Serial1.unsetup can now be called even if Serial wasn't enabled
    • Add E.decodeUTF8 for easy UTF8 decoding
    • Util timer no longer 'drift's if left running
    • Fix issue with .then().then(...) on an already-resolved promise
    • Add ArrayBufferView.subarray for easily making subarrays (eg a.set(a.subarray(-1)))
    • Solve case where an ArrayBuffer set using the same array could duplicate entries (a.set(a.subarray(),1))

Avatar for Gordon @Gordon started