#!/usr/bin/env python3
# Filename: daqsample.py
"""
Take samples from a given DAQ ControlHost stream.
Usage:
daqsample [options] TAG OUTFILE
daqsample (-h | --help)
daqsample --version
Options:
TAG ControlHost TAG (e.g. IO_EVT).
OUTFILE Filename of the dump file.
-i LIGIER_IP IP of the Ligier [default: 127.0.0.1].
-p LIGIER_PORT Port of the Ligier [default: 5553].
-n SAMPLES Number of samples [default: 1].
-h --help Show this screen.
"""
import km3pipe as kp
__author__ = "Tamas Gal"
__copyright__ = "Tamas Gal and the KM3NeT collaboration."
__credits__ = []
__license__ = "MIT"
__maintainer__ = "Tamas Gal"
__email__ = "tgal@km3net.de"
__status__ = "Development"
[docs]
class Dumper(kp.Module):
[docs]
def process(self, blob):
self._fobj.write(blob["CHData"])
return blob
[docs]
def finish(self):
self._fobj.close()
[docs]
def main():
from docopt import docopt
args = docopt(__doc__, version=kp.version)
tag = args["TAG"]
outfile = args["OUTFILE"]
port = int(args["-p"])
ip = args["-i"]
n = int(args["-n"])
pipe = kp.Pipeline()
pipe.attach(kp.io.ch.CHPump, host=ip, port=port, tags=tag)
pipe.attach(Dumper, filename=outfile)
pipe.drain(n)