Time Tagger RPC implementation using Pyro5.
This project is in the alpha stage of the development. This means that the code successfully passed basic testing and is operational. However, some things might be broken, and the API may change in the future versions.
> pip install TimeTaggerRPC
Start the server on a PC with the Time Tagger connected.
> TimeTaggerRPC-server --help
usage: TimeTaggerRPC-server [-h] [--host localhost] [--port 23000] [--use_ns] [--start_ns]
--------------------------------------------
Swabian Instruments Time Tagger RPC Server.
--------------------------------------------
optional arguments:
-h, --help show this help message and exit
--host localhost Hostname or IP on which the server will listen for connections.
--port 23000 Server port.
--use_ns Use Pyro5 name server.
--start_ns Start Pyro5 name server in a subprocess.
Control Time Tagger remotely over the network.
import matplotlib.pyplot as plt
from TimeTaggerRPC import client
with client.createProxy(host='localhost', port=23000) as TT:
tagger = TT.createTimeTagger()
tagger.setTestSignal(1, True)
tagger.setTestSignal(2, True)
hist = TT.Correlation(tagger, 1, 2, binwidth=5, n_bins=2000)
hist.startFor(int(10e12), clear=True)
x = hist.getIndex()
while hist.isRunning():
plt.pause(0.1)
y = hist.getData()
plt.cla()
plt.plot(x, y)
TT.freeTimeTagger(tagger)
You can find more information about the Time Tagger API in the official documentation.