I am running into a warning and then an error when I try to toggle an output ttl in my GUI. I have three ttls set in my initialization code as inputs and four as outputs. However, when I start up my Artiq software all the ttls appear in my GUI labeled as inputs. If I override one of the ttls that should be set as an output (but is labeled as an input) and place it in the 1 state, it complies, but when I toggle override off, I get the following warning:
WARNING:dashboard:quamash._QEventLoop:Event callback failed
Traceback (most recent call last):
File "C:\Users\ions.conda\envs\artiq-avon\lib\site-packages\quamash_windows.py", line 42, in _process_events
value = callback(transferred, key, ov)
File "C:\Users\ions.conda\envs\artiq-avon\lib\asyncio\windows_events.py", line 437, in finish_recv
return ov.getresult()
ConnectionAbortedError: [WinError 1236] The network connection was aborted by the local system
If I then try to toggle any of the ttl "outputs" I get a connection error and the software crashes:
ERROR:dashboard:artiq.dashboard.moninj:lost connection to core device moninj
Traceback (most recent call last):
File "C:\Users\ions.conda\envs\artiq-avon\lib\site-packages\artiq\dashboard\moninj.py", line 106, in level_toggled
self.set_mode(self.channel, "1")
File "C:\Users\ions.conda\envs\artiq-avon\lib\site-packages\artiq\dashboard\moninj.py", line 333, in ttl_set_mode
self.core_connection.inject(channel, TTLOverride.level.value, 1)
File "C:\Users\ions.conda\envs\artiq-avon\lib\site-packages\artiq\coredevice\comm_moninj.py", line 64, in inject
self.writer.write(packet)
AttributeError: 'CommMonInj' object has no attribute 'writer'
The ttls that are correctly assigned as inputs function without any issues.
I am able to make the desired ttl GUIs be labeled as outputs if I change the class of those ttls from "TTLInOut" in my 'device_db' file to "TTLOut", but the software behaves the same as described above, and I get the same warnings and errors. In an additional wrinkle, the light corresponding to the ttl output on my Artiq crate remains set to "output" regardless of what the GUI in my software says.
I have tried power cycling the artiq crate and restarting Artiq to no result.