Hello. I am encountering a problem when trying to switch the I/O direction on the DIO-BNC board. I had previously been using it in the Output variation with no problems. I tried to switch the direction today by flipping the switch and updating the device_db. Upon doing that, Artiq did not recognize the change, so I rebuilt firmware and regenerated my device_db. After the successful flashing of the new firmware, I am encountering the same problem. Here's a snipet from my device_db
`device_db["ttl0"] = {
"type": "local",
"module": "artiq.coredevice.ttl",
"class": "TTLInOut",
"arguments": {"channel": 0x000000},
}
device_db["ttl1"] = {
"type": "local",
"module": "artiq.coredevice.ttl",
"class": "TTLInOut",
"arguments": {"channel": 0x000001},
}`
When trying to run this code
` def build(self):
self.setattr_device("core")
self.setattr_device("ttl0")
self.setattr_device("ttl1")
@kernel
def run(self):
self.core.reset()
self.ttl0.input()`
I get this error.
ERROR:worker(572,pmt.py):root:While compiling <repository>/pmt.py
<synthesized>:1:1-1:57: error: host object does not have an attribute 'input'
<artiq.coredevice.ttl.TTLOut object at 0x7f75d454b580>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<repository>/pmt.py:14:1: note: expanded from here
def run(self):
^
<repository>/pmt.py:18:9-18:24: note: attribute accessed here
self.ttl0.input()
^^^^^^^^^^^^^^^
ERROR:master:artiq.master.scheduler:got worker exception in run stage, deleting RID 572
To me, it appears that ttl0 should be a TTLInOut, but it is seen as a TTLOut and that is causing the problem. I am unsure of how to troubleshoot this and would appreciate any guidance.