Parser Problems

The parser is used to stream multicasted data packets from the board into KST-readable “dir” files.

The parser lives at pydfmux/firmware/mcgill/x86_64/parser

The syntax is:

$ ./parser -d /path/to/desired/dirfile/directory

Note

Although useful as a light-weight and self-contained tool to stream data, this tool has now been superseded by the SPT3G_software tools at https://github.com/SouthPoleTelescope/spt3g_software .

An example of how to use the “3G”-type streamer to create KST-readable files may be found: https://github.com/SouthPoleTelescope/spt3g_software/blob/master/examples/ledgerman.py

DIR files are made, but are empty

You may need to teach your control computer where to find the multicast streams:

$ sudo route add -net 224.0.0.0 netmask 240.0.0.0 eth1

Where eth1 should be whichever network adaptor is plugged into the network shared by the iceboards.

Warning

This configuration should be present by default if you have correctly set your “option routers” in the dhcp config file of your host computer. Doing this temporarily erases the default multicasting route and will interrupt data transfer before the new one is enabled. If you are using NetBoot this shouldn’t be necessary, and may screw things up.

“Too many open files”

If you try and run the parser but get many, many, of the following errors:

GetData: Error accessing 192_168_1_228_m8/192_168_1_228_m8_irig_sbs: Too many open files

You need to change the file-descriptor or open-file limit on your machine.

You will need at least one open stream per i and q ‘channel’, including additional streams for IRIG and such.

Ballpark 1,100 per IceBoard.

You can see your limits using:

$ ulimit -a

To temporarily change the limits:

$ ulimit -n 65536

There are various ways simple ways to make this a permanent change, depending on your OS. Relevant buzz-sentence is “increase file descriptor limits”.

Frequencies and Sampling Rates

The Sampling rate of the multicasted packets (which are grabbed by the parser) is given by:

Where FIR is the FIR stage. We typically run at FIR 6, which corresponds to approximately 152 Hz.