New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Setting a DDS in ARTIQ version 3.6 fails with an IndexError #1012
Comments
Parameters in your device_db incorrectly set? |
The |
c.f. #823 |
@philipkent so what's the meaning for |
@KaifengC I thought you were using ARTIQ 4? it doesn't have this parameter anymore. |
No, In fact we have a system running aritq 3.6 these days. It worked after I changed the BTW, I also see a |
It's for systems that have a lot of DDS channels, and are using more than one bus for the AD9914s. |
@KaifengC I am not 100% sure on the meaning of each argument, but looking at artiq/coredevice/dds.py it looks like setting a dds is ultimately performed by the
So I think |
On Windows 7, using ARTIQ version 3.6, trying to set a dds frequency using:
Fails with the following error:
root:Terminating with exception (IndexError: index 72 out of bounds 0:6)
Core Device Traceback (most recent call last):
File "C:\users\pdk1\work\artiq\repository\experiments\testing/test_dds.py", line 15, in artiq_worker_C:\users\pdk1\work\artiq\repository\experiments\testing\test_dds.TestDDS.run(..., ...)
(RA=+0xe90)
self.dds0.set(1*MHz)
File "\coredevice/dds.py", line 249, in ... artiq.coredevice.dds.DDSChannel.set<artiq.coredevice.dds.DDSChannelAD9914>(...)
(inlined)
self.set_mu(self.core_dds.frequency_to_ftw(frequency),
File "\coredevice/dds.py", line 243, in ... artiq.coredevice.dds.DDSChannel.set_mu<artiq.coredevice.dds.DDSChannelAD9914>(...)
(inlined)
self.core_dds.set(self.bus_channel, self.channel, frequency, phase, phase_mode, amplitude)
File "\coredevice/dds.py", line 124, in ... artiq.coredevice.dds.DDSGroup.set<artiq.coredevice.dds.DDSGroupAD9914>(...)
(inlined)
self.program(ref_time,
File "\coredevice/dds.py", line 365, in ... artiq.coredevice.dds.DDSGroupAD9914.program<artiq.coredevice.dds.DDSGroupAD9914>(...)
(inlined)
pow += self.continuous_phase_comp[phase_comp_index]
File "\coredevice\dds.py", line 365, column 46, in ... artiq.coredevice.dds.DDSGroupAD9914.program<artiq.coredevice.dds.DDSGroupAD9914>(...)
pow += self.continuous_phase_comp[phase_comp_index]
^
IndexError(0): index 72 out of bounds 0:6
Traceback (most recent call last):
File "C:\Users\pdk1\AppData\Local\Continuum\anaconda3\envs\artiq-3.6\lib\site-packages\artiq\master\worker_impl.py", line 273, in main
exp_inst.run()
File "C:\Users\pdk1\AppData\Local\Continuum\anaconda3\envs\artiq-3.6\lib\site-packages\artiq\language\core.py", line 53, in run_on_core
return getattr(self, arg).run(run_on_core, ((self,) + k_args), k_kwargs)
File "C:\Users\pdk1\AppData\Local\Continuum\anaconda3\envs\artiq-3.6\lib\site-packages\artiq\coredevice\core.py", line 133, in run
self.comm.serve(embedding_map, symbolizer, demangler)
File "C:\Users\pdk1\AppData\Local\Continuum\anaconda3\envs\artiq-3.6\lib\site-packages\artiq\coredevice\comm_kernel.py", line 603, in serve
self._serve_exception(embedding_map, symbolizer, demangler)
File "C:\Users\pdk1\AppData\Local\Continuum\anaconda3\envs\artiq-3.6\lib\site-packages\artiq\coredevice\comm_kernel.py", line 595, in _serve_exception
raise python_exn
IndexError: index 72 out of bounds 0:6
The text was updated successfully, but these errors were encountered: