Avatar for jonreid

jonreid

Member since Nov 2015 • Last active Oct 2017
  • 8 conversations
  • 76 comments

Most recent activity

  • in The Place for Patreon Patrons
    Avatar for jonreid

    What sort of price do you think you could supply programmed devices ? Your >20/50/100 breakdown would be interesting also !

    Re Pico RAM - from spec I thought it was 96kb ? So more than the nrf52 64kb ? Or is that not the case.

  • in The Place for Patreon Patrons
    Avatar for jonreid

    A 0.1 pitch board could be useful, depends how we end up making it. What is involved in getting Espruino onto a MDBT42Q module? If we go that way we could always become a Patreon to get ongoing support?

    I did not use the extra flash page on the Pico as I was saving for saving remote code updates. If it was broken into several pages it would have been ideal.

  • in The Place for Patreon Patrons
    Avatar for jonreid

    I could be interested in a nRF52 board with Espruino preloaded.

    Our current wireless logging solution is made up of two devices. The first is a battery powered Arduino that broadcasts two temperatures regularly, using a nrf24L01. The second device has a Pico/SIM800/nrf24L01/LCD/EEPROM.

    I am thinking that it could be a nicer solution to have both devices nrf52 based as the BLE comms would be useful for some additional features we wish to add. My main unknown is whether all the software will fit/run in the nrf52 ? The current software runs with 800 blocks free mem on the Pico, using standard Save and no Pretokenise.

    Does Espruino support using the nrf52 flash for writing general logging data ? I know that its endurance is only 10000 writes but there is lots of it so that should not be an issue for me.

    • 8 comments
    • 618 views
  • in JavaScript
    Avatar for jonreid

    My only concern around not having the V1 code in there as a fallback, is that if the V2 download fails and the unit reboots, it is then a non-functional unit until it can successfully download code.

    For our 24x7 remote logging application - this is not really an acceptable possibility.

    So either I need a way of removing all the V1 code from RAM before running V2, or could I as part of the download new code process do this ?

    • erasePage()
    • write a dump of the current running code into Flash
    • then follow by writing the V2 code (downloaded) into Flash
    • If V2 downloads and verifies I can write to my EEPROM that the V2 code is valid to run - so the bootloader knows which version to load.

    There would still be some risks around this, but probably acceptable for our application

    • 12 comments
    • 249 views
  • in JavaScript
    Avatar for jonreid

    Am only just getting on to implementing this now !

    So if I have say V1 of my code save() into the Pico (along with the above bootloader code in onInit() ?)

    1. What is the best way for me to grab the correct V2 minified code that I would put on my server for the pico to download and write into flash (which would be run thru eval) ?

    2. In the fallback scenario - When the new code is run via eval, I assume the existing V1 code would have already loaded at that point ? Do I need to get rid of it from RAM first somehow ?

    Thanks

  • in General
    Avatar for jonreid

    Its interesting, now I know it is a monthly issue, I can see strange things happening to our units on a monthly basis - although I cant exactly explain what is going on ie I would expect my software to crash completely, there definitely seems to be a correlation.

    We need to put some more units out into the field in a few days or so time. Which build would you recommend we put on (given we don't have a months testing time) - the custom one you created or a travis build ?

  • in General
    Avatar for jonreid

    Unfortunately I have no logs of getTime(). However on my debug unit, where the IDE 'Set current time' option was turned on - it crashed after 10 days on 31/07/2017 at 5:18pm (NZ time)

    In my application, I resync the time to the SIM800 time (new Clock object) every 90s. So it is possible that my app would only crash if the clock step back happened when my code was actually doing something that relies on getTime() before the next SIM800 re-sync.

  • in General
    Avatar for jonreid

    Interestingly I just checked my IDE settings and I do have the 'Set current time' option turned on.

    So that makes the Sun Jan 30 2000 15:24:42 time that was in the unit after crash seem not right ? As I am pretty sure the unit was never powered down after the last software was loaded onto the pico.

    I had loaded the new software 10 days earlier in this case.

Actions