Assets 12

Note: This is a Release and may be used for production. Any known issues are likely slated for 0.7.0-rc.1 (check Github issues). It is available by default for all devices. To use, select the 0.6.0 version dropdown from the devices drawer.

Note: If you have previously last used one of the prerelease versions of 0.6.0 on a Core/Photon/P1 device, please re-flash it with 0.6.0. You must upgrade (locally preferred) the Electron system firmware to 0.6.0 first before you can OTA new user apps.

Note: You must update your Electron to (v0.5.3, v0.5.3-rc.2, or v0.5.3-rc.3) first before attempting to use OTA or YModem transfer to update to v0.6.0. If you use DFU over USB, you can update to v0.6.0 directly, but make sure you have installed v1.18.0 of the CLI first.

0 6 0

v0.6.0 (same as v0.6.0-rc.2)

BREAKING CHANGES

  • UDP.flush() and TCP.flush() now conform to the Stream.flush() behavior from Arduino 1.0 Wiring. The current (correct) behavior is to wait
    until all data has been transmitted. Previous behavior discarded data in the buffer. #469

FEATURES

  • Logging library for flexible system and application logging. Docs
  • [Electron] Reduced data consumption connecting to the cloud with deep sleep. (See the Docs for how to gain the full data reduction.) #953
  • Can set Claim Code via the Serial interface (for use by the CLI.) #602
  • Device ID available via dfu-util. #949
  • [Electron] Firmware Reset now available. #975 and Docs
  • System Reset Reason #403 Docs
  • [Photon/Electron/P1] Composite USB device driver with HID Mouse & Keyboard implementation for STM32F2 #902 and #528
  • Exposes Device ID and Bootloader Version through USB descriptors while in DFU mode, Microsoft WCID support #1001
  • USB vendor-specific setup request handling #1010
  • [Electron] now allows OTA bootloader updates #1002
  • Added Daylight Saving Time support #1058 per proposed #211 Docs

ENHANCEMENTS

  • USB HID enhancements, please see PR: #1110 for a list. Closes #1096
  • Local build warns if crc32 is not present. #941
  • [Photon/Core] MAC address is available immediately after WiFi.on() #879
  • [virtual device] support for TCP Server #1000
  • [virtual device] support for EEPROM emulation #1004
  • Low-level RTOS queues exposed in HAL #1018
  • USART LIN bus support. #930 Docs
  • USART added support for 7E1, 7E2, 7O1, 7O2 modes. #997 Docs
  • Configurable resolution for analogWrite (PWM and DAC) #991 analogWrite() Docs | analogWriteResolution() Docs | analogWriteMaxFrequency() Docs
  • System flag SYSTEM_FLAG_RESET_NETWORK_ON_CLOUD_ERRORS to control if the device resets the network when it cannot connect to the cloud. #946
  • [Photon] 1KB system backup memory added (same size as Electron) reducing user backup memory to 3KB (3068 bytes) #1046
  • Automatically adds vendored libraries from the lib directory for extended application projects #1053
  • Extended spi_master_slave tests with SPI_MODE0/1/2/3 and MSBFIRST/LSBFIRST testing #1056
  • [Electron] System parts reordered from 3,1,2 to 1,2,3 to preserve logical flashing order for OTA/YModem when upgrading. #1065

BUGFIXES

  • Consecutive HID reports were overwriting previous the report before it was delivered to the host. Fixes #1090.
  • Disabling multiple USB configurations (normal/high power) as this breaks composite driver on Windows. Fixes #1089 Serial and USBSerial1 not working at same time on Windows 8.1 Pro.
  • Do not run the event loop from delay() when threading is enabled. Fixes #1055
  • Cancel current connection attempt before entering the listening mode with WiFi.listen(true) and also WiFi.off(). Fixes #1013
  • SoftAP mode persisting when setup complete if Wi-Fi was off. #971
  • Free memory allocated for previous system interrupt handler #951 fixes #927
  • Fixes to I2C Slave mode implementation with clock stretching enabled #931
  • millis()/micros() are now atomic to ensure monotonic values. Fixes #916, #925 and #1042
  • availableForWrite() was reporting bytes available instead of bytes available for write #1020 and #1017
  • digitalRead() interferes with analogRead() #993
  • USART 9-bit receiving. #968
  • Fix soft AP suffix broken by the addition of device id in DCT #1030
  • WKP pin should not be enabled as a wakeup source unconditionally for STOP mode #948 and #938
  • General I2C Improvements and MCP23017 tests #1047
  • Rebuilt Wiced_Network_LwIP_FreeRTOS.a WWD_for_SDIO_FreeRTOS.a on OSX #1057 fixes Local build stalling on object dump #1049
  • Validates that module dependencies would still be satisfied after the module from the "ota_module" location is flashed (via OTA or YMODEM flashing) #1063
  • System.sleep SLEEP_MODE_DEEP timing accuracy and sleep STOP mode retains user interrupt handler after resuming #1051 fixes #1043 and #1029

INTERNAL

  • Removed hardcoded server IP that was used when DNS resolution fails. Instead, the cloud connection is failed and the system will have to retry. This means DNS lookup failure is now consistent with other modes of connection failure. Addresses #139 Related to #1024
  • [Electron] Use floating point arithmetic in PWM to save about 1KB of flash space #1027
  • Feature/vendorlibraries #1009
  • [Electron] Added a 3rd system module to provide room for additional system firmware #1035
  • Remove accidental SYSTEM_MODE(MANUAL) from pwm.cpp in wiring/no_fixture #1052

System Binaries (all devices) & Device Upgrader (Photon & Electron)

located below


Programming and Debugging

You can view specific programming and debugging notes for this version of firmware here programming and debugging notes for this version of firmware here.