fdhwlib  2.0.25
Changes
ChangeLog  -  Package fdhwlib

Hardware access library for the Auger Fluorescence Detector
Andreas Kopmann  <kopmann@ipe.fzk.de> (ak)


Known bugs
- The gpsserver uses always the actual number of leap seconds
  to calculate all time stamps. In case of a leap second change
  the older second counters might be wrong.
- The leap second table in aktimelib.ini has been maintained manually.
  This can be also done using the new leap second flag of the
  gps clock!
- The variables FE_INIPATH are used also in general functions that
  can also be used with other projects.
  20.01.06 ak


Changes in 2.0.25
- new leap second #17 @ 2015/07/01
  05.01.15 thjm
- new leap second # 18 at 2017/01/01
  06.07.16 thjm

Changes in 2.0.24
- libPCIDMA now runs on 64 bit machines (class PbusPCIDMA: rawRead, rawWrite, readBlock, writeBlock),
  however the method signatures are unchanged (still long int = 64 bit on 64 bit machines),
  this needs to be changed in the future;
  new linux kernel driver is fzk_ipe_slt3;
  increased micro version to 24, rpm release to 81.
  18.09.2012 tb
- rpm 4.11: bogus dates in fdhwlib.spec(.in) corrected,
  some quirks for the 64 bit architecture, either autotools or rpm 
  03.03.14 thjm

Changes in 2.0.23
- DMA: new target libPCIDMA (enables DMA block read with PBus::readBlock if compiling
  with libPCIDMA instead of libPCI and using new linux kernel driver fzk_ipe_slt_dma)
  15.04.11 tb

Changes in 2.0.22
- reverted change in baseserver.h; sri, was not properly tested
  15.03.11 thjm

Changes in 2.0.21
- made logging of gpsserver a bit adjustable + from ini-file
  07.03.11 thjm
- changes for libtools 2.2.x
- config.guess config.sub ltmain.sh no longer in CVS
  15.02.11 thjm
- gpsserver writes important changes to its log (big brother...)
  14.02.11 ak
- FE4configuration::checkStatus(), fflush(stdout) added for my tests
  14.01.11 thjm
- fixes to FEdata/Makefile.am, not sure if this is as desired by AK
- dictionary generation with patches inspired by S.Benzwi
  02.12.10 thjm
- coding with inlines, abstract interface etc. of classes
  - FEbaseConfiguration
  - FEbaseSensor
  - FEbaseTestpuls
  - FEbaseHitrateControl
  19.10.10 thjm
- from branch v19_branch (revision v1914r74)
  - gpsserver.cpp accepts FW rev 700
  - GpsServer::getVersion() added
  16.07.10 thjm
- V4: FE4configuration::inhibit() writes 0x07 initially, not 0x0f
  30.09.10 thjm
- Fixed 64-bit problem in display of time stamps of the capure inputs
  16.7.10 ak
- Fixed compile problems in FEdata (Include path and namespace for rootcint)
  7.7.10 ak

Changes in 2.0.20
- fixed compiler warning and tried to fix ambiguous code parts
  14.06.10 thjm
- fixes for gcc 4.4.x
- some stuff for burst readout already added
  05.10 tb
- fix to flt/slt page offset determination
  03.05.10 thjm
- interface for RunTime counter readout & impl. missing, added
- FEbaseTiming now mostly with inlines
  09.04.10 thjm

Changes in 2.0.19
- have pointers, not objects in class FE
- FEbaseImage mostly with inlines
  18.03.10 thjm
- FADC trace readout, with flexible start and length parameter
- FE4image::readPage()
  13.03.10 tb
- readout of all bits from TriggerTimeStamp (as in V3)
  08.03.10 thjm
- const correctness in PbusError (fixed warning)
- FE4event:
  - fixed calculation of sub-nanoseconds
  - getLastTriggerTimeStampLow() fixed
  05.03.10 thjm

Changes in 2.0.18
- merged in some changes done to branch v19_branch (1.9.12 + 1.9.13)
  - made PbusError again more verbose
  - TsBackgroundLoop::writeMessageToDatabase() uses recordDatabase flag
  14.01.10 thjm
- new directory katrinhw4 and classes
  **.11.09 tb
- FEbase*: added virtual destructors where missing
  28.09.09 thjm
- fixed inclusion scheme: Hw/SltDef.h <-> hw4/sltdef.h etc.
  15.10.09 thjm

Changes in 2.0.17
- SLT_* macros added to sltdef.h
  21.09.09 thjm
- hw4::TsBackground + new class TsBackgroundData
- type Bool_t is bad, removed
  18.08.09 thjm
- Ts4Background: implementation provided (partly)
  14.08.09 tb
- Fixed bug in virtual classes executeCmd in SimpleServer classes
  6.8.09 ak
- Change gpsserver startup procedure. The message handler is now started before 
  requesting any gps clock configuration.
- Changed the data type of the socket classes. With 64bit systems it is not possible 
  to use long data types any more. For compatibility new functions with the old
  long types are added. 
- Fixed gpsserver / gpsunit communication to work for 64bit systems. 
  5.8.09 ak 
- missing PageSelect/SetPage initialisation, fixed
- need to compile TsBackgroundReader for V3 and V4 separately
  *.08.09 thjm
- Switched initialization of Gpsclock and start of messages handler
  04.08.09 ak

Changes in 2.0.16
- FE4configuration:init() implemented
- fixes to readout/configuration of PageOffsets
- error flag readout improved, no reset so far
- some register definitions fixed/extended
  .. 31.07.09 tb & thjm

Changes in 2.0.15
- FE4hitrateControl::get/getParameters() implemented
- obsolete constants removed
- temporary fix for counter register address error
  21.07.09 thjm
- FltThreshold: changed for new act/prev threshold firmware scheme
- fltdef.h and sltdef.h with static const rather than #defines
- conversion functions 'register value' <-> 'hitrate sampling time'
- unused variable warnings fixed
- included compiler warning options into configure.ac
  13.07.09 - 17.07.09 thjm
- interface and implementation for SltPageData and Multiplicity V4 provided
  11.07.09 tb
- corrections to the implementation of
  - FE4event::set/getCoincidenceTime()
  - a few minor changes ...
- class inheritance scheme(s)
  - Hw/SltTime and hw4/SltTime have now base class Hw/SltTimeBase
  03.07.98

Changes in 2.0.14
- header file inclusion scheme for v4 fixed & unified
- inheritance scheme for classes Subrack and SubrackBase modified
- new class SubrackBoardBase
- new class TsBackgroundBase and special impl. for V4,
  we have now libFEdata.a and libFE4data.a
  thjm 02.07.09
- fix to register setup in sltauger.cpp
  tb 01.07.09
- TsBackground.* modified for feshell4
  thjm 30.06.09
- ts* classes adopted to new FDEventLib interface
- classes FE4pageStatus and hw4::SltPageStatus removed
- re-worked and extended implementation of class FE4event
  thjm 26.06.09

Changes in 2.0.13
- FEevent & Co.: 3 unimplemented methods removed
  thjm 27.05.09

Changes in 2.0.12
- fixes for gcc 4.3.x (inclusion scheme for atof(), abs())
  thjm 26.05.09
- tried another way of defining MySQL requirements for installation
  thjm 11.05.09
- changes from Till for many classes (filling them)
  tb 05.09
- configure.in: RPM_REQUIRES modified for MySQL on 10.3
  thjm 06.05.09
  
Changes in 2.0.11
- class FEtimeStamp duplicated to FE4timeStamp
- class FEpageStatus dumplicated to FE4pageStatus
- files fepagestatus.cpp & fetimestamp.cpp replaced by inline implementation
- FE4: all FEunit* stuff commented out, but not from FE*
  thjm 6.4.09

Changes in 2.0.10
- virtual destructors added where needed
- fixed 'hidden method' warnings
- removed "using ... <class_name>" from header files
  3.4.09 thjm
- fdhwlib.doxygen.in updated to doxygen 1.5.3
  & created also fdhwlib-hw4.doxygen.in (make doc)
- USE_PDFLATEX set to 'yes', this is more robust
  & using pdflatex instead of latex to generate the refman.pdf
  -> didn't get this working -> commented out
  2.4.09 thjm

Changes in 2.0.9 
- Splitted FE-layer for version 3 and version 4 code. Both design can be used in parallel.
  Synchronized this version with CVS
  1.4.09 ak

Changes in 2.0.8
- Added Pbus::set() for PbusProxy interface
- Added debug output for PbusSim depending of debugLevel (via Pbus::set("debug"))
- Added DataBlock Registers in Slt implementation and PbusPCI (auto increment mode)
  4.3.09 ak 

Changes in 2.0.7
- Added the missing address shift in the pbuspci implementation.
  20.2.09 ak

Changes in 2.0.6
- Change Slt memory implementation. Now the element field must be used
  to access the memory...
  3.2.09 ak

Changes in 2.0.5
- Adjusted bit fields according to hardware specification 2.09
  30.1.09 ak

Changes in 2.0.4
- hw4, Added some bit fields
- hw4, Implemented checkSlot and setActualTime
  26.1.09 ak 

Changes in 2.0.3
- Added separate documentation for hw4 implementation
  19.1.09 ak

Changes in 2.0.2
- Introduced signed RegisterItem class (SignedItem)
- Added conditional compilation for ncurses and readline dependancies.  
- Changed class filename to small letters. Changed SltRegister to BaseRegister...
  1.12.08 ak

Changes in 2.0.1
- Completed first Hw4 implementation with the full register set (at that time).
  Both hardware and software implementation are still in progress - just a test version 
  for Sascha.
  28.11.08 ak

Changes in 2.0.0
- gpsserver, Improved settings of the serial port to be compatible with OSX.
  Blocking the serial port against access of other applications.
  5.11.08 ak
- hw4, Added register model for version 4 of the DAQ electronics. 
  The implementation is similar, but not compatible with the version 3 code in Hw.
   
 

Changes in 1.9.12
- more gcc 4.3.x fixes (for feshell)
  18.11.08 thjm
- daemon mode and interactive mode for TsBackgroundLoop
  12.11.08 ak
- merged with branch v1910r69_gcc43x + corrections:
  - modified header file inclusion scheme to follow current C++ standard
  - removed obsolete calls to FDEventLib (MiEvent)
    04.11.08 thjm
  - this branch contains all changes necessary to compile fdhwlib on x86_64
    architecture with gcc 4.3.1 (SuSE 11.0),
    The branch tag is 'v1910r69_gcc43x'
  - some static libraries need '-fPIC' to be properly compiled:
    libHw.a, libakutil.a, libkatrinhw.a, libPbus1394.a
    18.09.08 thjm
  04.11.08 thjm

 


Changes in 1.9.11
- V4 changes removed from the code (using cvs admin -o <Rev>),
  those files went to Attic: Hw/sltcommandreg.h, Hw/sltcommandreg.cpp,
     Hw/sltbitfield.h, Hw/sltbitfield.cpp
- CVS tag "v1911r70"
  20.10.08 thjm
- Fixed bug in  gpsserver. Turning off the software timer has not worked 
  properly and veto mode was taken as turn off command instead.
  1.9.08 ak
- gpsunit.cpp:
  - special treatment of struct pulseGen.startSec == 0
  - no action if struct pulseGen.startSec < now (to be discussed),
    + throw GpsError()
- gpserror.h:
  - class GpsError inherits now properly from std::exception (runtime_error)
  30.08.08 thjm
- gpsclockmessage.cpp:
  - logical expressions corrected, & -> &&
  09.04.08 thjm  
- aktimelib.ini:
  - added leap second # 15
  11.08.08 thjm


Changes in 1.9.10 
- Added PbusPCI library for access to SLT-PCI interface of the upcoming 
  version 4 electronics.
- Added Pbus template class and instruction how to add new Pbus libraries
- Move display of missing leap second table from initialization to getReference
  function. The warning is now not displayed when loading the library 
  (once at program start) but at every usage.
  16.1.08 ak

Changes in 1.9.9
- Updated documentation. Remove preprocessor run before doxygen.
  9.1.08 ak
- wrong shadowing of base class method fixed
  07.01.08 thjm
  
Changes in 1.9.8
- Added description of work-around for missing shared library extention.
  4.12.07 ak, hjm
- Fixed the pedestal calculation in TsBackgroundLoop (bgrecord).
  The pedestal was showing 150 instead of the real value.
  Reduced time resolution of the timers to milliseconds (was micro before). 
  23.11.07 ak


Changes in 1.9.7
- Added support for multiplicity trigger (for nTPC experiement)
  Added class SltMultiplicityParameter
  2.10.07 ak
- removed bug in Subrack::dumpRegister.
  1.10.07 ak
- removed bug in pbus1394: Semaphore blocked if no conncetion was possible 
- build system | Make compilation possible without mysql headers
  15.9.07 ak


Changes in 1.9.6
- dictionaries must be removed before 'make dist' (fdhwlib/FEdata)
  -> 'nodist_*_SOURCES=' must be specified and 'cleanlocal' target must exist
  24.07.2007 thjm

Changes in 1.9.5
- Fixed bug in SQL file dump mechanism.
  (Adding TelescopeId to query)
  04.07.2007 ak
  
Changes in 1.9.4
- writing error messages to ErrorTab
  -> interface of TsBackgroundLoop::setDatabaseParameter() extended
- writing of messages is stopped after some occurrences
- checks for readline and ncurses added, without actions so far ...
  20.04.2007 thjm
- FE::getVersion() can be static
  07.05.2007 thjm

Changes in 1.9.3
- Added simulation support for KATRIN implementation
  04.04.2007 ak 

Changes in 1.9.2
- change for platforms without mysql
  - tsbackgroundloop.cpp, eventloop.cpp, eventloopclient.cpp
- changes for MySQL 4.0.x
  - MYSQL_OPT_RECONNECT not available
  - mysql_hex_string() provided for mysql < 4.0.23
  21.03.2007 thjm
- Added timeout handling in background reader
  2.3.07 ak
- Added release and build date to fdhwlib application
  This information can easily be included in other packages
  based on fdhwlib like pbusdaemon, feshell or gpsserver.
  Version info avaialble in:
     - bin/fdhwlib {-v | -r}     
     - fdhwlib.h
     - Pbus::get({"ver"|"rel"})
  26.2.07 ak
- bgtools | Added flag "uniquetel" to switch between unique and relative 
  numbering of the telescopes.
  25.2.07 ak
- bgtools | Added command to request the status
- bgtools | Changed readout loop to recover if a
  single readout fails with PbusError.
- shell | Replacement of template eye was not using the
  locationId - fixed.
  23.2.07 ak

  
Changes in 1.9.1
- gpsserver | Fixed seg. fault when closeing gpsserver with socket connection
- bgtools | Fixed reading database name
  21.2.07 ak
- bgtools
  Move alogrithm to analyse the filename to the backgroung loop
  class.
  14.2.07 ak
- bgtools | Status check limited to run mode.
  13.2.07 ak
        
Changes in 1.9.0
- bgtools
  Warning: This version of bgtools is incompatible with earlyier
           implementations.
     * Added run type parameter to tsbackgroundloop
       (before run type was always fixed to "run")
     * Improved error handling: No pixel are inserted if
       the update of the vent table fails
     * Removed status field from run table
     * Set eye station id to the location id that can be give
       with the [feshell] parameter "location".
     * Update of analysis parameter in sample table.
     * Removed unused parameters form the database
       (StatLimit, Status, ThresholdMeanV, ...)
     * Changed timing calculation to micro second resolution
       Added to database (sample table)
     * Using automatic reconnection when database is available
       again. Every failed sql query is logged to the backup file
       .bgrecord.sql. The number of new sql commands is displayed
       at the end of the run.
     * Added interface for FDDAS runId
     * Added column time to sample table with mysql datetime format
- inifile | Return an empty string if the parameter
  can be found in the section, but no value is given.
- procDuration | Fixed bug in calculation of duration.
  Now full micosecond resolution is available   
  7.2.07

     
Changes in version 1.8.1
- gpsserver | Added control of serial parameters to overcome
  communication errors at some machines.
  17.01.07
- eventloop | Separated daq and user interface using a client
  server architecture.
- gpsserver | added init sequence for startup mode listen
  The sequence will wait for at least three tracked satellites
  and changes to position hold mode if mecessary.
  13.12.06 ak
- configure.in: rpm depends on MySQL-client MySQL-shared
- typo in tsbackgroundloop.cpp fixed
  06.12.06 thjm
- eventloop | Added storage of ADC data in the database
  A rate of 300Hz is still possible with this setup.
  Eventloop will now always start in run mode.
  05.12.06
    
  
Changes in version 1.8.0
- slt | Moved version mismatch message to Pbus.log
- gpsserver | Added almanac readout and send functions
  Implemented new framework for state machine. The log of the
  states including time is written to .gpsservertest.log.
  Implemented startup procedure from reset to run mode - should
  work in all cases, but will take some minutes!
  05.12.06

    
Changes in version 1.7.0
- gpsserver | Added individual capture buffer for every input channel
  Warning: The format of the capture buffer has been changed.
           It is not compatible with recent versions.
  25.10.06


Changes in version 1.6.2
- Added automatic initialization of the leap second table.
  24.10.06 
- Meinberg capture interface for gpsserver vi pseudo serial (/dev/pty). 
  For this purpose the timestamps were corrected.
- Implemented command for gpsclock reset.
- Added missing library path in kaclib/Makefile.am.
- Removed pdf manual from rpm package (workaround because of ps2pdf
  problems)
  20.10.06   
- Added missing configuration file in the eyestation packages
  16.10.06
- Added requirementents automatically to fdhwlib.spec
  for the options activated by ./configure.
  14.9.06
- Move gps classes to the new folder gpsconcore
  Extended interactive commands, improved output format
  8.9.06
- Added driver for waveform generator (WG-1220 and others)
- Added mysql interface for event loop
  5.9.06
- Added again support for DAQ format in the makefiles
- Added support for DAQ eye format in FEdata event classes
  24.8.06
  

Changes in version 1.6.1  Tagged as v161rseatle (--> M. Howe 11.8.06)
- Added KATRIN C-Interface
- Implemented simple data aquisition for Auger/Katrin DAQ electronic
  (based on Hw/EventLoop)  
- Added raw messages interface for the gpsserver
  11.8.06

  
Changes in version 1.6 (CVS tag v160r50)
- Added default configuration created by configure run to fdhwlib.h
  (E.g. if mysql support is available during configure run the 
   define USE_MYSQL is added to fdhwlib.h)
  03.7.06 ak
- Fixed bug in SimpleSocket. Socket was not closed properly
  is case of connection failure.
  13.6.06 ak
- Fix problem with byte order in simulation mode (PbusSim::write)
  19.5.06 ak
- Implementented function for Pbus mode in all access methods
  to enable the correct display with dynamic loading of Pbus layer
- Added ./configure functions to check for mysql and FD-das
  18.5.2006 ak
- Introduced new completly automake based build system.
  12.5.2006 ak
- Changes in the PbusProxy layer to allow later connection of single
  telescopes
- Bug fixes for sane memory management
  6.5.06 ak    
- Automatically detection of an initialized Pbus-Layer in SubrackBase
  22.3.06 ak
- Added timeout for the socket connection class (SimpleSocket)
  8.2.2006 ak
- Added mysql support for the background reader.
  3.2.2006 ak
- Added id of the eye station to the gpsserver. The appropriate
  id's have to be added to the database in the inifile (FE-gpsserver.ini)
  3.2.2006 ak
- Changed search path for inifile. Now for all inifile calls
  the order <local dir>, <$HOME> and </opt/auger/config> will be used.
- Fixed the calulation of the leap second counters.
  21.1.2006 ak
- Added display of gps counters in procDuration
  Fixed reading and calculation of gps leap seond table
  Added test function for akTimeLib
- Added time stamp to Pbus.log output
  12-12-2005 ak
- Changed FltReset bit in the Slt status register
  (was 11 before instead of 10).
- Added control of debug level in pbus class
  7-11-2005 ak


Changes in version 1.5 - Extention for KATRIN
- Pbus1394: Added conversion of byte order to readout of SIB version
  31-10-2005 ak
- First Firewire implementation for Apples IOFireWireLib
  11-10-2005 ak
- Added dependency on libraw1394-devel
- fixed size_t - socklen_t mismatch for x86_64 systems
- "using namespace ..." removed from *.h files
- fPIC flag missing for shared libraries (-> kdevelop ?)
  03-10-2005 hjm
- Added interface for unformated calib data
- Local status variables in Inifile implemtation
- PbusError bug fix - always return a valid error message
  08-09-2005 ak
- New server implementation that provides endian swap feature.
  The server automatically responds in the
  correct endian format. There are no changes in the client
  program required (Preprocessor flag USE_DYN_BYTEORDER).
  30-08-2005 ak
- New server implementation that converts all tranfered
  data in network byte order. (Preprocessor flag USE_BYTEORDER)
  The option is by default disabled.
  W a r n i n g: Application compiled with this feature are
  NOT compatible with old version of the same application!
- Added polymorph base classes for Subrack, Flt and Slt classes.
  The classes were necessary to generalize the Subrack
  definition
- Added KATRIN register definition in kartinhw  


Changes in version 1.4
- Added debug messages to syslog (/var/log/messages)
  for the class Pbus1394.
- Added gpsserver inifile parameter "unit"
  23.5.2005 ak
- Fixed bug in tsbackgroundloop: Segmentation fault after
  trying to write to an exisiting file.
- Bug fixes in Pbus-layer management (PbusProxy::init+free)
  12.5.2005 ak


Changes in version 1.3  (taged in cvs as v13r28)
- Added data directory to all bgrecord files to avoid
  wrong file locations
- Removed timezone information from all other time strings
  except for the Pbus.log entry
  9-12-2004 ak
- Added compatibility for applications build with older versions
  of the gpsserver.
- Added request commands for the versions of the gpsserver subdevices
  22-11-2004 ak
- Added timezone information to the log file (Pbus.log)
  19.11.2004 ak
- Moved debugMsg from Pbus tp PbusImp-Layer
- Left out dokumentation of outdated functions.
- Added support for SLT Version 3.1, order of dead time counter
  changed...
- Implemented "register read access" for all Flt pixel register.
  Used with TsBackground.
- GpsServer is able to handle messages from GPS Clock modules
  with firmware 3.6 and 4.0 for ease of hardware update.
- GpsUnit Status messages refined
- Reading SIB version and status (Pbus.log)
- New build system from kdevelop 2.1.5
- Define for linux changed from linux to __linux__
- Changed argument if string in invariant from char to const char
  19-10-2004 ak


Changes in version 1.2
- Multiplicity in FE-layer fixed - wrong page used before!
- SimpleServer enebaled re-use of port, if socket is in TIME_WAIT
  state.
- SimpleSocket detecting lost connection when writing data.
- Enhanced known operations of the PageController classes.
- Enhanced CalibControl interface
  04-10-2004 ak
- MeasureChannel added to am_testutil
  26-05-2004 ak
- GPS Clock gate generator status added
  26-04-2004 ak

Changes in version 1.1
- Synchronization for PbusProxy, Windows re-implemented
- Demo for a more complete init-scheme implemented
  --> Subrack::init()
  22-04-2004 ak
- Update of GpsServer for GPS Clock Version 3.4
- Update of CalibControl for the non blocking server. The
  changes are compatible with prior versions of the server.
  22-03-2004 ak


Changes in version 1.0
- Version Management added for FE, SLT and FLT.
  06-02-2004 ak

- Added IR-Support for Pbus1394 (Functions: checkIR and getIRvector)
- Fixed bug in SimpleSocket, that caused severe error with Windows version
  of the library
- Added VC7-Projects for Windows
- Check compatibility with prototype crate: With FLT_VER=220 and
  SLT_VER=110 it is possible to use the lastest revision.
- Limited SLT version to 7bit. The USCT prototype crate comes
  up with 0x82 which is now considered as 0x02.
  05-02-2004 ak


- Distribution improved: Automatic consideration of dependancies
  (doxygen, latex, menable, IEEE1394).
- Generation of the keys for the System V semaphores changed.
  For other than microenable applications the root dir is used.
- Added report of the Pbus layer properties in the debug output (Pbus.log)
- Added Pbus broadcast address scheme also to test mode (libPbusTest)
- Debug interface changed from a public stream to
  a printf-like function with a variable number of
  parameters (Pbus::debugMsg).
- Loading the appropriate Pbus layer at run-time:
  The Pbus library libPbusDyn.a dynamically loads the reqired
  shared Pbus-Library for menable or firewire interface.
- Reorganization of the Pbus layer. The Pbus class is now
  nearly empty and calls a polymorph Pbus implemenation class (PbusImp).
- Dynamic libraries for the all Pbus layer compiled
  29-10-2003 ak

Changes in version 0.95
- Improvements in FE-layer to make it more comfortable - more functions!
  10-09-2003 ak

Changes in version 0.94
- Added includes for compatibility with other compiler versions
  01-09-2003 ak
- Bug fix: A wrong define pragma in Pbus::free caused a
  permanent lock of the semaphore.
  27-08-2003 ak
- Improved GpsServer
  25-08-2003 ak


Changes in version 0.93
- First IEEE1394 implementation.
  17-06-03 ak


Changes in version 0.92
- Commands for access of the Multiplicity memory added in FE layer.
  26-06-2003 ak

Changes in version 0.91
- Added workaround to modify the integration time used by the
  hitrate controller (Define USE_TINT_WORKAROUND).
  15-05-2003 ak
- Ported FEdata to the lasted FD-das version (new name FDEventLib).
- Checking for errors when closing a file descriptor connected
  with SimpleServer.
- Improved shell commands: Now a warning is printed in case of
  unknown commands.
- Improved output of Slt::checkActualTime(). If on of the telescopes
  is connected to the Pbus but not accessable the function will not
  throw an PbusError any more.
  12-05-2003 ak

Changes in version 0.9
- Updated gpsserver clesses, added interface for nearly all functions
  now in the class GpsUnit. Status+help output of the gpsserver class
  in interactive mode.
  08-04-2003 ak

Changes in version 0.8
- Added classes to the FE layer to handle page status and
  time stamp. The signature of some functions in FEevent has been
  changed to work with the new classes (instead of the Hw-version).
- Added some more operators/functions to SltPageStatus and SltTime.
  26-03-2003 ak
- PbusError is now a special class of runtime_error
  19-03-2003 ak
- Test and diagnosis functions added.
  13-03-2003 ak
- Extended the Ts-classes to access directly the electronics
  21-02-2003 ak
- Extended the SltTime class to handle all possible
  time stamp formats. By default always the lastest format
  is assumed. All trigger information are now integrated
  in a single instance of SltTime.
  19-02-2003 ak
- Introduced a new Hw version 3.10. While V3.00 brought
  the extension to 64 pages, the new version changed the
  time stamp format and supports the dead time counters
  19-02-2003 ak
- Fixed bug in dma mode. To request the transfer status the wrong
  command was used that caused a dead lock?!
  17-02-2003 ak
- Fixed bug in simulation mode.
  Access to certain registers (e.g. SltSubSecondCounter) released too many
  semaphores and so disabled any synchronisation in any mode!!!
  13-02-2003 ak
- Added support for offset in SltTime.
  10-02-2003 ak
- Added Veto and Dead time counters.
  The extension effects Slt control register and Slt status
  registers. In addition some new registers have been added
  to request and reset the new counters.
- Suspend mode for the Flts is no longer supported
- Changed the organsation of the Slt register definition to
  get a more flexible structure. This was necessary because
  of the heavily changing registers.
- The elongation of the test pulse timing vectors do not
  effect the library but are now mentioned in the documentation.
  30-01-2003 ak

Changes in version 0.7
- Integrated documentation of the subpackages into a single
  doxygen project.
  13.01.2003 ak
- Added functions for the access of the gps unit
  (Hw/gpsserver, Hw/gpsunit)
- Implemented background loop for more than a single
  telescope. (FEdata/tsbackgroundreader, FDdata/tsbackgroundrecorder)
  18-12-2002 ak


Changes in Version 0.61
- Small changes in the scripts makeAll to make it easier
  adjustable to the system environment (tested with environemt
  in Lyon). To build the daq dependant part set the variables
  ROOTSYS and FD_ROOT.
  But: Installation is still quite complicated.
  05-08-2002
- Curses functions removed.
  If special packages are required by certain function
  a new (specialized) class should be created (E.g. feexplorer).
- The (few) scripts required for the build process are now
  fixed to the standard shell (#!/usr/bin).
  23-07-2002 ak


Changes in Version 0.6
      ----------------------------------------------------------
      ----       Modifications for hardware version 3    -------
      ----------------------------------------------------------
- To take account of the changes in the Hardware version 3 the following
  changes where necessary:
     * The slotID of Flt + Slt was increased by one. (1..20 + 21)
     * The address scheme was modified (more Memory).
     * Number of pages doubled.
     * Length of version field in FltCntrlStatus register changed.
     * current monitor calls to the pbus disabled.
     * Page status register doubled (now: pageStatusLow, pageStatusHigh).
     * Length + address of the time stamp register vectors changed.
     * New class added for access to multiplicity memory
- New class SltPageStatus for handling of the pages status information.
  For hardware access the class SltPageStatusReg is used.
- Code for the different Pbus variants seperated in now three files:
  Pbus.cpp, PbusSim.cpp and PbusProxy.cpp.
  07-06-2002 ak


Changes in Version 0.5
- Added Pbus::isConnected to request the status of the connection
  to the electronic
  27-03-2002 ak
- Option added to create Subrack without initializing the Pbus.
  Only useful if a second instance of Subrack should be created in the
  same process.
  26-03-2002 ak
- Pbus changed to allow IP connection to multiple telescopes
  21-03-2002 ak
- Number of messages generated by SimpleSocket and Semaphore decreased.
  The functions worked quite stable, so that this information seems to
  be redundand now.
  22-03-2002 ak


Changes in Version 0.42
- akshell: Command execution from script file fixed.
  The command "quit" had no effect in a script.
  13-03-2001 ak
- New Command FEtiming::setActualTime() synchronizes
  PC clock and Hardware second counter. FEtiming::setSecond()
  adds one second because the time writen with the next
  second strobe.
  15-02-2002 ak
- PbusSimulation mode extended: New addressing scheme,
  broadcast and Slt special write register supported.
  Implementation of the page controller for the
  simulation added. Status: Pre-release!
  15-02-2002 ak


Changes in Version 0.41
- SimpleServer moved from pbusdaemon to akutil.
- Implementation switches moved from Pbus.h to Pbus.cpp
  27-11-2001 ak
- Counter for block transfer error added. The results
  are written to the log file.
  26-11-2001 ak
- The command Slt::setActualTime() was changed from
  UTC (UNIX time) to GPS time. The system (hardware
  is now initialized with the correct GPS time).
  Function to check the setting of the second counter
  added (Slt::checkActualTime). The required number of
  leap seconds is read from the ini file (FE.ini).
- Documentation added for compiling FD-das libraries
  to use with MSVC.
  22-11-2001 ak


Changes in Version 0.40
- New feature for FltMemory::read() and FEImage::read() added. 
  The status flag at the end of the
  copy indicates whether a overflow has occured in one of the time bins.
  Especially when reading only few pixel this allows to ommit saving the 
  virtual channels. Due to the status the read functions now have a return 
  value. So after re-compilation all programs should be runnable without
  modifications.

- DMA support added.
  Another library called "PbusDMA" has been added to the zoo of Pbus libs.
  To use the DMA features the uEnable design has to support the DMA
  transfer. The transfer rate increases due to the DMA transfer from
  <0.9MB/s with "PbusDirect" to 2.7MB/s. To use the DMA option link your 
  program with PbusDMA instead of PbusDirect.
  
  The FltMemory::read() function uses now only one intead of two 
  Pbus::readBlock() calls. The address pointer is shifted automatically 
  when the end of the page is reached. 
  09-11-2001 ak


Changes in Version 0.33
- libFEdata.so renamed to libFEdataDyn.so to avoid
  linking the wrong library because of the same name with
  libFEdata.a. The (new) dynamic library is installed
  to /usr/software/fdhwlib/lib
  07-11-01
- Windows: Skript to generate all libraries from the command
  line added. 
  23-10-2001 ak
- Function hw/Slt::setActualTime added to synchronize
  the Hardware time with the local PC clock
  23-10-2001 ak
- The class akInifile searches now automatically in 
  up to three dierectories for the inifile.
  Invocation of ini file changed in Pbus.cpp and
  CalibControl.cpp. 
  22-10-2001 ak
- Class TsPattern added to analyse the data of
  third level trigger with Roots CINT.
  ak


Changes in Version 0.32

- The class Hw/SltPattern added to present some 
  operations helping to analyse the trigger memory.
  Like the class Hw/SltTime this class does not need
  a connection to the hardware - it just implements
  the data structure of the trigger memory.
  08-10-2001 ak 


Changes in Version 0.31

- Before setting the paramaters in all columns the presence
  of the boards is checked. This affects the methods
  FEconfiguration::init, FEconfiguration::initCurrentMonitor 
  and FEimage::setStatisticParameters 
  25-09-2001 ak 
- SltTime::setNanoSec is fixed. 
  25-09-2001 ak


Earlier changes:

- ak 2.6.01: Renamed the library libutil.a to libakutil.a
  The directory util has been moved to akutil.
- ak 21.5.01: Errors in the functions for the
  hitrate controller fixed.
- ak 29.3.01: Due to changes in Flt version 2.1
  there are two new registers (ApprSumX_2 and CannOnOff) and
  the interface of the registers MarginsL, MarginsH and
  PeriphStatus changed.
- ak 19.2.01: Initialization of the current monitor
  added. The readout for the current monitor is tested
  successfully.
- ak 7.2.01: Some functions in the classes FEconfiguration
  and FEevent and FEimage are now obsolet. Do not use them
  any more. The command FEconfiguration::inhibitRelease
  has been modified due to changes in the SLT Control FGPA.
  To access the ADC Memory arrays of type unsigned short
  (NOT long) are required.
- 20.12.2000: New registers @ref Slt#PageMaintenance and
  @ref Slt#RelPageFullInhibit introduced due changes in the
  Control FPGA on the Slt board. Interupt mask and vector are
  complemented by two new possible sources. ak
- 19.12.2000: Basedir for Sempahore SysV Key generation changed to $HAP_PATH.
  Be aware not to use programms with different keys at the same time on the same machine, ak.
- 18.12.2000: SimpleSocket.readMsg(), obsolete statement deleted, ak
  msg[nbytes]=0; // generate a valid string