This repository was archived by the owner on Mar 21, 2025. It is now read-only.
Enable configuration of scheduled automation jobs for instrument controllers #230
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR closes #215 and begins making progress on #231 by adding functionality to schedule an arbitrary number of recurring automation jobs on an instrument; the scheduling parameters are interval and start time (so it's possible to run a job at the start of every minute, for example, or just starting immediately and with an interval of 60 seconds). Each job is scoped to the instrument which the job is bound to. For this PR, a job consists of a single linear sequence of actions (to run the pump with the specified flowrate and volume and direction, to stop the pump, or to wait for some duration) on all Planktoscope controllers which match a name specified in the action (and which are bound to the instrument).
In the future, it could also be possible to, for example:
However, such extensions are currently out-of-scope of currently required functionalities.
Features:
planktoscope
; it repeatedly runs the pump for 5 seconds and then stops the pump for 5 seconds:And here's what the GUI looks like (this is bottom section of the instrument page):

Fixes:
enabled
columns in the instrument camera and controller tables now havenot null
constraints, with a default value offalse
.