-
Load and Modify Commands
User commands are loaded from the fileeverything.txt, which contains FPGA and DDS sequences. These commands are parsed and executed on FPGA and DDS systems. -
Multi-threading
The experiment runs in a separate thread, allowing users to control the process (pause, resume, abort) without interrupting the main flow of the program. -
Live Data Plotting
Real-time plotting of histograms and sequence data is achieved usingmatplotlib. Data is continuously fetched from a queue and dynamically displayed. -
Keyboard Shortcuts
The following shortcuts can be used to control the experiment:- P: Pause the execution.
- R: Resume the execution.
- ESC: Abort the execution.
- Run the following command to open the graphical user interface (GUI):
python chapter_gui.py
- Load or save the chapter as
xxx.dat.
This file contains the default values for all DDS devices. The DDS devices are initialized with values from dds_defaults.csv.
This section allows users to change the default DDS values for each experiment without modifying the dds_defaults.csv file.
-
Format:
<DDS serial number>, <parameter>, <value><DDS serial number>: The name of the DDS to be modified.<parameter>: The parameter (column) to modify, which should correspond to the column name indds_defaults.csv.<value>: The new value for the parameter.
Defines the number of repetitions for each experiment. If left empty, the number of repetitions defaults to 100.
- Format: Integer
This section lists the names of gates or chapters that will be loaded into the FPGA sequence.
- Format: Chapter name followed by a newline (The sequence order is from top to bottom).
Specifies the type of scan to be performed (either delayscan or freqscan).
-
Format for
delayscan:
<scan type>, <Gate name>, <row>, <start value>, <stop value>, <step increment><scan type>:delayscan<Gate name>: The name of the chapter where the delay value will be changed.<row>: The row number in which the delay value will be modified (1 for the first row, 2 for the second, and so on).<start value>: The initial delay value.<stop value>: The final delay value.<step increment>: The step size for each increment.
Example:
delayscan, Measurement, 1, 0, 200, 5 -
Format for
freqscan:
<scan type>, <DDS serial number>, <parameter>, <start value>, <stop value>, <step increment><scan type>:freqscan<DDS serial number>: The name of the DDS whose frequency will be modified.<parameter>: The frequency-related column to modify (corresponding to the column name indds_defaults.csv).<start value>: The initial frequency value.<stop value>: The final frequency value.<step increment>: The step size for each increment.
- Start a scan by running the following command:
python parse_command.py
- The resulting histogram will be saved as
.datfiles in either thedelayscanorfreqscandirectories. - To view the plot, run the following command:
python plot.py