Fix live wiresheet config/runtime slot alignment and cap float display to 2 decimals

Slots with no flags (sensor, controlSignal, out_*) were not skipped
during config property reads, consuming bytes that the device never
sent and misaligning every subsequent config value (setpoint,
proportionalBand, etc.) into tiny denormalized floats like 2.36875e-41.

Changed the filter in _apply_props from "skip if runtime" to "skip if
not config" so only explicitly config-flagged slots are read from config
messages. Also switched iter("slot") to findall("slot") in the slot
registry builder to avoid picking up nested descendants.

Float display now defaults to 2 decimal places everywhere (wiresheet
and properties panel), honouring the precision facet when one exists.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-09-12 15:46:44 +03:00
co-authored by Claude Opus 4.6
parent 48671585dd
commit 6cd030c7ea
4 changed files with 28 additions and 15 deletions
+2 -3
View File
@@ -831,9 +831,8 @@ class SoxClient:
continue
if operator_only and not slot.get("is_operator"):
continue
is_config = slot.get("is_config", True)
is_runtime = slot.get("is_runtime", False)
if what_char == 'c' and is_runtime:
is_config = slot.get("is_config", False)
if what_char == 'c' and not is_config:
continue
if what_char == 'r' and is_config:
continue