From 710717ca9be375b54a920530ca4555f0e030490f Mon Sep 17 00:00:00 2001 From: Robert Jordens Date: Fri, 4 Mar 2016 18:14:24 +0100 Subject: [PATCH] ad5360: add batched zero-length multi-channel set() --- artiq/coredevice/ad5360.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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