Finally, I've released Espruino 1v80 - it should be available for firmware updates from the Web IDE.
There are a few big changes:
USB HID support on the Pico (so it can pretend to be a keyboard, mouse, etc).
Fast startup - code now starts running a fraction of a second after power-up, rather than after the previous ~1 sec delay.
The 'one character behind' problems that occasionally happened with the Pico's console on Windows/ChromeOS seem to be fixed now, as well as the bug where it wouldn't run code if it was plugged into USB without a terminal running.
Pico owners now get access to 5000 variables instead of 3000 (so available memory has almost doubled!). Code is compressed before writing it into flash memory, so it can fit in the same amount of Flash.
There's also now an API for accessing the Flash memory on the Espruino boards - both for the Pico and the Original, and a nice surprise for Pico owners - there's a whole page of 128kB flash memory available at 0x20060000 which shouldn't exist, but does!
As always, I've tried to test and make sure everything is working fine, but this is a pretty big change - especially on the Pico - so let me know if you have any problems!
Full list
New features:
USB HID support for the Espruino Pico
Fast startup
Added support for USB CK pin (USARTs), and hence PS2 keyboards/mice (fix #544)
SPI.send now returns Uint8Array when passed an array. Also takes {data:X, count:Y} as argument (fix #485)
VGA output can now do line doubling (so 320x240 mode)
Add built-in 'Flash' module to allow Flash memory to be accessed from user code
Add RLE compression when saving to flash, increase Pico RAM from 3000 to 5000 vars (fix #543)
Improvements:
Shorten some internal property names to save memory and increase speed
Speed up iteration for arraybuffers
SPI speed improvements, esp for SPI.write (fix #547)
Tweak Olimexino board - 700->1000 vars, but lowered code flash to 6k
Disable flash prefetch on Pico (~1% slower, but less power and way more accurate ADC readings) (fix #545)
Updated (inaccurate) docs for Serial.write/print and removed duplicated code
Improve digitalWrite/etc documentation
Add pin.mode and pin.getMode functions (mirroring pinMode)
Serial.setup now remembers options if none specified (fix #557)
Bugfixes:
Fix SD card corruption on file append regression (fix #536)
Fix some potential pointer issues in hashlib
Make debounced setWatch output state+time information (regression fix #537)
Change 'internal property' prefix from '>' (fix #540)
Duplicate properties in an object defn. now cause second definition to be used (fix #495)
Make sure E.unmountSD doesn't forget custom SD card configs from E.connectSDCard
ES5 parseInt behaviour - don't treat numbers beginning with 0 as octals (fix #538)
Fix parseFloat(Infinity) (fix #314)
Fix JSON.parse when not given strings (fix #546)
Now throw errors when 'in' is used on an invalid datatype (fix #550)
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.
Finally, I've released Espruino 1v80 - it should be available for firmware updates from the Web IDE.
There are a few big changes:
0x20060000
which shouldn't exist, but does!As always, I've tried to test and make sure everything is working fine, but this is a pretty big change - especially on the Pico - so let me know if you have any problems!
Full list
New features:
{data:X, count:Y}
as argument (fix #485)Improvements:
pin.mode
andpin.getMode
functions (mirroringpinMode
)Serial.setup
now remembers options if none specified (fix #557)Bugfixes:
E.unmountSD
doesn't forget custom SD card configs fromE.connectSDCard
parseFloat(Infinity)
(fix #314)JSON.parse
when not given strings (fix #546)