Skip to content

0.5.0-rc.1 Pre-release (Core/Photon/P1/Electron)

Pre-release
Pre-release
Compare
Choose a tag to compare
@technobly technobly released this 05 Apr 21:37
· 8687 commits to develop since this release

v0.5.0-rc.1 Changelog

FEATURES

ENHANCEMENTS

  • Compiler error with variable/function names that are too long. #883
  • DFU writes are verified #870
  • [Electron] NO_ACK flag on Particle.publish() disables acknoweldgements reducing data use #862
  • [Electron] Allow session to resume when IP changes. #848
  • [Electron] Ensure published events are received by the cloud before sleeping. #909
  • [Electron] SLEEP_NETWORK_STANDBY on System.sleep() #845
  • Serial baudrate to select ymodem mode includes listening mode #912
  • Wi-Fi connection process forced to timeout after 60 seconds if unsuccessful #898
  • Added write-verify-retry-fail logic to DFU writes #870
  • Support for USART (Serial1/2/4/5) data bits, parity and stop bits #757

BUGFIXES

  • targets program-cloud, program-dfu can be used without requiring all and will built the firmware correctly. #899
  • TCPClient on Electron not receiving all of the data for small files #896
  • [Electron] Free socket when the socket is closed remotely #885
  • Extended CAN filters #857
  • I2C does not ensure a stop condition completes correctly in endTransmission #856
  • DAC1/2 possible problem with digitalWrite() after analogWrite() #855
  • Servo HAL: Do not disable timer if some of its channels are still in use #839
  • USB driver fixes and Serial.available() not returning values greater than 1 #812 #669 #846 #923
  • SOS During WiFi.scan() #651

INTERNALS

  • dynalib: compile-time check for certain types of ABI breaking changes #895

Updating System Firmware (and optionally adding Tinker)

To update your device, compile and flash your application in the Build IDE, selecting version 0.5.0-rc.1 (prerelease) in the devices drawer. Update instructions for Core, Photon, P1 and Electron below.

The OTA method using Particle CLI

For devices already online and connected to the cloud, the system firmware can be updated OTA using these commands:

If your device is online, you can attempt to OTA (Over The Air) update these system parts as well with the particle-cli:

Note: You must download system binaries to a local directory on your machine for this to work.

Core:

particle flash YOUR_DEVICE_NAME tinker-0.5.0-rc.1-core.bin

Photon:

particle flash YOUR_DEVICE_NAME system-part1-0.5.0-rc.1-photon.bin
particle flash YOUR_DEVICE_NAME system-part2-0.5.0-rc.1-photon.bin
particle flash YOUR_DEVICE_NAME tinker (optional)

P1:

particle flash YOUR_DEVICE_NAME system-part1-0.5.0-rc.1-p1.bin
particle flash YOUR_DEVICE_NAME system-part2-0.5.0-rc.1-p1.bin
particle flash YOUR_DEVICE_NAME tinker (optional)

Electron:

particle flash YOUR_DEVICE_NAME system-part1-0.5.0-rc.1-electron.bin
particle flash YOUR_DEVICE_NAME system-part2-0.5.0-rc.1-electron.bin
particle flash YOUR_DEVICE_NAME tinker (optional)

The local method over USB using Particle CLI

This requires CLI version 1.11.0 or newer. You can check with particle --version.

If you have the Particle CLI installed already, make sure it is updated with the following command. Make sure the device is in DFU mode and run:
sudo npm update -g particle-cli (note: you can try without sudo first if you wish)

Core:

particle flash --usb tinker-0.5.0-rc.1-core.bin

Photon:

particle flash --usb system-part1-0.5.0-rc.1-photon.bin
particle flash --usb system-part2-0.5.0-rc.1-photon.bin
particle flash --usb tinker (optional)

P1:

particle flash --usb system-part1-0.5.0-rc.1-p1.bin
particle flash --usb system-part2-0.5.0-rc.1-p1.bin
particle flash --usb tinker (optional)

Electron:

particle flash --usb system-part1-0.5.0-rc.1-electron.bin
particle flash --usb system-part2-0.5.0-rc.1-electron.bin
particle flash --usb tinker (optional)

The local DFU-UTIL method

can be applied to offline devices locally over USB using dfu-util

  • Put the device in DFU mode (flashing yellow LED)
  • open a terminal window, change to the directory where you downloaded the files above, and run these commands:

Core:

dfu-util -d 1d50:607f -a 0 -s 0x8005000:leave -D tinker-0.5.0-rc.1-core.bin

Photon:

dfu-util -d 2b04:d006 -a 0 -s 0x8020000 -D system-part1-0.5.0-rc.1-photon.bin
dfu-util -d 2b04:d006 -a 0 -s 0x8060000:leave -D system-part2-0.5.0-rc.1-photon.bin

P1:

dfu-util -d 2b04:d008 -a 0 -s 0x8020000 -D system-part1-0.5.0-rc.1-p1.bin
dfu-util -d 2b04:d008 -a 0 -s 0x8060000:leave -D system-part2-0.5.0-rc.1-p1.bin

Electron:

dfu-util -d 2b04:d00a -a 0 -s 0x8020000 -D system-part1-0.5.0-rc.1-electron.bin
dfu-util -d 2b04:d00a -a 0 -s 0x8040000 -D system-part2-0.5.0-rc.1-electron.bin
dfu-util -d 2b04:d00a -a 0 -s 0x8080000:leave -D tinker-0.5.0-rc.1-electron.bin

Downgrading from 0.5.0-rc.x to current default firmware

Current defaults

Core: v0.4.9
Photon: v0.4.9
P1: v0.4.9
Electron: v0.4.8-rc.6

The easiest way to downgrade from a 0.5.0-rc.x prerelease system firmware, is to use the CLI and run these commands in order. First put the Tinker back on the device, then downgrade the System firmware. This requires CLI version 1.11.0 or newer. You can check with particle --version.

If you have the Particle CLI installed already, you can update it with the following combined command. Make sure the device is in DFU mode and run:
sudo npm update -g particle-cli (note: you can try without sudo first if you wish)

  1. Make sure Tinker is installed, instead of a 0.5.0-rc.x app that you may currently have running on your device. Have the device in DFU mode and run:
particle flash --usb tinker
  1. Make sure the device is in DFU mode and run:
particle update

This works for downgrading without specifying --target X.Y.Z because the 0.5.0-rc.x pre-release firmware is not the default, and therefor particle update effectively downgrades your firmware.


Debugging for Electron

Instructions on using the Tinker USB Debugging app are here

This is useful for simply capturing the Electron's connection process.


Instructions on using the Electron Troubleshooting app are here

This is useful for interacting with the Electron's connection process.