mirror of https://github.com/m-labs/artiq.git
ad9910: fix int64 operations
This commit is contained in:
parent
af1b6d8d33
commit
5e4ae4dfd9
|
@ -605,7 +605,7 @@ class AD9910:
|
||||||
phase_mode = self.phase_mode
|
phase_mode = self.phase_mode
|
||||||
# Align to coarse RTIO which aligns SYNC_CLK. I.e. clear fine TSC
|
# Align to coarse RTIO which aligns SYNC_CLK. I.e. clear fine TSC
|
||||||
# This will not cause a collision or sequence error.
|
# This will not cause a collision or sequence error.
|
||||||
at_mu(now_mu() & int64(~7))
|
at_mu(now_mu() & ~int64(7))
|
||||||
if phase_mode != PHASE_MODE_CONTINUOUS:
|
if phase_mode != PHASE_MODE_CONTINUOUS:
|
||||||
# Auto-clear phase accumulator on IO_UPDATE.
|
# Auto-clear phase accumulator on IO_UPDATE.
|
||||||
# This is active already for the next IO_UPDATE
|
# This is active already for the next IO_UPDATE
|
||||||
|
@ -632,7 +632,7 @@ class AD9910:
|
||||||
self.set_pow(pow_)
|
self.set_pow(pow_)
|
||||||
delay_mu(int64(self.sync_data.io_update_delay))
|
delay_mu(int64(self.sync_data.io_update_delay))
|
||||||
self.cpld.io_update.pulse_mu(int64(8)) # assumes 8 mu > t_SYN_CCLK
|
self.cpld.io_update.pulse_mu(int64(8)) # assumes 8 mu > t_SYN_CCLK
|
||||||
at_mu(now_mu() & int64(~7)) # clear fine TSC again
|
at_mu(now_mu() & ~int64(7)) # clear fine TSC again
|
||||||
if phase_mode != PHASE_MODE_CONTINUOUS:
|
if phase_mode != PHASE_MODE_CONTINUOUS:
|
||||||
self.set_cfr1()
|
self.set_cfr1()
|
||||||
# future IO_UPDATE will activate
|
# future IO_UPDATE will activate
|
||||||
|
@ -1108,7 +1108,7 @@ class AD9910:
|
||||||
# dFTW = 1, (work around negative slope)
|
# dFTW = 1, (work around negative slope)
|
||||||
self.write64(_AD9910_REG_RAMP_STEP, -1, 0)
|
self.write64(_AD9910_REG_RAMP_STEP, -1, 0)
|
||||||
# delay io_update after RTIO edge
|
# delay io_update after RTIO edge
|
||||||
t = now_mu() + int64(8) & int64(~7)
|
t = now_mu() + int64(8) & ~int64(7)
|
||||||
at_mu(t + delay_start)
|
at_mu(t + delay_start)
|
||||||
# assumes a maximum t_SYNC_CLK period
|
# assumes a maximum t_SYNC_CLK period
|
||||||
self.cpld.io_update.pulse_mu(int64(16) - delay_start) # realign
|
self.cpld.io_update.pulse_mu(int64(16) - delay_start) # realign
|
||||||
|
|
Loading…
Reference in New Issue