Also note that you don't need to cpld.init() for each channel. Just once per Urukul.
Noted!
Here is the error message:
$ artiq_run repository/constant_values2.py
Core Device Traceback (most recent call last):
File "repository/constant_values2.py", line 58, in __modinit__ (RA=+0x1298)
self.dds0.set(80 * MHz, amplitude=0.32) # 0.32
File "<artiq>\coredevice/ad9910.py", line 715, in ... artiq.coredevice.ad9910.AD9910.set<artiq.coredevice.ad9910.AD9910>(...) (RA=+0x23f8)
return self.pow_to_turns(self.set_mu(
File "<artiq>\coredevice/ad9910.py", line 522, in ... artiq.coredevice.ad9910.AD9910.set_mu<artiq.coredevice.ad9910.AD9910>(...) (inlined)
self.write64(_AD9910_REG_PROFILE0 + profile,
File "<artiq>\coredevice/ad9910.py", line 312, in ... artiq.coredevice.ad9910.AD9910.write64<artiq.coredevice.ad9910.AD9910>(...) (inlined)
self.bus.set_config_mu(urukul.SPI_CONFIG, 8,
File "<artiq>\coredevice/spi2.py", line 169, in ... artiq.coredevice.spi2.SPIMaster.set_config_mu<artiq.coredevice.spi2.SPIMaster>(...) (inlined)
rtio_output((self.channel << 8) | SPI_CONFIG_ADDR, flags |
File "ksupport/rtio.rs", line 67, column 14, in (Rust function)
<unknown>
^
artiq.coredevice.exceptions.RTIOUnderflow(0): RTIO underflow at 2147548731944 mu, channel 32, slack -120752 mu
Traceback (most recent call last):
File "C:\Users\Atomionics\.conda\envs\artiq\Scripts\artiq_run-script.py", line 9, in <module>
sys.exit(main())
File "C:\Users\Atomionics\.conda\envs\artiq\lib\site-packages\artiq\frontend\artiq_run.py", line 225, in main
return run(with_file=True)
File "C:\Users\Atomionics\.conda\envs\artiq\lib\site-packages\artiq\frontend\artiq_run.py", line 211, in run
raise exn
File "C:\Users\Atomionics\.conda\envs\artiq\lib\site-packages\artiq\frontend\artiq_run.py", line 204, in run
exp_inst.run()
File "C:\Users\Atomionics\.conda\envs\artiq\lib\site-packages\artiq\language\core.py", line 54, in run_on_core
return getattr(self, arg).run(run_on_core, ((self,) + k_args), k_kwargs)
File "C:\Users\Atomionics\.conda\envs\artiq\lib\site-packages\artiq\coredevice\core.py", line 137, in run
self.comm.serve(embedding_map, symbolizer, demangler)
File "C:\Users\Atomionics\.conda\envs\artiq\lib\site-packages\artiq\coredevice\comm_kernel.py", line 641, in serve
self._serve_exception(embedding_map, symbolizer, demangler)
File "C:\Users\Atomionics\.conda\envs\artiq\lib\site-packages\artiq\coredevice\comm_kernel.py", line 633, in _serve_exception
raise python_exn
artiq.coredevice.exceptions.RTIOUnderflow: RTIO underflow at 2147548731944 mu, channel 32, slack -120752 mu
Channel 32 corresponds to this in the device database:
device_db["ttl_zotino0_ldac"] = {
"type": "local",
"module": "artiq.coredevice.ttl",
"class": "TTLOut",
"arguments": {"channel": 0x000032}
}
I'm quite new to Artiq and Sinara, so still trying to get the hang of things.