Espruino 2v07

Posted on
  • Espruino 2v07 is now out!

    This one contains mainly minor tweaks and improvements. However:

    Bangle.js power consumption has been massively improved. Battery life when idle is now up to around 90 days from the 1-2 weeks it was previously.

    Other notable improvements are:

    • Graphics.asImage() memory/speed improvements
    • nRF52: reduce input buffer space taken by advertising packets (= more reliable NRF.setScan)
    • Lexer speed improvements (fix #1857)
    • WIZNet Ethernet: add setHostname(), geHostname(), getStatus()
    • Implement Streaming Storage compaction to allow compact with less RAM (fix #1598,#1707,#1828)
    • Array.prototype.join speed improvements (fix #1660)
    • Allow 'in' to be used with typed arrays (fix #1534)
    • Improve String.replace performance using iterator rather than repeated copy
    • New Tensorflow version and Tensorflow fixes/tweaks
    • Add Storage.write/etc even on space-constrained (SAVE_ON_FLASH) devices
    • Fix occasional duplicate state changes when using setWatch with debounce (fix #1902)
    • Espruino WiFi: Fix startAP function when open and no password supplied
    • nRF52: Use the best available hardware timer for PWM taking frequency into account
    • Bangle.js: Report GPS HDOP (Horizontal Ditution of Precision => accuracy) values in 'GPS' event
    • Plus over 30 other fixes... See the ChangeLog for more info
    • micro:bit v1.5 support
  • Great job! Thanks.

  • Great job ๐Ÿ‘! I made a special donation. This project is saving me tons of headaches. Happy to see it moving forward. Thanks ๐Ÿ˜!

  • Wow, thank you!

  • This latest update fails to download.. the link isยญo_2v07.4_pico_1r3.bin
    I can't find that file in the binaries..
    Is it me?

  • Are you sure you should have the extra .4 in there--where did you get the link ๐Ÿ™‚?ยญno_2v07_pico_1r3.bin

  • Ahh, you used the IDE to download?

    Sorry - just checked up on this and it looks like the JSON files are wrong. Just updated them and it should now work ok if you refresh.

  • it seems that some script cannot start on Pixls.js rev. 2v07 after a reboot. we encountered this problem at work and a downgrade to 2v06 fixed the problem.
    Unfortunately I cannot share the script but it does nothing special.. a few setWatch, some setInterval and that's it. Any idea?

  • I'm afraid not... Are there any error messages?

    Any chance you could share the script privately via email/forum PM? Or strip it back to something that you can share but that still exhibits the problem?

  • Thanks.. that's worked a treat.


  • @Jean-Philippe_Rey I have just updated the 2v07 release with a fix for the issue you were seeing.

    Anyone who downloads 2v07 from now on should be fine though.

  • Any reason why the semver specification is not adopted by the project, Gordon ๐Ÿ™‚? (I think it's used with the IDE already, right?)

    I see some potential frustrations if people think they have a specific FW version, but not the same behavior, as others ๐Ÿ˜ฌ. Personally, if I already had version 2.07, I would be very unlikely to download it again. Or is this what the cutting edge builds are meant to cover?

  • The issue for me really has been it's a reasonable undertaking to ensure that all the supported boards actually work with a specific firmware version, and it can take a while for everyone to flash firmware too so I don't want to be releasing new versions all the time.

    So generally a release is when:

    • Something big has been added/fixed that I think users want
    • Some time has passed since any big changes I think could cause issues
    • It's been a particularly long time since the past release

    To get around that, there are the cutting edge builds, which are 2v07.commits_since_release

    As for re-releasing a firmware image of the same number: yes, it's totally confusing and I try not to do it, however if it's been less than a day or two since the last release and there's something big that basically makes the firmware unusable on one of the devices I think it's probably worth doing.

    In reality very few people will have updated to the new firmware at that point. I figure more people will be inconvenienced in the long term if a broken firmware is left on the website.

  • I see your point(s) ๐Ÿ˜Ž.

    if it's been less than a day or two since the last release

    if a broken firmware is left on the website

    I completely agree. And the gain-to-hassle ratio should also be reasonable of course.

    I might disagee the day Espruino is powering mission critical components on the Orion Spacecraft though ๐Ÿ˜ฌ.

  • @Jean-Philippe_Rey I have just updated the 2v07 release with a fix for the issue you were seeing.
    Anyone who downloads 2v07 from now on should be fine though.

    I confirm that the new release works really well! Thank you Gordon!

  • Hi, I just got a new Micoro:bit and flashed it immediately to 2v07 as I want to interact with my Pixl and Puck.

    Lovely and easy. Unfortunately show(); doesn't work.
    I flashed 2v06 just in case I was missing something obvious and show worked fine in 2v06.


  • Ouch, sorry about that. Just fixed, so it'll be in the next release (or the attached firmware)

    1 Attachment

  • ๐Ÿ‘ grand thanks

  • Hi @Gordon, I'm not sure now whether this is the right place to post but I'll give it a go.

    That's started to work well now.
    If I write a simple bit of code and set the WebIDE to flash I get a an uncaught error.
    If I send to the device's RAM then enter save(); I get a fuller error message stating that my code is too big to save to flash.

    The code is simple and is....

    var on = true;
    function setP()
      if (on)
        on = false;
       show("1   1\n"+
         "  1  \n"+
         "  1  \n"+
         "1   1\n"+
         " 111 \n");  }
         on = true;
    setWatch(function() {
    }, BTN1, {repeat:true, debounce:20, edge:"falling"});

    My code is ~300 bytes.
    If my understanding ofยญ346537/#comment15336682 is correct then I should have 262144-260096 ie 2048?

    ={ free: 267, usage: 33, total: 300, history: 8,
      gc: 0, gctime: 3.02124023437, blocksize: 12 , stackEndAddress: 536884560, flash_start: 0,
      flash_binary_end: 258940, flash_code_start: 260096, flash_length: 262144 }


    2 Attachments

    • Flash.png
    • RAM then Save.png
  • Ok, I've just pushed a fix. save() will still fail but the IDE's save to flash will be ok.

    But this really isn't the right place - if you have issues with micro:bit please post them in the 'Other Boards' forum - otherwise every 'new version' news thread just gets posted issues people are having (legitimate or not) with each new version.

  • Thanks, I wasn't sure whether the issue is v2.07. I'll re-post on the 'other board' forum.


  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview

Espruino 2v07

Posted by Avatar for Gordon @Gordon