-- Exactly based on the release v0.6.1-rc.2 of upstream.
- Arduino API compatible
- It won't apply the new updated application, neither via Arduino IDE or Particle cloud!
Any other awesome features, enhancements and bug fixes, please refer to the change-log of upstream
-- Exactly based on the release v0.6.1-rc.2 of upstream.
- Optionally enable BLE functionality for setup when the Duo is in the Listening mode
- Optionally enable filtering duplicate BLE scanned device
- More BLE APIs exported
- Formal local TCP/IP OTA
- Extends the bootloader to 32KB.
- Fixes the BLE address type issue, which result failure when compiling the SimpleBLECentral example.
- BLE API typos
- Particle building issue: 3b0f463
- BLE central now supports connecting 8 peripherals simultaneously
- Add BLE API for setting scan respond data
- Add BLE API for fetching MAC address
- Add wiring APIs for using external serial flash
- Update BTStack library
- Add lots of BLE related macro definitions
- Update bootloader
- SoftAP http web page didn't work in listening mode
- Duo performs soft reset upon connected to AP if WiFi.off() is invoked before
- For 2nd mass production firmware since 2016/04/20
- Support updating system-part1, system-part2 and factory reset firmware via local TCP/IP during the same connection
- Add JSON command to invalid user part
- BLE central can now connect to peripherals and perform read, write and receive notification
- Remove the crc32 calculation function when uploading sketch via avrdude, since the crc32 is appended to the compiled binary on the Arduino IDE side
- Add a ring buffer for staging the data to be notified to GATT client
- Add a thread to dealing with BLE events, instead of by invoking
ble.loop()
in the sketch - Update BTStack library
- BLE RSSI display incorrectly
- If change the password for a stored WiFi credential using BLE provision, it makes no effect
- Add APIs for fetching device name, i.e. "Duo-xxxx"
- Instantiate Serial2 in wiring functions, thus user can use it directly in sketch
- Add JSON command to leave listening mode
- Add JSON command to check if device has stored credentials
- Integrate BTStack BLE library into system firmware, instead of WICED BTE library
- Exports some BLE APIs for user part usage
- Notify central device if BLE Provisioning failed.
- Give different responds to the TCP client during OTA uploading firmware
- JSON command "version" fetches the real module versions
- update BLE Provisioning protocol to support setting hidden SSID and full key length
- SPI1 isn't instantiated by SPIClass because of the including header file order
- Tone on pin A4 and A5 failed
- For 1st mass production firmware since 2016/01/27
- Updating firmware via local TCP/IP
- Supports IPv6 protocol
- Implements Servo functionality on more pins
- Implements Tone functionality on more pins
- Add Local Name attribute in BLE advertising packet
- Arduino uploading stocks on verify stage
- Arduino uploading fails on some PCs
- When jumping from DFU bootloader to system part 2, it generates a fake Arduino uploading request
- Duo performs reset before Arduino uploading completed since the Flash Update Timeout isn't cleared on every packet transfered
- When more than one Duo are advertising, LightBlue App can not distinguish from each other
- For 2nd PP firmware since 2016/01/06
- OTA updating system part firmware and bootloader using Particle cloud
- HCI interface APIs to interact with bluetooth controller
- Enable WiFi Tester
- Arduino uploading is more stable
- MCU performs soft reset after WiFi credentials saved and listening mode exited
- It is more sufficient to determine to run WICED application or Particle application
- For 1st PP firmware since 2016/01/06
- Arduino IDE v1.6.6 with board manager package v0.1.1 compatible
- OTA update user application using online Particle Build
- Bootloader automatically determines running Particle firmware or WICED firmware
- Support setting WiFi credentials via Soft AP, USB serial and BLE
Copyright (c) 2016 Red Bear
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.