09/07/14 : Added threading for stack writing registers
12/08/14 : Working agnostic version of the new structure on Master
15/08/14 : System Controller Class working
19/08/14 : Project wrapped, called ACF for Acquisition & ContFramework
09/10/14 : added Visitor class and the corresponding accept methodsthe HWDescription objects
15/10/14 : re-wrote the GlibFWInterface::ReadData() method, completere-wrote the parsing of the raw buffer and the offsets, modified the Dand Event classes to be more lightweight and less complex
17/10/14 : renamed the project to Ph2_ACF & re-structured the folarchitecture and added command line parsing to the executables (v1-00)
17/12/14 : major update (v1-01) including:
performance improvements (use of C++11 features)
general bugfixes
a new, faster calibration routine
a common-mode-noise tester tool
compatability with DIO5 FW for external triggering / clocking
updated address table for 2 & 8 CBC setups
new FW files for DIO5 FW for 2 & 8 CBC setups
a macro directory with a macro to visualize calibration results
11/02/15 :
new update (v1-02) with the following changes:
removed all dependences on ROOT from the HWDescription/ HWInterface / System / Utils Library
added a new Tool base-class that inherits from SystemController and handles the creation of Root files for the Tools (the Tools library is the onely one that requires ROOT)
all Tools (cmd-line applications) now inherit from Tool instead of SystemController
added a loop to the Destructors of HWDescription Objects that explicityl delete the child-objects in the HWDescription ownership strucuter to avoid memory leaks
added a parameter to some methods of the SystemController class that allow to pass an ostream - this allows to redirect the output from std::cout as desired
new Methods:
RegManager::GetHWInterface and RegManager::getUhalNode methods
BeBoardInterface::ReadBlockBoardReg and a BeBoardInterface::WriteBlockBoardReg
BeBoard::getReg & BeBoard::setReg use uint32_t instead of uint16_t
BeBoardFWInterface::ReadBlockRegValue pure virtual method and GlibFWInterface::ReadBlockRegValue that implements the uHAL bug workaround
24/02/15 :
new update (v1-03) with the following changes:
CbcInterface::WriteReg() now return the written Register value
writing to the Glib now also takes care of avoiding the 256th word uHAL bug
some modifications to HybridTester tool to make it compatible with the GUI
added a CMD line option: g for GUI, should only be used by the latter
SystemController class can now parse .json files in addition to .xml
04/03/15:
added GUI (v1-10)
05/03/15 :
New FpgaConfig object in HWInterface to manage firmware uploading.
added WriteBlockAtAddress and ReadAtAddress functions in RegManager used by the upload dialog.
BeBoardInterface::FlashProm(...) uploads an MCS file into the FPGA
15/04/15 :
Acquisition in a separate thread (v1-11)
Start() should be called when acquisition begins, Stop() when it ends and ReadData(...) at each iteration.
New functions BeBoardInterface::StartThread, StopThread, getNumAcqThread, isRunningThread. Abstract class HwInterfaceVisitor.
datatest -p option to perform an acquisition in a separate thread
datatest -i option to ignore CBC configuration. Can be run on a bare GLIB board without CBC
07/05/15:
merged Commissioning branch (v1-12)
contains class for Commissioning: latency scan, threshold scan, stub latency scan
some additions to the Utils/CommonVisitors
added a stub bit method to the Event class
restructured the ostream operator of the Event class
05/06/2015:
minor modifications
BeBoardFWInterface::ReadData() now returns the number of packets read during the acquisition for faster event counter checks.
11/06/2015:
merging a new design for Data and Event classes (v1-20)
Data class now holds a vector of Events and the events are directly decoded after acquisition - the char* databuffer does not exist any longer