rta: Disallow invalid composition of delayed tasks
Created by: bjackman
This example:
wl = RTA(te.target, 'mywl', calibration=calib)
wl.conf('profile',
params = {'t': Periodic(delay_s=3, duration_s=1) +
Periodic(delay_s=2, duration_s=1)).get()})
Should semantically result in
- 3s delay
- 1s of periodic behaviour
- 2s delay
- 1s of periodic behaviour.
But part 3 (the second delay) will be ignored due to the way we use the "delay" field.
We could probably fix this using a "sleep" event, but to keep things simple let's just disallow this type of composition, unless we later find that we need that feature.