When I try and use the "update" feature on the Bluefruit Connect application it says its not compatible with my legacy bootloader. When clicking the info option on bluefruit connect Device info shows it to be:
Firmware Revision: s140 6.1.1
Software Revision: 0.22.0
I came across a post saying this feature of the bluefruit connect isnt actually working and I should use nRF Toolbox instead. Pulling down nRFToolBox onto my iphone works and its able to see my device. I loaded the map.ino.zip which is created during compile onto a location my phone can see and attempted to use nRFToolBox to push my compiled sketch to the device.
It reads the zip properly and nrfToolBox seems happy with the file I am trying to flash: After selecting my package it reads it and gives me a screen showing it recognizes the package to be an application (for grins I grabbed another random zip and it caused an error as expected). It shows my device and a status of Disconnected and gives me a button to "Update".
When I click update it says its connecting to the device, then says its enabling DFU mode (at which point a small redlight starts flashing on the board just like when doing an upload over usb). Then the nrfToolBox fails and gives me an error that it failed to connect to the device. (The little red light stays flashing after this btw).
What exactly am I doing wrong here?
EDIT: Used nRFConnect and it gave me some logs while giving me the same behavior as nRFToolbox. Logs here:
Code: Select all
File Name: map.ino.zip
Parts: 1
Size: 165 KB
Soft Device Size: Zero KB
Bootloader Size: Zero KB
[Callback] Central Manager did update state to: Powered ON
Connecting to Dewdrop...
centralManager.connect(peripheral, options: nil)
[Callback] Central Manager did connect peripheral
Connected to Dewdrop
Discovering services...
peripheral.discoverServices(nil)
Services discovered
Starting Legacy DFU...
Connected to Dewdrop
Services discovered
Legacy DFU Service found
Discovering characteristics in DFU Service...
peripheral.discoverCharacteristics(nil, for: 00001530-1212-EFDE-1523-785FEABCD123)
DFU characteristics discovered
Reading DFU Version number...
peripheral.readValue(00001534-1212-EFDE-1523-785FEABCD123)
Read Response received from 00001534-1212-EFDE-1523-785FEABCD123, value (0x): 0100
Version number read: 0.1
Enabling notifications for 00001531-1212-EFDE-1523-785FEABCD123...
peripheral.setNotifyValue(true, for: 00001531-1212-EFDE-1523-785FEABCD123)
Notifications enabled for 00001531-1212-EFDE-1523-785FEABCD123
DFU Control Point notifications enabled
Application with buttonless update found
Writing to characteristic 00001531-1212-EFDE-1523-785FEABCD123...
peripheral.writeValue(0x0104, for: 00001531-1212-EFDE-1523-785FEABCD123, type: .withResponse)
[Callback] Central Manager did disconnect peripheral
Disconnected by the remote device
Connecting to Dewdrop...
centralManager.connect(peripheral, options: nil)
Connection timeout!
centralManager.cancelPeripheralConnection(peripheral)
[Callback] Central Manager failed to connect to peripheral (timeout)