timetag-tools — FPGA Time-tagger tools
These are a set of tools for operating the FPGA timetagger. These include a set of Python-based applications for data acquisition and low-level tools for manipulation, filtering, and extraction of photon data.
More details on the FPGA timetagger system can be found in the Usage manual.
timetag-tools can be started one must install the
timetag-fx2 package. After this
is installed simply run (on Ubuntu Vivid),
$ sudo apt-get install libusb-1.0-0-dev libboost-all-dev libzmq3-dev $ make $ sudo make install
timetag-acquire daemon should be started by
systemd when the device is plugged
On Ubuntu Vivid,
$ sudo apt-get install python-matplotlib python-zmq $ cd ui $ sudo ./setup.py install
Data acquisition interface
timetag_ui (found in the
ui/ directory) and
Python-based applications wrapping the low-level utilities provided in
this package in easy-to-use graphical interfaces.
Interacting with the hardware
The hardware is managed by a system-wide daemon,
This daemon accepts commands and publishes events on a set of local
REPsocket that allows users to submit control commands. The
helpcommand provides a full listing of available commands (see
timetag-clito conveniently work with this interface).
PUBsocket to which records from the device are written. See
timetag-catto conveniently dump data from this interface.
PUBsocket which publishes hardware events. The currently supported events are,
capture start: The device has started capturing records.
capture stop: The device has stopped capturing records.
timetag-cli provides an easy-to-use command-line interface to
timetag_acquire. If command-line arguments are given they will be
interpretted as a command and the result printed to standard
output. Otherwise the command acts as a simple read-evaluate-print
loop. For instance,
$ timetag-cli start_capture $ timetag-cli >>> capture? 1
timetag-cat prints incoming records from the device to
instance, to capture records to a file, one might use,
$ timetag-cli stop_capture $ timetag-cli reset_counter $ timetag-cat > my-records.timetag & $ timetag-cli start_capture $ sleep 10 $ timetag-cli stop_capture
Manipulating and extracting data
: Bin photons into temporal bins.
: Dump text representation of records in a file
: Extract subsets of a
: Extract binary timestamps