summaryrefslogtreecommitdiff
path: root/devices
diff options
context:
space:
mode:
Diffstat (limited to 'devices')
-rw-r--r--devices/analog_input.py3
-rw-r--r--devices/arduino_device.py3
-rw-r--r--devices/digital_io.py3
-rw-r--r--devices/nidaqmx_device.py3
-rw-r--r--devices/serial_device.py15
5 files changed, 26 insertions, 1 deletions
diff --git a/devices/analog_input.py b/devices/analog_input.py
index c9e5d2a..8938bf2 100644
--- a/devices/analog_input.py
+++ b/devices/analog_input.py
@@ -175,6 +175,7 @@ class AnalogInputDevice(BaseDevice):
return {
"device_type": self.DEVICE_TYPE,
"device_id": self.info.device_id,
+ "name": self.info.name,
"num_channels": self._num_channels,
"simulate": self.simulate,
"backend": self.backend,
@@ -250,6 +251,8 @@ class AnalogInputConfigWidget(QWidget):
self.sim_check = QCheckBox("Simulation Mode (no hardware)")
self.sim_check.setChecked(self.device.simulate)
+ from core.app_settings import is_developer_mode
+ self.sim_check.setVisible(is_developer_mode())
be_form.addRow(self.sim_check)
root.addWidget(be_grp)
diff --git a/devices/arduino_device.py b/devices/arduino_device.py
index 7c1d21b..8293a23 100644
--- a/devices/arduino_device.py
+++ b/devices/arduino_device.py
@@ -203,6 +203,7 @@ class ArduinoDevice(BaseDevice):
return {
"device_type": self.DEVICE_TYPE,
"device_id": self.info.device_id,
+ "name": self.info.name,
"analog_pins": self._analog_pins,
"di_pins": self._di_pins,
"do_pins": self._do_pins,
@@ -287,6 +288,8 @@ class ArduinoConfigWidget(QWidget):
self.sim_chk = QCheckBox("Simulation Mode (no hardware)")
self.sim_chk.setChecked(self.device.simulate)
+ from core.app_settings import is_developer_mode
+ self.sim_chk.setVisible(is_developer_mode())
ser_form.addRow(self.sim_chk)
scan_row = QHBoxLayout()
diff --git a/devices/digital_io.py b/devices/digital_io.py
index 53395dc..f60c330 100644
--- a/devices/digital_io.py
+++ b/devices/digital_io.py
@@ -258,6 +258,7 @@ class DigitalIODevice(BaseDevice):
return {
"device_type": self.DEVICE_TYPE,
"device_id": self.info.device_id,
+ "name": self.info.name,
"num_inputs": self._num_inputs,
"num_outputs": self._num_outputs,
"simulate": self.simulate,
@@ -290,6 +291,8 @@ class DigitalIOConfigWidget(QWidget):
be_form.addRow("Backend:", self.be_cb)
self.sim_chk = QCheckBox("Simulate")
self.sim_chk.setChecked(self.device.simulate)
+ from core.app_settings import is_developer_mode
+ self.sim_chk.setVisible(is_developer_mode())
be_form.addRow(self.sim_chk)
self.ni_dev_edit = QLineEdit(self.device._ni_device)
diff --git a/devices/nidaqmx_device.py b/devices/nidaqmx_device.py
index 88bb932..9d9747e 100644
--- a/devices/nidaqmx_device.py
+++ b/devices/nidaqmx_device.py
@@ -219,6 +219,7 @@ class NidaqmxDevice(BaseDevice):
return {
"device_type": self.DEVICE_TYPE,
"device_id": self.info.device_id,
+ "name": self.info.name,
"num_analog": self._num_analog,
"min_v": self._min_v,
"max_v": self._max_v,
@@ -294,6 +295,8 @@ class NidaqmxConfigWidget(QWidget):
self.sim_chk = QCheckBox("Simulation Mode (no hardware)")
self.sim_chk.setChecked(self.device.simulate)
+ from core.app_settings import is_developer_mode
+ self.sim_chk.setVisible(is_developer_mode())
ni_form.addRow(self.sim_chk)
scan_row = QHBoxLayout()
diff --git a/devices/serial_device.py b/devices/serial_device.py
index 067656a..449956b 100644
--- a/devices/serial_device.py
+++ b/devices/serial_device.py
@@ -142,6 +142,14 @@ class SerialDevice(BaseDevice):
raw = self._layer.read()
if not raw:
return {}
+ if self._fmt == "mark10" and hasattr(self._layer, "current_unit"):
+ # Gauge can be switched between lb/kgF/N/ozF on the device itself —
+ # keep the channel's unit in sync so new plots/pickers/CSV log
+ # headers pick up the currently-selected unit instead of a fixed
+ # default. Does not relabel the axis of an already-open plot pane.
+ force_ch = self.get_channel("force")
+ if force_ch is not None:
+ force_ch.unit = self._layer.current_unit
if self._fmt not in _GENERIC_FORMATS:
# Protocol layers already key by channel_id — pass through untouched.
# (Write-only channels, e.g. CML "M1_VS", never appear in raw — correctly dropped.)
@@ -168,6 +176,7 @@ class SerialDevice(BaseDevice):
cfg: Dict[str, Any] = {
"device_type": self.DEVICE_TYPE,
"device_id": self.info.device_id,
+ "name": self.info.name,
"port": self._port,
"baud_rate": self._baud,
"parse_format": self._fmt,
@@ -448,7 +457,11 @@ class SerialConfigWidget(QWidget):
self._sim_cb = QComboBox()
self._sim_cb.addItems(["Simulate", "Real Hardware"])
self._sim_cb.setCurrentIndex(0 if self.device.simulate else 1)
- conn_form.addRow("Mode:", self._sim_cb)
+ from core.app_settings import is_developer_mode
+ mode_lbl = QLabel("Mode:")
+ dev_mode = is_developer_mode()
+ mode_lbl.setVisible(dev_mode); self._sim_cb.setVisible(dev_mode)
+ conn_form.addRow(mode_lbl, self._sim_cb)
root.addWidget(conn_grp)