Another release that's been a long time coming, but with some big improvements!
Bluetooth users specifically will likely really notice that connecting, uploading code and generally interacting with Espruino devices is a lot snappier than it was before!
Bangle.js / Puck.js / Pixl.js / MDBT42Q
Update S132 Softdevice from 3.0.0 to 3.1.0
Increase MTU from 23 to 53. Doubles Bluetooth bandwidth!
Allow devices to remember the time between reboots (even if RTC is reset)
Use 'low accuracy' GPIOTE for watches so we can shut down the high speed oscillator
Add callback param to 'NRF.restart', allowing code to be called with softdevice disabled
Puck.js: Fix regression where IR LED was left on after transmission
Reset bluetooth advertising after load()/reset()
BLE: Allow 128-bit service data to be decoded
Bangle.js:
Increase advertising interval to ease connections
Make the 'home' button more configurable in code
Add Bangle.softOff to allow the RTC to keep running
Don't enter accelerometer power save mode if compass/barometer is in use
Add isXYZOn() functions for GPS/compass/etc
Apply g.drawImage fast paths even if image goes to the edge of the screen
StorageFile now uses 10x bigger chunks which reduces stress on Storage.list()
Storage.list now allows you to specifically request StorageFile, only ever reports first StorageFile chunk
When load(filename) is used, set global variable FILE to the filename (so FILE now reports app name)
General:
Fix Espruino not sleeping when very low on free memory
Now use exponents when printing doubles >= 1E21 or < 1E-6
Regexp improvements
Util Timer now uses an based on estimated time from the hardware timer itself
Graphics.fillPoly now errors if >64 points (prev was 63)
Graphics: Support for palettes supplied in image strings
Fix Array.forEach when deleting the item you're currently iterating over
Graphics: Allow colors to be specified as '#rgb' strings
Graphics: Antialiased lines now read the background color so overlap nicely
Graphics: Add antialias/colour blending functions like fillPolyAA
Graphics: Fix overdraw when drawing ellipses/circles
Graphics: Fix 8 bit ArrayBuffer scroll not working correctly in some directions
Storage: Fix corruption issue with StorageFile write after a Storage compact
Fix invalid free / SIGFPE errors found using fuzzing
E.getSizeOf() and trace() now don't recurse into references back to the global scope (makes sizes and traces far more useful)
Fix issue parsing r=>print((e=>{})(r))
Add DHE RSA key exchange for TLS/HTTPS
NOTE: If you're running 2v09 firmware and have a problem, please post your own thread on the forum - please don't reply on this announcement thread!
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.
Another release that's been a long time coming, but with some big improvements!
Bluetooth users specifically will likely really notice that connecting, uploading code and generally interacting with Espruino devices is a lot snappier than it was before!
Bangle.js / Puck.js / Pixl.js / MDBT42Q
load()/reset()
Bangle.js:
General:
r=>print((e=>{})(r))
NOTE: If you're running 2v09 firmware and have a problem, please post your own thread on the forum - please don't reply on this announcement thread!