Version history of FADctrl 22/10/2010 First check-in of FADctrl. Initial version derived from drsdaq revision 10007. 5/1/2011 First version of amplitude calibration (no secondary calibration, yet). New 'socketmode' command. 13/1/2011 Amplitude calibration data is written to text file. 19/1/2011 Implemented secondary calibration. 21/1/2011 DIM event thread now informed through pipe of new data 23/1/2011 Data can be written to disk in M0 format 24/1/2011 Integrated amplitude calibration into FADBoard class 27/1/2011 Moved OpenOtherSockets() to FADBoard class 2/2/2011 Warning if amplitude calibration missing for data taking 4/2/2011 Fixed exitHandler() being stuck at pthread_join() 11/2/2011 Moved connect() call to thread of FADBoard class 14/2/2011 Moved initialisation commands to Evidence configuration file 18/2/2011 Added 'reconnect' command 28/2/2011 Removed 'static' keywords in FADBoard::ReadLoop() 1/3/2011 Board list can be passed via command line 2/3/2011 Implemented new FAD data format 28/3/2011 Boards with communication error set themselves inactive 29/3/2011 Added Status message service for each board (removed several console messages in turn) Limited update rate of slow control data to 1 second or interval set by 'update' 1/4/2011 Added DIM frequency service 5/4/2011 Added DIM rate service for each board 6/4/2011 Bug fix in internal pipe communication 4/5/2011 Removed 'daqmode' (had no function). Added 'reset_trigger' and 'runnumber' commands. Event format adapted (ADC data not sent in network byte order anymore). 20/5/2011 Missing pthread_mutexattr_init() in FADBoard constructor caused spurious errors when locking mutex Added cleanup handler to thread in FADBoard class to ensure mutex is unlocked when thread cancelled 25/5/2011 dcm_lock and dcm_ready bits were incorrectly evaluated. 3/6/2011 Raw data files will only contain boards active at the start of the run. 7/6/2011 DIM event service only contains active boards 21/6/2011 Command 'boards' takes 'none as argument 24/6/2011 PLL lock status published as DIM service 7/7/2011 Fixed error in setting the active boards in EventThread() 13/7/2011 FAD board time published as DIM service 13/6/2012 New command to determine dynamic range using the calibration DACs