Modification history of drsdaq program -------------------------------------- 23/3/2009 Changed 'Events' entry in run header. It now gives the number of events in the current file. 24/3/2009 Copied into FACT subversion directory. Updated location of configuration file and PixelMap.txt (in config/ in repository). Improved PrintMessage() and error outputs. 26/3/2009 Added PixelMap translation to communication with HV control. 30/3/2009 Added feedback gain. Checked into repository. 1/4/2009 Changed many 'char *' to 'const char *' to honour compiler warning on ihp-pc26 (newer version of g++ than on eth-vme02) 2/4/2009 Introduced check for magic number in RawDataCTX.cc 3/4/2009 Added frequency and scale factor transmission to socket protocol 6/4/2009 Allowed reading of data via read command also while DAQ is active. 22/4/2009 Included sizes of RunHeader, EventHeader and BoardStructure in RunHeader and changed some data widths in RunHeader to U32 to increase compatibility with Magic raw data format. Unique run numbers are now generated using the file LastRunNumber. 28/4/2009 Raw file writing uses now writev() and is changed entirely to Linux system calls instead of C++ library functions. Introduced new magic number that indicates an error while writing. More extensive error checking for I/O functions. Requesting zero events will let run go until stopped manually. Feedback writes slow data. 29/4/2009 DAQ writes run summary to slow data file. 14/5/2009 Streamlined raw data format. 18/5/2009 Included some version and size checking in RawDataCTX.cc. 19/5/2009 Subversion revision number included in run header. Added human readable date and time to slow data. 28/5/2009 Replaced NCMCBoards by NBoards for clarity. Added line editing capability with the readline library. 29/5/2009 Number of lines in log file limited to configurable number. 4/6/2009 Config file can contain array of numbers. Reading of config file now safe for buffer overflow. RawDataCTX class take the possibility of varying event data size into account. 12/6/2009 Trigger cells (determined using DRS class GetTriggerCell()) are stored as array of integers in event data. RawDataCTX class pointer 'Data' changed from short* to char*. 16/6/2009 Data is not rotated by copying in memory, but by saving to disk in correct order using writev() (10% gain in rate) 18/6/2009 Run date is now calculated with a change to the next date on 13:00 UTC. 9/7/2009 SlowData class is now independet of PrintMessage() method, thus more universal 14/7/2009 Fixed assignment of trigger type in event header (now 0 is hardware trigger, 1 software trigger). Fixed pointer-arithmetic for trigger cell writing if first board written to disk is not physically first board. 28/7/2009 Added configuration parameters SlowDataPath and DefaultFrequency. All configuration parameters are now mandatory: if one is not found, the program terminates.