Skip to content

0.4.5 Release for Photon and P1

Compare
Choose a tag to compare
@m-mcgowan m-mcgowan released this 12 Sep 02:25
· 9896 commits to develop since this release

Updating System Firmware

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

The OTA method

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.

Photon:

particle flash YOUR_DEVICE_NAME  system-part1-0.4.5-photon.bin
particle flash YOUR_DEVICE_NAME  system-part2-0.4.5-photon.bin

P1:

particle flash YOUR_DEVICE_NAME  system-part1-0.4.5-p1.bin
particle flash YOUR_DEVICE_NAME  system-part2-0.4.5-p1.bin

The local EASY method using Particle CLI

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

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:

Photon:

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

P1:

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

Changes since 0.4.4

FEATURES

  • SPI.setClockDividerReference, SPI.setClockSpeed to set clock speed in a more portable manner. #454
  • WiFi.scan function to retrieve details of local access points. #567
  • UDP.sendPacket/UDP.receivePacket to send/receive a packet directly to an application-supplied buffer. #452
  • Static IP Support [photon] - #451
  • [photon] UDP multicast support via UDP.joinMulticast/UDP.leaveMulticast. Many thanks @stevie67!
  • waitFor(WiFi.ready) syntax to make it easier to wait for system events. #415
  • Flexible time output with Time.format() #572

ENHANCEMENTS

  • Recipes and Tips section in the build documentation.
  • Particle.function, Particle.subscribe and attachInterrupt can take a C++ method and instance pointer. #534 Thanks to @monkbroc!
  • UDP.setBuffer to set the buffer a UDP instance uses for read/write. #224 and #452
  • WiFi.setCredentials() can take a Cipher type to allow full specification of an AP's credentials. #574
  • TCPClient (from TCPServer) reports remote IP address. #551
  • Configurable format in Time.timeStr(), including ISO 8601. #455
  • Servo.trim(adjust) to allow small adjustments to the stationary point. #120
  • Time set from the cloud accounts for network latency. #581
  • String(Printable) constructor so any Printable can be converted to a string. example
  • Fluent API on String - many methods return *this so method calls can be chained.
  • Small values passed to delay(1) result in more accurate delays. #260
  • Bootloader does not show factory reset modes if a factory reset image is not available. #557

BUGFIXES

  • Listening mode re-enters listening mode after credentials are given. #558
  • String function dtoa() has problems with larger numbers. #563
  • System doesn't set color of RGB LED when RGB.control(true) is called. #362, #472 and #544
  • WiFi.SSID() may not return previous network when switching. #560
  • [photon] System.sleep(5) not turning Wi-Fi back on after 5 seconds. #480
  • regression: floating point support in sprintf not compiled in. #576
  • [photon] SPI1 default clock speed was 7.5MHz, changed to 15MHz, same as for SPI.
  • TCPClient::connected() doesn't detect when the socket is closed #542
  • dfu-util: error during downlod get_status msg removed when using :leave option #599
  • [Core] A0 could not be used as an output #595
  • Reinstate CFOD handling on the Photon.