diff --git a/artiq/coredevice/ad5360.py b/artiq/coredevice/ad5360.py index 0df78f824..af9f4f9e7 100644 --- a/artiq/coredevice/ad5360.py +++ b/artiq/coredevice/ad5360.py @@ -98,3 +98,15 @@ class AD5360: self.ldac.off() delay_mu(3*self.bus.ref_period_mu) self.ldac.on() + + @kernel + def set(self, values, op=_AD5360_CMD_DATA): + # write() compensation + delay_mu(-len(values)*(self.bus.xfer_period_mu + + self.bus.write_period_mu + + self.bus.ref_period_mu) - + 3*self.bus.ref_period_mu) # latency alignment + self.write_channels(values, op) + delay_mu(3*self.bus.ref_period_mu) # latency alignment + self.load() + delay_mu(-3*self.bus.ref_period_mu) # load() compensation