Random fixes and improvements - #1097
Merged
Merged
Conversation
Discovery marked every entry unavailable on each scan cycle, so the list flickered whenever a single reply was missed. Keep a last-seen timestamp and expire entries with a TTL instead, and never expire a connected device. Skip interfaces that are not up and running so stale link-local addresses stop producing false subnet matches, broadcast discovery and IP configuration to the limited broadcast address so a link-local device is still reached, flag a device on an unreachable subnet as needing configuration, and escalate a persistent UDP failure once with an actionable message. Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
windeployqt on the VS2026 runner no longer copies the OpenSSL 1.1 DLLs that Qt 5.15.2 needs for HTTPS, so the packaged app could not talk to the update and firmware servers. Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
Logger is a function-local static, so log calls from later destructors would re-enter an already destroyed Logger during static teardown. Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
A GUI-subsystem binary launched from Explorer has no console, and fmt >= 10 throws std::system_error when the styled print fails to write. A Qt message handler must never throw, so probe stdout once and keep a try/catch backstop. Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
DeviceManager destroys the current sensor whenever a new connection is made, so the 250ms singleShot could fire on a freed Ping360. Give it a context object and fall through to the configuration path when the probe cannot run. Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
requestNextProfile() can reach resetBaudrate(), which closes and reopens the port, but handleMessage runs synchronously inside QSerialPort::readyRead. Defer the request to the event loop so the port is never closed from its own signal. Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
…tatic The function-local static shadowed the member, was shared across every sensor instance and was never reset. Drop it and initialise the real member instead. Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
A zero num_points reaches calculateSamplePeriod() as a divisor and makes the firmware NACK the configuration, so stop the reduction loops at one point. Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
patrickelectric
force-pushed
the
improve-network
branch
from
August 8, 2026 10:06
5ea61ad to
9c84b1e
Compare
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.
extends the software's lifespan