forked from M-Labs/artiq
sawg: merge set/set64
This commit is contained in:
parent
93a853a0e0
commit
6e9bc7c05d
|
@ -36,23 +36,18 @@ class Spline:
|
|||
"""
|
||||
rtio_output(now_mu(), self.channel, 0, value)
|
||||
|
||||
@kernel
|
||||
@kernel(flags={"fast-math"})
|
||||
def set(self, value: TFloat):
|
||||
"""Set spline value.
|
||||
|
||||
:param value: Spline value relative to full-scale.
|
||||
"""
|
||||
rtio_output(now_mu(), self.channel, 0, self.to_mu(value))
|
||||
|
||||
@kernel(flags={"fast-math"})
|
||||
def set64(self, value: TFloat):
|
||||
"""Set spline value.
|
||||
|
||||
:param value: Spline value relative to full-scale.
|
||||
"""
|
||||
if self.width > 32:
|
||||
l = [int32(0)] * 2
|
||||
self.pack_coeff_mu([self.to_mu64(value)], l)
|
||||
rtio_output_wide(now_mu(), self.channel, 0, l)
|
||||
else:
|
||||
rtio_output(now_mu(), self.channel, 0, self.to_mu(value))
|
||||
|
||||
@kernel
|
||||
def set_coeff_mu(self, value): # TList(TInt32)
|
||||
|
|
|
@ -55,8 +55,8 @@ class SAWGTest(unittest.TestCase):
|
|||
d = self.driver
|
||||
d.offset.set(.9)
|
||||
delay(2*self.t)
|
||||
d.frequency0.set64(.1)
|
||||
d.frequency1.set64(.1)
|
||||
d.frequency0.set(.1)
|
||||
d.frequency1.set(.1)
|
||||
delay(2*self.t)
|
||||
d.offset.set(0)
|
||||
v = int(round((1 << 48) * .1 * self.t))
|
||||
|
@ -64,10 +64,9 @@ class SAWGTest(unittest.TestCase):
|
|||
self.rtio_manager.outputs, [
|
||||
(0., 1, 0, int(round(
|
||||
(1 << self.driver.offset.width - 1)*.9))),
|
||||
(2.*self.t, 8, 0, [int(round(
|
||||
(2.*self.t, 8, 0, int(round(
|
||||
(1 << self.driver.frequency0.width) *
|
||||
self.t/self.channel.parallelism*.1)),
|
||||
0]),
|
||||
self.t/self.channel.parallelism*.1))),
|
||||
(2.*self.t, 3, 0, [int32(v), int32(v >> 32)]),
|
||||
(4.*self.t, 1, 0, 0),
|
||||
])
|
||||
|
@ -200,9 +199,9 @@ class SAWGTest(unittest.TestCase):
|
|||
|
||||
self.sawg0.frequency0.set(10*MHz)
|
||||
self.sawg0.phase0.set(0.)
|
||||
self.sawg0.frequency1.set64(1*MHz)
|
||||
self.sawg0.frequency1.set(1*MHz)
|
||||
self.sawg0.phase1.set(0.)
|
||||
self.sawg0.frequency2.set64(13*MHz)
|
||||
self.sawg0.frequency2.set(13*MHz)
|
||||
self.sawg0.phase2.set(0.)
|
||||
t = now_mu()
|
||||
self.sawg0.amplitude1.smooth(.0, a1, t_up, order)
|
||||
|
|
Loading…
Reference in New Issue