Campuses:
This is an old revision of the document!
The datafiles are named with the date and time of creation in the filename in YYMMDDHHMMSS format. This avoids overwriting, and puts the File D/T where it won’t be overwritten by the operating system when the file is copied or opened and inadvertently saved. The filenames also sort nicely in a directory listing in this format. File size is limited to 100MB and a new file is started when this limit is exceeded. At max data rate, 250,000 triggers/sec, it takes about 7 seconds to fill a 100MB file. Sustained high rates are not normal, however, and only occur during testing or fault conditions.
A block of information is prepared and prepended as a header when a file is opened, and appended as a footer when the file is closed. It take the following form:
* block of 9 U32 xFFFFFFFF flag integers * U32 Endian indicator xFFFF0000 (if endian-ness of a system reading the file is wrong, it would come back x0000FFFF ) * * U32 header size (# of bytes of following header contents up to, but not including the the final 10 flag integers) * U32 last strobe time in unix seconds (since 00:00:00 Jan 1 1970) * U32 header version number Tab delimited character block follows with tags separated from their respective data by a horizontal tab (ASCII 09), and the data from the next tag by a carriage return/linefeed combo (ASCII 13, 10): * Location<t>xxyy<cr><lf> (where xx is the DAQ computer ID, and yy is the mux ID) * Volts<t>xxxx<cr><lf> (where xxxx is four digit voltage) * Mask0<t>hhhhhhhh<cr><lf> (Channel Mask where hhhhhhhh is an 8 digit hex representation of 32 boolean bits, 0=bad:1=good) * Mask1<t>hhhhhhhh<cr><lf> * Mask2<t>hhhhhhhh<cr><lf> * Mask3<t>hhhhhhhh<cr><lf> * Mask4<t>hhhhhhhh<cr><lf> * Mask5<t>hhhhhhhh<cr><lf> * Mask6<t>hhhhhhhh<cr><lf> * Mask7<t>hhhhhhhh<cr><lf> * Comments<t>unlimited string<cr><lf> end of character string info * block of 10 U32 xFFFFFFFF flag integers