Firmware version is already printed to the log at connect() time (HendiCtrl/Pololu1376) - remove the live GUI/websocket firmware reporting entirely (Connectable, HeaterHendi/StirrerPololu1376, Heater/StirrerTask, web GUI) as redundant. Also move the Heater panel's Closed-loop checkbox into the Controller panel and rename it "Enable" - the Controller panel now shows a live Enabled (green) / Disabled (gray) status badge next to its heading, matching the Connected/Disconnected badges on the Heater/ Stirrer panels. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YaPLuRPpyjWcwhMvCvpHCL
22 lines
497 B
Python
22 lines
497 B
Python
from utils.value import AttributeChange
|
|
|
|
|
|
class Connectable(AttributeChange):
|
|
"""Observable hardware-connection state shared by AHeater/AStirrer.
|
|
|
|
Simulated devices are always connected; real (serial) devices start
|
|
disconnected and only flip once connect() actually reaches the
|
|
hardware.
|
|
"""
|
|
|
|
def __init__(self, simulated):
|
|
AttributeChange.__init__(self)
|
|
self.simulated = simulated
|
|
self.connected = simulated
|
|
|
|
def connect(self):
|
|
return self.connected
|
|
|
|
def disconnect(self):
|
|
pass
|