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. 5/8/2009 Streamlined DRS response calibration (removing unnecessary initialisation steps) 10/8/2009 Socket interface to hvcontrol only checks, if first reponse starts with 'OK', otherwise assumes command to hvcontrol failed. 22/9/2009 The 'start' command will now start the DAQ without disk writing, but with invocation of the feedback. 23/9/2009 Fixed bug in RawDataCTX.cc: sequential event number in a file is only the same as the event number in the run for the first file part 16/12/2009 Removed automatic gain adaption in feedback (caused spikes in the correction) 9/3/2010 Feedback now depended on DIM for communication with bias server. Started migration to DRS4 (last tested revision as daqct3 for DRS2 is 161). DRS class will not run anymore with DRS2 FPGA firmware. 11/3/2010 Removed SlowData class. 12/3/2010 Removed local configuration and logging. 30/4/2010 Command 'start' now starts a normal run as 'take', but data is written to /dev/null, the run number is -1. 4/5/2010 Removed socket server, added DIM command handler (thus cannot communicate with ddd over socket anymore). Added DIM service containing full event. 18/5/2010 Rate of event service adjustable with command 'update'. 21/5/2010 Fix so that 'exit' command also works as DimCommand. 20/7/2010 Replaced mutex with Lock()/Unlock() from Evidence class, introduced DIM feedback state service, streamlined PrintMessage(). 27/7/2010 Removed feedback from drsdaq. Feedback is now a separate DIM server and invoked through a DIM command. Last revision with feedback integrated into drsdaq is 264. 30/7/2010 Published some run-related information as DIM service. 3/6/2011 Added 'write' command (for PEBS application). 6/6/2011 Event header is printed in RawDataCTX.cc before trying to seek.