Skip to content

0.4.3 release for Photon/P1

Compare
Choose a tag to compare
@m-mcgowan m-mcgowan released this 14 Jul 17:59
· 8413 commits to master 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:

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

photon:

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

P1:

photon:

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

The updates can also be applied to offline devices 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.3-photon.bin
dfu-util -d 2b04:d006 -a 0 -s 0x8060000:leave -D system-part2-0.4.3-photon.bin

P1:

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

Changes

FEATURES

  • Half-duplex mode on Serial1 via Serial1.halfdupliex(). Thanks to @prices.
  • WiFi.connect(WIFI_CONNECT_SKIP_LISTEN) allows application firmware to skip listen mode when there is no credentials.
  • System events

ENHANCEMENTS

  • I2C methods now use micros() for timeouts rather than millis(), so I2C functions can be used in an interrupt handler. #460
  • WiFi.listen(false) to programmatically exit WiFi listening mode.
  • make is verbose by default. To silence, add -s to the command line.
  • WiFi.connect(WIFI_CONNECT_SKIP_LISTEN) starts connection but does not enter listening mode if no credentials are found.
  • Setup/Mode button now starts listening mode when WiFi is off.
  • WiFi.listen(false) can be used to exit listening mode (from an interrupt.)
  • LED flashes high-speed green when requesting an IP address via DHCP.

BUGFIXES

  • [Photon/TCPServer] - TCPClient.connected() was not returning false when the socket was asynchronously disconnected.
  • Fix time being reset on wakeup. (removed WICED RTC init code that resets to default preset time in platform_mcu_powersave_init() within photon-wiced repo.) #440
  • TCPClient.connected() was not returning false when the socket was disconnected from the other end.
  • strdup() was returning garbage #457
  • attachInterrupt() should work on all interrupt pins now except D0 & A5. Please note there are shared lines as per the following issue comment : #443
  • I2C bus lockup when no slave devices are present by issuing a STOP condition after sLave send address fails.
  • spark/ events not propagated to application handlers. #481
  • sprintf calls not linking correctly. #471
  • Photon/P1 sometimes did not start without hitting reset after a cold boot.
  • Disable LTO compile for user firmware since it causes linking problems (see sprintf above.)

Unlocker (P1)

  • unlocker-p1.bin - For the P1 PLATFORM ONLY! (For photon, see the 0.4.1 release.) This is used to remove write protect bits on flash pages so devices can be returned to factory condition and updated using JTAG. This is not necessary when using DFU to update system firmware. To apply, download the file then run dfu-util -d 2b04:d008 -a 0 -s 0x8020000:leave -D unlocker-p1.bin. The unlocking happens automatically - the LED will be yellow during unlocking, then green when unlocking is complete.