Overview
Data Format
At each trigger, the UDP Encoder sends one header structure followed by up to eight channel structures.
See the definitions of encoder_header_t and encoder_channel_t in github: UdpEncoder.hh
Configuring the Timing System
On a DAQ Partition
Matt Weaver writes
I just updated the 'tprtrig' application in the lcls2 repo. You can get it to trigger the EVR on a DAQ partition like so: $ tprtrig -t a -c 0 -o 1 -d 2 -w 10 -p 4 programs EVR /dev/tpra (-t a) to generate a TTL trigger using logic channel 0 (-c 0) on output 0 (-o 1 [bit mask]) with delay of 2 119MHz clocks (-d 2) and width 10 119 MHz clocks (-w 10) for every L1Accept on partition 4 (-p 4).
Standalone
Matt Weaver writes:
Generate 1Hz triggers on output 0 with a width of 54 nanoseconds. $ lcls2-git/psdaq/build/psdaq/app/tprtrig -t a -c 0 -o 1 -d 1 -w 10 -r 6
Testing
Monitoring UDP packets with netcat
-bash-4.2$ hostname drp-neh-cmp011 -bash-4.2$ nc -lvu 192.168.0.8 5006 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Listening on 192.168.0.8:5006 Ncat: Connection from 192.168.0.3. 'plc-tst-proto6w? ?bdSimEncoder (plc-tst-proto6Q? ?zdSimEncoder )plc-tst-proto6+g ??dSimEncoder *plc-tst-proto6 ??dSimEncoder +plc-tst-proto6 ??dSimEncoder^C -bash-4.2$