2.0.50-beta.5 Pre-Release Available


#1

This release includes the following enhancements and fixes:

  • All features/fixes from v2.0.50-beta.4
  • Increase the size of the user ap space from 20k to 36k

This release will change the boundaries of the system modules. You will be prompted by a special dialog in the IDE to perform a system upgrade first, then you will enter Safe Mode and will have to flash your app. There is no downgrade path from the Web IDE, it must be done manually


Available firmware space on Bluz
#2

#3

I upgraded 2 devices successfully but am getting a 500 error when trying to flash use code on one of them. For the first device’s upgrage I used my phone as a gateway about 5ft away, it failed after 10min but the second attempt worked after 2min if I remember correctly. For the 2nd device I tried upgrading from the hardware gateway, just to compare. It worked the first time but probably took 5-8min. As the IDE warned I had to refresh the page before continuing or it would ask to do the upgrade again. After the upgrade the device was blinking yellow which the docs say is bootloader mode but a prior post says it’s the new safe mode.

The error I get when flashing in the Web IDE is: Error: 500. Please try again later. If the issue persists, please report to hello@particle.io.

The actual response was:
{
“ok”: false,
“code”: 500,
“errors”: [
“Property ‘length’ of object 0,112,3,0,…[lots of numbers removed]…,40,0,255,237,165,41 is not a function”
]
}

The firmware section for this said:
System firmware target: 2.0.50-beta.5
On the device: 2.0.50-beta.5

If I instead choose the Default 1.1.47 then it appears to work, the device flashes purple but ends up flashing yellow and the IDE says I still have Beta 5.

One other thing, if I click the Signal button in the WebIDE it turns the LED off. I forget if this used to work but on the Core/Photon it flashes rainbows.


#4

Flashing works if I switch to a different program, the same one I have running on my other Bluz. This failed program used to work and it still compiles without error.


#5

There is a known issue in the Web IDE around this. For the app that gives you a 500 error, please make a small change (add a new line or comment somewhere), save the code and recompile. This should fix the issue.

The Particle team is aware of the issue and is working to fix it.


#6

Yep, making one change allowed it to work; thanks. I really like the new yellow status and especially the extra app space. :smiley:


#7

Thanks! Yes, the current docs on our main page are still for 1.1.47. Our staging docs page is for 2.0.50.

Even then, our staging docs say Magenta is Safe Mode, not yellow, so I will update this page: http://staging-docs.bluz.io/tutorials/states/

Once we push 2.0.50 out to production, these docs will also get pushed. Thanks for the find!


#8

I found a problem, I used the factory reset procedure and now I’m stuck. It’s connecting to the cloud, flashing magenta, and the Web IDE says it’s running 1.1.47 but the System firmware target is greyed out and says No firmware available. What should I do?


#9

Hmm, so if you refresh the Web IDE is still greys out the selection?

Can you PM me the device ID?


#10

Yes, I had refreshed numerous times previously. Apparently my Particle browser tab crashed while I was at lunch and after re-opening it it’s now showing the options. I’m re-flashing beta 5 now. I assume after the official release a factory reset will go directly to 2.0.50?


#11

As of now, we aren’t planning to do that. The factory reset image is programmed at, well, the factory and stored in the external flash. We could have the update process overwrite the factory image, but there is always a risk there since we would have to effectively erase the current factory image to write the new one. If anything happened during that process (such as a power failure or the user hitting the reset button) then the factory image would forever be lost.

Factory reset is really meant as the “holy crap the world has burned down and I need my device back” mode. We don’t want to do anything to jeopardize that.

What we are looking to do is implement the safe mode state. Just as on a Photon where you release the button when flashing magenta and it wipes out the user app, so only the system firmware is running. This is to recover from states where the user code stops bluz from working properly (putting a while(1) { } loop in your user code for example) but you don’t want to wipe out the system version. This will cover probably 95% of the cases now when factory reset is needed.

That presents its own challenges since we have to overwrite the bootloader, which has the same erase/program flash problem. However, we are looking into ways to do that so a device couldn’t be bricked. So hopefully we will have that in a near-future release.


#12

Sounds like a great idea, I look forward to that.


#13

Hi @eric, after upgrading firmware from 1.1.47 to 2.0.50-beta 5, i’m having some problems programming the bluzdk from particle IDE using the app as gateway. on version 1.1.47, i just put the bluz into safe mode (pressing rst+btn, releasing rst and keeping pressed btn until led is blue), and then connect it from the app to upgrade the code from particle IDE, and everything was ok. which should be the procedure with 2.0.50-beta 5? thanks


#14

What trouble are you experiencing?

The method you are describing (holding the button during a reset) isn’t putting the device into Safe Mode, it is a Factory Reset. This is meant as a recovery mechanism, only necessary if the board is unresponsive. It isn’t needed for daily use.

You would still follow the same procedure for 2.0.50, the only issue is that a Factory Reset will put your firmware back to whatever was programmed at the factory (either 1.0.47 or 1.1.47). So If you do a Factory Reset, you will have to re-upgrade your system firmware to 2.0.50 again.

We are working on a way to resolve this so the bootloader can force Safe Mode, this means you wouldn’t require a Factory Reset if the board stops responding. The bootloader is complete, we are simply working on an upgrade path.


#15

Hi @eric … that’s the method i’ve been using by now, but, as you mention, the problem is that now it puts the firmware back to the factory programmed version. so what’s the procedure i should follow?. i tried using a Bluz Gateway with a particle device running gateway.cpp but, despite i see bluz dk available on the particle ide, when flashing, the Error 500 appears, and it remains after modifying/saving the code before trying again. thanks


#16

If you see a 500 error in the Particle IDE, that is almost certainly a problem with the Particle IDE, not the individual bluz board. This doesn’t require a Factory Reset.

Did you try refreshing the browser? I have seen 500 errors from time to time if the browser isn’t up-to-date, or sometimes the Particle build service seems to have a hiccup.

As you mentioned, the changing+saving the code should also clear up the issue, there is a known bug.

If you cannot get the code to flash after refreshing the browser, please let me know and I will contact the Particle team. I can currently compile, so I don’t think it is an interruption on their side. It may have just been a hiccup.


#17

Hi again … now the error 500 does not appear, but the bluzdk is not successfully flashed from particle ide trough bluz gateway / photon


#18

What happens when you flash? Can you try using the phone app? Updating the firmware through the app is much faster, especially when updating the system firmware.


#19

i used both methods … i also used the bluzdk app, i connected it to my bluzdk (the led turn from blinking green to blinking magenta) and i see it online on the particle ide. but when i try to flash the code, it times out and flash is unsuccessful


#20

You said it went from blinking green to blinking magenta. Do you mean it was cyan (teal) and online, and then you hit the Flash button in the IDE, and it went to Magenta?

Where do you see a timeout? What reports a timeout value?

What happens on the RGB LED of the bluz board? Does it go to solid blue and then back to green? Or does it stay solid magenta?

EDIT: I am looking through the logs and I don’t see any OTA updates started in the last 2 hours. When was the last time you tried this?