Ping360 firmware update functionality#1070
Merged
patrickelectric merged 38 commits intobluerobotics:masterfrom Apr 17, 2025
Merged
Ping360 firmware update functionality#1070patrickelectric merged 38 commits intobluerobotics:masterfrom
patrickelectric merged 38 commits intobluerobotics:masterfrom
Conversation
5040c20 to
01e0568
Compare
|
|
||
| void Ping360FlashWorker::run() | ||
| { | ||
| float flashProgressPercentFactor = _verify ? 33.3f : 50.0f; |
Member
There was a problem hiding this comment.
Can you add some explanation about this numbers ?
src/flash/ping360flashworker.cpp
Outdated
| _port = new QSerialPort(); | ||
| QSerialPortInfo pInfo(_link.serialPort()); | ||
| _port->setPort(pInfo); | ||
| _port->setBaudRate(115200); |
Member
There was a problem hiding this comment.
Isn't that supposed to be configured ? Since flasher now has validBaudRates
Member
Author
There was a problem hiding this comment.
yes, there is only one valid baudrate, but yes ✔️
| } | ||
|
|
||
| if (!_port->isOpen()) { | ||
| error("error opening port"); |
Member
There was a problem hiding this comment.
Aren't we supposed to return here ?
d94d4dd to
9a0a885
Compare
d96fc16 to
68fa8b4
Compare
7d49504 to
68fa8b4
Compare
3d296d1 to
ea47720
Compare
3b4b679 to
ed02b6e
Compare
171a1d5 to
0d11dc4
Compare
- send requensts when sensor settings struct is valid, this allows adjusting/updating the sensor settings during async scan - reset baudrate to avoid collisions during async profile message transmission - start profile timeout timer to ensure new profile request is received
…han once this allows the logic type to be updated after a firmware update
This is a parameter needed for auto transmit strategy
fw 3.1.1 will get hung up otherwise and not respond to timeout profile requests
copied the same logic from set_range
though the bootloader may not respond, if the application is booting the application may not respond to the initial device information request startConfiguration will trigger checkBaudrateProcess, which will repeatedly send the device information request
0d11dc4 to
cb78253
Compare
patrickelectric
approved these changes
Apr 17, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add firmware update functionality for Ping360.
This is based on top of #1069The bootloader will wait for communication for 2s after powering on before it automatically starts the main application firmware. If the bootloader receives a valid packet, then it will not automatically start the main application.
If the device is stuck in the bootloader (failed programming), the protocol detector and device manager will still identify the device as a ping360 and let you select it. Then there will be a message over the polarplot telling you the device is stuck in the bootloader and asking you to update the firmware.
If the device with valid firmware is plugged in while the protocol detector/device manager is running, then the detector may see the bootloader before the firmware is automatically started. The detector will ask the bootloader to start the main application firmware and all proceeds as normal.