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][usage].
Before 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
The timetag-acquire
daemon should be started by
systemd
when the device is plugged
in.
On Ubuntu Vivid,
$ sudo apt-get install python-matplotlib python-zmq
$ cd ui
$ sudo ./setup.py install
timetag_ui
(found in the ui/
directory) and timetag_seq_ui
are
Python-based applications wrapping the low-level utilities provided in
this package in easy-to-use graphical interfaces.
The hardware is managed by a system-wide daemon, timetag_acquire
.
This daemon accepts commands and publishes events on a set of local
ZeroMQ sockets.
-
/tmp/timetag-ctrl
is aREP
socket that allows users to submit control commands. Thehelp
command provides a full listing of available commands (seetimetag-cli
to conveniently work with this interface). -
/tmp/timetag-data
is aPUB
socket to which records from the device are written. Seetimetag-cat
to conveniently dump data from this interface. -
/tmp/timetag-event
is aPUB
socket 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 stdout
. For
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
timetag_bin
: Bin photons into temporal bins.
timetag_dump
: Dump text representation of records in a file
timetag_cut
: Extract subsets of a .timetag
file.
timetag_extract
: Extract binary timestamps