Experiment timeline

FPGA experiment timing visualisation: a chart viewer for DAC and TTL output channels against time.

Overview

quatm/GUI/entries/experiment_timeline.py provides the experiment timeline (Timeline): it loads an experiment timing JSON file (experiment.json), draws the variation of each DAC/TTL output channel over time as step subplots, and provides a checkbox panel of output channels to decide which curves are visible, which makes experiment timing logic easier to debug and verify.

Components

ComponentDescription
TimelineTimeline viewer main window: file loading, plotting and channel control
TimelinePlotterTiming visualisation widget: plots the state of each active output against time
SelectorWidgetOutput-channel checkbox panel: select all / select none decides the visible curves

Key methods (Timeline)

MethodDescription
load_fileLoads and parses the timing JSON, constructs the time series and refreshes the channel selector
plot_experimental_sequenceCreates a separate subplot for each output according to the channel selection and draws a step plot
decode_ttl_bitmaskSplits the 32-bit TTL bitmask into set/clear commands for the individual channels
construct_time_sequencesConverts the step-wise timing into times/vals sequences organised per channel
reverse_device_db_transformationDevice-database reverse transformation: maps internal names back to readable names (including the gauge calibration table)

Usage

from quatm.GUI.entries.experiment_timeline import Timeline

tl = Timeline()
tl.load_file("experiment.json")   # load a timeline file and plot it
tl.show()