mirror of https://github.com/m-labs/artiq.git
pdq2.mediator: minor tweaks
This commit is contained in:
parent
f2acf95f98
commit
aa50c5b4d9
|
@ -5,7 +5,6 @@ frame_setup = 20*ns
|
||||||
trigger_duration = 50*ns
|
trigger_duration = 50*ns
|
||||||
sample_period = 10*ns
|
sample_period = 10*ns
|
||||||
delay_margin_factor = 1 + 1e-4
|
delay_margin_factor = 1 + 1e-4
|
||||||
minimum_duration = 100*ns
|
|
||||||
|
|
||||||
|
|
||||||
class FrameActiveError(Exception):
|
class FrameActiveError(Exception):
|
||||||
|
@ -104,9 +103,9 @@ class _Frame:
|
||||||
def _get_program(self):
|
def _get_program(self):
|
||||||
r = []
|
r = []
|
||||||
for segment in self.segments:
|
for segment in self.segments:
|
||||||
if segment.duration < minimum_duration:
|
if segment.duration < 2*trigger_duration:
|
||||||
raise ValueError(("Segment too short ({:g} s), trigger might "
|
raise ValueError(("Segment too short ({:g} s), trigger might "
|
||||||
"overlap").format(segment.duration))
|
"spill").format(segment.duration))
|
||||||
segment_program = [
|
segment_program = [
|
||||||
{
|
{
|
||||||
"dac_divider": dac_divider,
|
"dac_divider": dac_divider,
|
||||||
|
@ -172,10 +171,10 @@ class CompoundPDQ2:
|
||||||
def disarm(self):
|
def disarm(self):
|
||||||
for frame in self.frames:
|
for frame in self.frames:
|
||||||
frame._invalidate()
|
frame._invalidate()
|
||||||
self.frames = []
|
self.frames.clear()
|
||||||
self.armed = False
|
|
||||||
for dev in self.pdq2s:
|
for dev in self.pdq2s:
|
||||||
dev.park()
|
dev.park()
|
||||||
|
self.armed = False
|
||||||
|
|
||||||
def get_program(self):
|
def get_program(self):
|
||||||
return [f._get_program() for f in self.frames]
|
return [f._get_program() for f in self.frames]
|
||||||
|
@ -185,7 +184,6 @@ class CompoundPDQ2:
|
||||||
raise ArmError()
|
raise ArmError()
|
||||||
for frame in self.frames:
|
for frame in self.frames:
|
||||||
frame._arm()
|
frame._arm()
|
||||||
self.armed = True
|
|
||||||
|
|
||||||
full_program = self.get_program()
|
full_program = self.get_program()
|
||||||
n = 0
|
n = 0
|
||||||
|
@ -207,6 +205,7 @@ class CompoundPDQ2:
|
||||||
n += dn
|
n += dn
|
||||||
for pdq2 in self.pdq2s:
|
for pdq2 in self.pdq2s:
|
||||||
pdq2.unpark()
|
pdq2.unpark()
|
||||||
|
self.armed = True
|
||||||
|
|
||||||
def create_frame(self):
|
def create_frame(self):
|
||||||
if self.armed:
|
if self.armed:
|
||||||
|
|
Loading…
Reference in New Issue