Parser Problems¶
Table of Contents
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
File is missing from git, or is only a symlink¶
The actual parser file is a binary, and so we do not store it in git directly. To pull down the actual file you need git-annex. To install and enable git-annex do the following from within the pydfmux directory:
$ sudo apt-get install git-annex
$ export AWS_ACCESS_KEY_ID=AKIAJEZIY2BA3HPBJBWQ
$ export AWS_SECRET_ACCESS_KEY=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
$ git annex enableremote cloud
To pull down binary files stored in git-annex do the following:
$ git-annex get pydfmux/firmware/mcgill/x86_64/parser
Be sure to change the permissions to be executible with sudo chmod +x parser
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.