summaryrefslogtreecommitdiff
path: root/devices/serial_device.py
AgeCommit message (Collapse)Author
2026-07-29Add editable device display name, persist it across profile save/loadChristian Kolset
DeviceInfo.name existed but was hardcoded per device type and never operator-editable. Adds a Display Name field to Add Device and makes the Info-tab Name field in the device config dialog editable, and threads the name through get_save_config()/ProfileManager.apply() so a custom name survives a .labdaq save/reload instead of reverting to the type default. Name is applied post-construction rather than as a constructor kwarg, since no device factory declares a "name" param. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-28Update CML protocol documentation and improve command handling; adjust ↵Christian Kolset
motion_capture setting to false
2026-07-27Enhance protocol layers: implement I/O locking for thread safety in serial ↵Christian Kolset
communication
2026-07-27Fix .gitignore: remove duplicate entry for plugins/enabled.jsonChristian Kolset
2026-07-27Enhance SerialDevice: support write-only channels and improve raw data handlingChristian Kolset
2026-06-09Channels/Signals UX: rename labels, calibration section, splitter, sig# IDsChristian Kolset
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>
2026-06-09UI: streamline Add Device dialog and serial config widgetChristian Kolset
Add Device dialog: - Replace Available Devices QGroupBox with plain devWindowTitle label to match Configuration section style — no box/border - Auto-scan on open via QTimer.singleShot(0) - Rename Scan All → Refresh Serial config widget: - Fix gap between protocol panel and Available Serial Ports: introduce _AdaptiveStack (QStackedWidget subclass) that reports only the current panel's sizeHint; set Fixed vertical size policy so the stack never expands beyond its content regardless of window size - Stretch added between Available Serial Ports and Apply & Reconnect so the button stays pinned to the bottom - Rename Channels → Signals in _GenericPanel and _SCPIPanel (Signal Queries) Config dialog (device info tab): - Rename Channels → Signals Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24Added difference serial protocolsChristian Kolset
2026-04-22Fixed saving profile to include devices and their configurationChristian Kolset
2026-04-20V8Christian Kolset
2026-04-13Removed QtPy5 snippet and fixed directoriesChristian Kolset