fsagbuya Thanks for the replies. python -V
says MSYS2 with ARTIQ is on 3.11.9, so that isn't the solution unfortunately.
sipyco_rpctool 127.0.0.1 4462 call ping
gives a RuntimeError in the thorlabs_tcube driver with the following traceback:
WARNING<12>:thorlabs_tcube.driver:ping failed
Traceback (most recent call last):
File "C:/msys64/clang64/lib/python3.11/site-packages/thorlabs_tcube/driver.py", line 277, in ping
await self.hardware_request_information()
File "C:/msys64/clang64/lib/python3.11/site-packages/thorlabs_tcube/driver.py", line 269, in hardware_request_information
return await self.send_request(MGMSG.HW_REQ_INFO,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:/msys64/clang64/lib/python3.11/site-packages/thorlabs_tcube/driver.py", line 212, in send_request
await self.send(Message(msgreq_id, param1, param2, data=data))
File "C:/msys64/clang64/lib/python3.11/site-packages/thorlabs_tcube/driver.py", line 193, in send
await self.port.write(message.pack())
RuntimeError: Task <Task pending name='Task-58' coro=<Server._handle_connection_cr() running at C:/msys64/clang64/lib/python3.11/site-packages/sipyco/pc_rpc.py:624>
cb=[AsyncioServer._client_done()]> got Future <_OverlappedFuture pending> attached to a different loop
It may be worth mentioning that just running aqctl_thorlabs_tcube -p PORT --bind HOST -P device -d COMPORT
does not error out. The periodic pings from artiq_ctlmgr
seem to be causing the errors. Comparing the drivers between the beta version that works, ARTIQ v8.8674+dcf1bba.beta, and the stable I'm on, ARTIQ v8.8934+85c03ad, it looks like a lot of asyncio changes were made (perhaps due to changes between Python 3.11.0 and Python 3.11.9?). the sipyco_rpctool HOST PORT call ping
does work and returns True. I'm unfortunately out of my depth trying to debug asyncio at this level. Any additional advice or help would be greatly appreciated.