Commit 52e58b81 authored by Georg Auzinger's avatar Georg Auzinger
Browse files

Add changelog

parent 7dc98f00
Changelog:
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
added methods: std::vector GetEvents(); Event* GetEvent()
updated all scripts
17/07/2015:
including a new executable fpgaconfig to upload .mcs files to the EPROM, updated tool base-class, included DQM code from the Beamtest
fpgaconfig binary allows to upload FW images to EPROM (2 separate images)
tool base class now contains containers for histograms along with bookHisto(), getHisto(), saveHisto() methods
modified all other tools accordingly
merged the DQM code from the June '15 beamtest into miniDQM binary
updated Makefiles to build RootWeb & miniDQM
04/08/2015:
adding a faster & more precise algorithm to extract the parameters from SCurves via differentiating it - implemented in FastCalibration
11/08/2015:
adding threaded File IO features (v1-21)
added FileHandler class for threaded saving of binary data as it comes from the GLIB to file (without speed penalty)
FileHandler can also read binary files for playback (see miniDAQ/datatestFromfile.cc)
adding miniDAQ executable that saves to file and handles runnumber in a hidden Data/.run_number.txt file
miniDQM code based on BT DQM still available for playing back the binary data
datatest now has a -s option to specify a filename where binary data should be saved (optionally)
06/10/2015:
adding several new features:
bugfix w.r.t. 8CBC data format
bugfixed 8CBC_DIO5 firmware
a mechanism that throws an exception if a non-existing CBC register is to be written
a binary to measure the pulseshape of the CBC on all channels of a test-group
added support for THttp Server support (web access to histograms & root objects)
a webgui
re-worked Fpga configuration options
CTA FW interface
revised Root-web DQM structure
18/11/2015:
new features added (v1-30):
BeBoard configuration option that specifies the # of CBCs that are in the data coming from the FW
compatability with 16 CBC firmware
handling of 16 CBC modules as one FE in SW (2 FEs in FW)
new SCurve BaseClass for Calibraton & noise scans
iterative readback-error correction (SW tries to write every register agin that produced an error for 5 times)
simplified FastCalibration
removed old Calibration algorithm
introduced new, bitwise and super-fast calibration algorithm
11/12/2015:
new uHAL connection configuration:
added new Constructors to RegManager, BeBoardFWInterface, GlibFWInterface, CtaFWInterface that take uhal connection: id, uri, address_table
modified system controller accordingly so these strings are passed to the constructor
adapted config files
15/12/2015:
simplified Glib/CtaFWInterfaces (v1-31):
adapted and simplifeid FWInterfaces
removed #define statements for FW registers - are now called directly as string from code
simplified Definitions.h
added an Encode Reg method that can be passed the FE ID instead of decoding it from the CBC id
merged DQM code from Nov15 beamtest
03.03.2016:
some updates & additions (v1-32)
added support for CMS Tk Ph2 Data format (.daq) files generation
added the option for CMS Tk Ph2 Antenna driver as plugin
removed the Shelf objects from the code for simplicity
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment