diff options
| -rw-r--r-- | .gitignore | 3 | ||||
| -rw-r--r-- | api_layers/protocols/cml.py | 2 | ||||
| -rw-r--r-- | api_layers/protocols/mark10.py | 6 | ||||
| -rw-r--r-- | api_layers/protocols/modbus_rtu.py | 2 | ||||
| -rw-r--r-- | api_layers/protocols/scpi.py | 2 |
5 files changed, 14 insertions, 1 deletions
@@ -3,3 +3,6 @@ logs/* __pychache__/ *.pyc *.pyo +.claude/settings.local.json +plugins/enabled.json +plugins/enabled.json diff --git a/api_layers/protocols/cml.py b/api_layers/protocols/cml.py index dbee2fa..67be0d5 100644 --- a/api_layers/protocols/cml.py +++ b/api_layers/protocols/cml.py @@ -119,6 +119,8 @@ class CMLLayer(BaseProtocol): motor = next((m for m in self.motors if m.motor_id == motor_id), None) if motor is None: return False + if self.simulate: + return True try: data = "" if cmd in ("ME", "MD") else str(int(value)) if motor.address == 0: diff --git a/api_layers/protocols/mark10.py b/api_layers/protocols/mark10.py index 1b5bf1c..4a97892 100644 --- a/api_layers/protocols/mark10.py +++ b/api_layers/protocols/mark10.py @@ -76,7 +76,11 @@ class Mark10Layer(BaseProtocol): "cycle_units": b"U\r", } cmd = cmd_map.get(channel_id) - if cmd is None or not self._ser: + if cmd is None: + return False + if self.simulate: + return True + if not self._ser: return False try: self._ser.write(cmd) diff --git a/api_layers/protocols/modbus_rtu.py b/api_layers/protocols/modbus_rtu.py index 9d371b1..68d644e 100644 --- a/api_layers/protocols/modbus_rtu.py +++ b/api_layers/protocols/modbus_rtu.py @@ -151,6 +151,8 @@ class ModbusRTULayer(BaseProtocol): ch = next((c for c in self.channels if c.channel_id == channel_id), None) if ch is None: return False + if self.simulate: + return True try: int_val = round((float(value) - ch.offset) / ch.scale) return self._write_register(ch.register, int_val) diff --git a/api_layers/protocols/scpi.py b/api_layers/protocols/scpi.py index 730f8e0..526ed21 100644 --- a/api_layers/protocols/scpi.py +++ b/api_layers/protocols/scpi.py @@ -73,6 +73,8 @@ class SCPILayer(BaseProtocol): ch = next((c for c in self.channels if c.channel_id == channel_id), None) if ch is None or not ch.write_cmd: return False + if self.simulate: + return True try: cmd = ch.write_cmd.format(value=value) self._ser.write(f"{cmd}\n".encode()) |
