Data Widgets
Experiment parameter editing widgets: FloatBox/BoolBox/ComboBox, writing changes straight back to the parameter attribute.
The experiment framework covers the complete chain from writing an experiment through scheduling to running it:
Experiment and implement build / run (for an introduction see
Writing your first experiment; for device mapping see
Configuring instruments);| Page | Module | Description |
|---|---|---|
| Experiment Queue Manager | experiment/experiment_queue | Tabular task queue |
| Experiment Run Manager | experiment/experiment_manager | Execution engine (measurement/sequence/run) |
| Experiment Run Scheduler | experiment/ | Overview of the scheduling mechanism |
| Experiment Preparation | experiment/prepstation | Preparation station (stage/push) |
| Loop Manager | looper/ | Conditional loop execution |
| Process Manager | entries/processmanager | Process start/stop panel |
| Page | Module | Description |
|---|---|---|
| Sequence Editor | editors/editor_sequencer | Code editing + sequence simulation |
| Timeline Viewer | entries/experiment_timeline | FPGA timing visualisation |
| Run Monitor | streammonitor/ | Data/message monitoring |
| Experiment Browser | browser/ | Main application browser |
| Page | Module | Description |
|---|---|---|
| Data Widgets | widgets/arg_boxes | Parameter input widgets |
| Experiment Parameter Manager | entries/dashboard | Default parameter system |
| Collapsible Sections | widgets/theexpandables | Collapsible sections |
| Preparation Queue Manager | widgets/models | Queue/preparation table models |
| Worker Task Manager | widgets/browser_workers | Worker threads |
| Multithreaded Worker Framework | widgets/helper_workers | Worker threads |
| Auto-save Editor | editors/auto_save_editor | Periodic save times |
| Base Window Widgets | widgets/quatmQt | GUI base widgets |
Experiment parameter editing widgets: FloatBox/BoolBox/ComboBox, writing changes straight back to the parameter attribute.
GUI base widgets: BWidget/BFrame/BMainWindow and searchable combo boxes, etc.
Experiment code editing and sequence simulation: syntax highlighting, parsing and output-channel timing visualisation.
The core experiment execution engine: takes tasks from the queue and schedules them by measurement/sequence/run level.
The main application browser: file tree, queue/preparation station/looper and MDI experiment windows.
Tabular experiment task queue: task dictionary, priority sorting, pause/termination and reserved execution.
QRunnable multithreaded tasks: callback execution in Worker + WorkerSignals signalling back to the main thread.
Editor for the list of periodic HDF5 auto-save points in time: checkbox + date/time save instants.
FPGA experiment timing visualisation: a step-plot viewer of the DAC/TTL output channels over time.
QRunnable multithreaded worker framework: callback execution in Worker + WorkerSignals signalling back to the main thread.
Conditional loop executor: automatically repeat/jump/terminate a group of tasks based on measurement results.
Table models for prepared tasks (preparation station): the list model PrepModel and the queue ScheduleModel.
The run scheduling mechanism: central enqueueing in the queue, workers fetching tasks by priority/reservation time.
The preparation station: staging, editing, ordering and pushing tasks before they are sent to the queue (prepfile persistence).
Distributed process panel: start/stop background processes grouped as Servers/Driver/GUI/Viewer/Monitor.
The default experiment parameter system: DefaultExp aggregates device parameters, Dashboard edits them grouped by device.
Data-stream monitoring GUI: data/image/command/message multi-tab monitoring and single-stream panels.
Collapsible-section dialog: SectionExpandButton toggling + CollapsibleDialog defining the sections.