forked from M-Labs/artiq
urukul: expose PROFILE setting
* add documentation * add unittest Signed-off-by: Robert Jördens <rj@quartiq.de>
This commit is contained in:
parent
2af6edb8f5
commit
a52d1be140
@ -335,3 +335,15 @@ class CPLD:
|
||||
ftw = ftw_max//div
|
||||
assert ftw*div == ftw_max
|
||||
self.sync.set_mu(ftw)
|
||||
|
||||
@kernel
|
||||
def set_profile(self, profile):
|
||||
"""Set the PROFILE pins.
|
||||
|
||||
The PROFILE pins are common to all four DDS channels.
|
||||
|
||||
:param profile: PROFILE pins in numeric representation (0-7).
|
||||
"""
|
||||
cfg = self.cfg_reg & ~(7 << CFG_PROFILE)
|
||||
cfg |= (profile & 7) << CFG_PROFILE
|
||||
self.cfg_write(cfg)
|
||||
|
@ -98,6 +98,13 @@ class UrukulExp(EnvExperiment):
|
||||
self.dev.init()
|
||||
self.dev.set_sync_div(2)
|
||||
|
||||
@kernel
|
||||
def profile(self):
|
||||
self.core.break_realtime()
|
||||
self.dev.init()
|
||||
self.dev.set_profile(7)
|
||||
self.dev.set_profile(0)
|
||||
|
||||
|
||||
class UrukulTest(ExperimentCase):
|
||||
def test_instantiate(self):
|
||||
@ -147,3 +154,6 @@ class UrukulTest(ExperimentCase):
|
||||
|
||||
def test_sync(self):
|
||||
self.execute(UrukulExp, "sync")
|
||||
|
||||
def test_profile(self):
|
||||
self.execute(UrukulExp, "profile")
|
||||
|
Loading…
Reference in New Issue
Block a user