summaryrefslogtreecommitdiff
path: root/devices/serial_device.py
diff options
context:
space:
mode:
authorChristian Kolset <christian.kolset@gmail.com>2026-06-09 21:02:53 -0600
committerChristian Kolset <christian.kolset@gmail.com>2026-06-09 21:02:53 -0600
commitb138e72d6f81cf58f27c6c1e4ce65cfebbb58624 (patch)
treedb128aebeb2a97bb4f4f4855cf5f7d86fbe1831d /devices/serial_device.py
parent0fa0568c06fd770ad104b464197b3bb03123f38e (diff)
Channels/Signals UX: rename labels, calibration section, splitter, sig# IDs
Naming conventions: - Devices window: "Channel ID" column → "Signal ID" - Serial device auto-gen IDs: CH# → sig# (generic, SCPI, Modbus fallbacks) - Channels window physical section: "Physical Channels" → "Signals" - Channels window virtual section: "Virtual Channels" → "Channels" - "Add Virtual" button → "Add Channel" - New derived channel default name: "Virtual Channel #" → "Channel #" Signals panel (ChannelPipelineBlock): - Remove Calibrate header button; add inline Calibration section in body - Remove Math section (Derivative/Integral) entirely - scale_offset excluded from filter dropdown; routed to Calibration section - Existing pipelines: scale_offset loads into Calibration, math filters dropped - _FILTER_KEYS excludes derivative, integral, scale_offset Splitter default position: - Left (Signals) pane initialised to minimum content width via QTimer.singleShot - setStretchFactor(0,0) / (1,1): left stays narrow, right grows on resize Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'devices/serial_device.py')
-rw-r--r--devices/serial_device.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/devices/serial_device.py b/devices/serial_device.py
index c3ce65f..458aec8 100644
--- a/devices/serial_device.py
+++ b/devices/serial_device.py
@@ -241,7 +241,7 @@ class SerialDevice(BaseDevice):
def _build_channel_configs(self) -> List[ChannelConfig]:
fmt = self._fmt
if fmt in _GENERIC_FORMATS:
- names = self._chan_names or [f"CH{i}" for i in range(self._num_channels)]
+ names = self._chan_names or [f"sig{i}" for i in range(self._num_channels)]
_units = self._units or [""] * len(names)
return [
ChannelConfig(
@@ -599,8 +599,8 @@ class _SCPIPanel(QWidget):
row = self._table.rowCount()
self._table.insertRow(row)
n = row
- self._table.setItem(row, 0, QTableWidgetItem(sc["channel_id"] if sc else f"CH{n}"))
- self._table.setItem(row, 1, QTableWidgetItem(sc.get("name", f"CH{n}") if sc else f"CH{n}"))
+ self._table.setItem(row, 0, QTableWidgetItem(sc["channel_id"] if sc else f"sig{n}"))
+ self._table.setItem(row, 1, QTableWidgetItem(sc.get("name", f"sig{n}") if sc else f"sig{n}"))
self._table.setItem(row, 2, QTableWidgetItem(sc.get("query", "MEAS:VOLT?") if sc else "MEAS:VOLT?"))
self._table.setItem(row, 3, QTableWidgetItem(sc.get("unit", "") if sc else ""))
self._table.setItem(row, 4, QTableWidgetItem(str(sc.get("scale", 1.0)) if sc else "1.0"))
@@ -619,8 +619,8 @@ class _SCPIPanel(QWidget):
except ValueError:
scale = 1.0
result.append({
- "channel_id": cell(0) or f"CH{row}",
- "name": cell(1) or f"CH{row}",
+ "channel_id": cell(0) or f"sig{row}",
+ "name": cell(1) or f"sig{row}",
"query": cell(2),
"unit": cell(3),
"scale": scale,