Hey all, went into the lab today to do some testing on our Hamilton and was presented with a new fatal error upon calling setup()
:
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
Cell In[3], line 2
1 ## Connect to robot
----> 2 await lh.setup()
File ~/Documents/FutureHouse/Lab/Automation/pylabrobot/pylabrobot/liquid_handling/liquid_handler.py:144, in LiquidHandler.setup(self, **backend_kwargs)
141 raise RuntimeError("The setup has already finished. See `LiquidHandler.stop`.")
143 self.backend.set_deck(self.deck)
--> 144 await super().setup(**backend_kwargs)
146 self.head = {c: TipTracker(thing=f"Channel {c}") for c in range(self.backend.num_channels)}
147 self.head96 = {c: TipTracker(thing=f"Channel {c}") for c in range(96)}
File ~/Documents/FutureHouse/Lab/Automation/pylabrobot/pylabrobot/machines/machine.py:63, in Machine.setup(self, **backend_kwargs)
62 async def setup(self, **backend_kwargs):
---> 63 await self.backend.setup(**backend_kwargs)
64 self._setup_finished = True
File ~/Documents/FutureHouse/Lab/Automation/pylabrobot/pylabrobot/liquid_handling/backends/hamilton/STAR.py:1226, in STAR.setup(self)
1220 async def setup(self):
1221 """ setup
1222
1223 Creates a USB connection and finds read/write interfaces.
1224 """
-> 1226 await super().setup()
...
--> 203 raise RuntimeError("USB device not found.")
204 if len(devices) > 1:
205 logging.warning("Multiple devices found. Using the first one.")
RuntimeError: USB device not found.
I have a suspicion that this may be related to changes to USB permissions with macOS 15 Sequoia, which I updated to the other day (perhaps inadvisably) but that is only supported by the timing related to the OS update.
I’ve tried on two different STARlets with the same result, as well as two different USB adapters and cables. All of which I have used successfully in the last couple weeks. I’m also updated to the latest PLR.