Close

Recovery mode

A project log for BlueBasic: BASIC for Bluetooth

Embedded BASIC interpreter for CC2540 and CC2541 Bluetooth LE modules

tim-wilkinsonTim Wilkinson 10/09/2014 at 08:190 Comments

One of my goals for this project (of which I have many) was to provide a simple, easy way to upgrade the firmware on the devices. I had three requirements: 1) that you could upgrade from anywhere, 2) that you didn't have to scramble around obscure website looking for the correct image, and 3) that your BASIC program would survive the process.

The original console code could upgrade the firmware manually (with appropriate scrambling) and maintain your code. The recent iOS version didn't do upgrades at all.

But ... finally ... the code has dropped to support auto-upgrading. It's not so "auto" that it will upgrade a device without telling you (like Nest does), but it will discover if new firmware is available and prompt you to upgrade. And it works across all the console clients (OSX, iPhone and iPad as of today)

One extra; I added a recovery mode in case the upgrade fails bricking the device. This will be detected and the correct upgrade can be attempted again.

Almost like a real computer ...

Discussions