                                                                  -*-*- END -*-*-
 2010/02/26 Thomas Bretz

   * main/MMoonPointing.cc:
     - emit error messages to console/log-file

   * main/MTracing.[h,cc]:
     - propagate errors
     - stop tracking if some calculation fails



 2010/02/25 Thomas Bretz

   * main/MMoonPointing.h:
     - changed comment
     - added a few sanity checks to avoid unnecessary calculations

   * main/MTracking.[h,cc]:
     - changed internal units of offsets to rad
     - interpret result of moon.CalcPosition correctly

   * catalog/SlaStars.[h,cc]:
     - removed obsolete ApplyOffset



 2010/02/23 Thomas Bretz

   * catalog/SlaStars.[h,cc]:
     - added ApplayOffsetAltAz
     - added ApplayOffsetZdAz

   * main/CosyMainLinkDef.h, main/Makefile:
     - added MMoonPointing

   * main/MMoonPointing.[h,cc]:
     - added

   * main/MCosy.[h,cc]:
     - added TrackMoon
     - added more options to TrackPlanet
     - in msg-queue use break in switch-statement and return
       message id by default

   * main/MTracking.[h,cc]:
     - implemented adding of moon shadow offset into UpdateSlalib
     - added data members for fWobbleOffset wnd fWobbleAngle
     - added setter for new data members
     - added new function TrackMoon

   * tcpip/MDriveCom.[h,cc]:
     - added new arguments to CELEST command
     - added new MOON command

   * Makefile.conf.linux:
     - removed Wconversion option

   * caos/Leds.h, caos/Rings.h:
     - overloaded some more Print members to get rid of some warnings

   * gui/MGCoordinate.h:
     - renamed an argument to get rid of a compiler warning

   * tpoint/TPointGui.cc:
     - include TMath
     - return "" instead of 0 when TString is needed



 2009/12/01 Thomas Bretz

   * catalog/SlaStars.[h,cc]:
     - fixed unit of GetZdAz
     - added GetZdAzRad and GetRaDecRad
     - added some comments
     - added TT
     - use TT instead of UTC in slaMappa. This should be more
       accurate but is not needed according to the documentation
       (maybe for the moon?)

   * main/MTracking.cc:
     - fixed unit of fTrackPos calling sla.Set
     - don't distribute ra/dec to starguider it seems to be responsible
       for crashes
     - fixed units of getting coordinates from slalib
     - keep calculating a future position in the tracking loop
     - for the moment set the observatory key explicitly
       (Mars doesn't store it)

   * tcpip/MDriveCom.cc:
     - fixed the number of expected arguments in CELEST command

   * catalog/SlaPlanets.[h,cc]:
     - moved TT to the base class
     - commented out the calculation of the earth's heliocentric
       coordinates which were never used.
     - removed fDt which was not used either



 2009/10/21 Thomas Bretz

   * catalog/SlaPlanets.[h,cc]:
     - Now derives from SlaStars
     - new function to get the current sky position of a celestial
       object

   * catalog/SlaStars.[h,cc]:
     - store and update hour angle when calculating local ccordinates

   * main/MCosy.[h,cc]:
     - new function TrackPlanet
     - implemented WM_PLANET to queue
     - added hour angle when sending report

   * main/MTracking.[h,cc]:
     - recalculate ra/dec before every cycle
     - propagate calculated position to starguider
     - implemented new function TrackPlanet
     - modev tracking code to Track()

   * tcpip/MDriveCom.[h,cc]:
     - implemented new command CELEST
     - added hour angle to report



 2009/08/17 Thomas Bretz

   * tpoint/TPointGui.[h,cc]:
     - keep different paths in memory for collections and models
     - show kept collection in window title
     - added option to set a limiting magnitude for the fit
     - setup a new default for the coefficients
     - set new icon and window names



 2009/05/12 Thomas Bretz (La Palma)

   * main/MStarguider.cc:
     - a few sanity fixes
     - star-pointer doesn't exist in Starguider procedure anymore
     - replaced fDisplay by fMode
     - addes tar magnitude and name to output in tpoints
     - don't switch to tpoint mode in tpoint procedure if already
       switched on

   * tcpip/MDriveCom.cc:
     - don't post the tpoint messages but just execute



 2009/05/11 Thomas Bretz (La Palma)

   * cosy.cc:
     - made compatible with newer MARS version
     - added a connection check to the sps
     - made ports settable by rc-file

   * telesto.cc:
     - made compatible with newer MARS version

   * devdrv/dkc.[h,cc]:
     - disarm when network is shut down
     - changed acces to armed
     - set default status to 0xff
     - added IsRpmActive

   * main/MTracking.cc:
     - leave tracking loop when sps stopped tracking (e.g. 
       disarmed)

   * tcpip/MTcpIpIO.cc:
     - set debug level to get proper outout when MTcpIpO
       creates a socket



 2009/05/09 Thomas Bretz (La Palma)

   * devdrv/shafencoder.[h,cc], devdrv/macs.[h,cc]:
     - obsolete: removed

   * cosy.cc:
     - get telescope number from rc-file
     - let MCosy read the pointing model
     - added some more debug out

   * candrv/CandrvLinkDef.h:
     - removed VModIcan
     - removed Ethernet

   * candrv/Makefile:
     - removed vmodican.cc

   * candrv/canopen.h:
     - made compile again with the removed vmodican

   * candrv/ethernet.[h,cc]:
     - removed from dictionary (due to possible double inheritance)

   * catalog/SlaPlanets.cc:
     - fixed a typo in a comment

   * catalog/SlaStars.cc:
     - changed temperature to 10deg (which is a good average over 
       the year)
     - changed pressure to 780 (which is for sure a better value than
       1013)
     - changed the humidity to 0.25 which should be better than 0.5

   * catalog/Slalib.[h,cc]:
     - removed obsolete Round()

   * catalog/StarCatalog.cc:
     - replaced D2PI/360 by TMath::DegToRad()
     - slightly changed the coordinate system in which CalcStars gets
       ccd coordinates
     - simplified the tranformation from Zd/Az to pixels (only one 
       rotation necessary)
     - added CalcDeltaZdAzFromPix which is a direct inverse of the
       tranformation to pixels
     - divided fBox into fBoxX and fBoxY

   * devdrv/dkc.[h,cc]:
     - removed usage of subindices
     - removed obsolete functions StartVelSync and StartPosSync

   * gui/MGCosy.[h,cc]:
     - get the name of the file with the predefined positions from
       external
     - fixed Scaling in accuracy plots

   * gui/MGStarg.cc:
     - fixed Scaling in accuracy plots

   * main/MCaos.cc:
     - fixed a typo in ReadEnv

   * main/MCosy.[h,cc]:
     - improved output in case of range exceedings
     - pipe string to StartTPoint
     - pipie bool to StartStarguider
     - get the name of the file with the predefined positions from
       external
     - added starguider status to drive reports
     - simplified and unified constructors
     - read pointing model in constructor

   * main/MStarguider.[h,cc]:
     - removed starguider tpoint button
     - implemented automatic tpoint procedure initiated by
       CC or the TPoint button.
     - read a lot of number which were hardcoded from rc-file
     - improved handling of tranformations for starguider
     - switched of contrast-stretching for starguider and TPoints
     - implemented sending reports to CC about taken TPoints
     - unified starguider and tpoijnt output
     - implemented switching starguider from outside (e.g. CC command)

   * main/MTracking.cc:
    - removed usage of subindices

   * tcpip/MCeCoCom.[h,cc]:
     - fixed the meaning of comstatus in the reports

   * tcpip/MDriveCom.cc:
     - replaced cout by gLog
     - added acceptance of string from TPOIN command
     - fixed the msg which is send in the msgqueue
     - allow starguider also to be switched off
     - added starguider mode to drive reports
     - implemented full features TPoint report

   * tcpip/MTcpIpIO.[h,cc]:
     - moved the maintanance of the send socket to it's own thread,
       because reopening the socket can block for minutes until
       a time out takes place

   * videodev/FilterLed.[h,cc]:
     - allow the search boxs to be asymmetric

   * bending_magic2.txt, leds_magic2.txt, stargleds_magic2.txt,
     prepos_magic2.txt:
     - added



 2009/04/29 Thomas Bretz (La Palma)

   * cosy.cc:
     - added possibility to switch the ccd cameras on and off remote
     - read setup from the resource file instead of the commandline

   * caos/Rings.[h,cc]:
     - added return value to CalcRings

   * catalog/StarCatalog.h:
     - Store rotation angle

   * devdrv/DevdrvLinkDef.h, Makefile:
     - removed macs*
     - removed shaftencoder*

   * devdrv/dkc.cc:
     - simplified the interface to the sps (removed obsolete SDOs,
       removed obsolete subindices)
     - removed obsolete SetDeceleration

   * main/MCaos.[h,cc]:
     - keep number of detected leds and number of detected rings
     - make many variables a data member which can now be setup
       from a resource file
     - derived from MParContainer

   * main/MCosy.[h,cc]:
     - replaced SetDecelartion for pressing stop by SetAcceleration
     - implemented WM_STARGTPOINT
     - implemented WM_STARGMODE
     - allow shutdown even if no connection to SPS

   * main/MStargHistograms.[h,cc]:
     - removed old obsoelte code

   * main/MStarguider.[h,cc]:
     - removed old obsolete code (StargFindStar and RoqueLampAna)
     - moved some build in default setup to the resource file
     - removed AMC trigger
     - allow some setup from resource file
     - implemented StartStarguider for remote switching of starguider
       mode
     - implemented DoTPoint for remote TPoint procedure
     - some more code cleanup

   * main/MTracking.cc:
     - removed obsolete include of shaftencoder.h

   * tcpip/MCeCoCom.cc:
     - removed check for OVER
     - use TString::Length instead of strlen(TString&)

   * tcpip/MDriveCom.[h,cc]:
     - implemented TPOINT command and STGMD command
     - send number of LEDs and rings instead of x/y in starguider report



 2009/04/22 Thomas Bretz (La Palma)

   * .cosyrc_magic2, prepos_magic2.txt, leds_magic2.txt:
     - added

   * devdrv/dkc.cc:
     - added some initialisation in the constructor
     - added Warning E256

   * devdrv/shaftencoder.cc:
     - removed fTurn
     - removed fDirChangedPos
     - removed inter-connection with macs/dkc
     - added a sanity check for fLabel
     - removed obsolete functions

   * tcpip/MCeCoCom.[h,cc]:
     - added telescope number to reports

   * tcpip/MTcpIpIO.[h,cc]:
     - reopen send socket if invalid
     - added some debug output
     - make the timeout a variable



 2009/04/01 Thomas Bretz

   * Makefile:
     - changed the linking 

   * base/Makefile:
     - changed name of Base to CosyBase (trouble with the same naming
       in Mars)

   * gui/Makefile
     - changed name of Gui to CosyGui (trouble with the same naming
       in Mars)

   * main/Makefile
     - changed name of Main to CosyMain (trouble with the same naming
       in Mars)



 2009/01/14 Thomas Bretz

   * slalib/dat.c:
     - added leap second



 2008/08/26 Thomas Bretz (La Palma)

   * cosy.cc:
     - changed ceco to 151.72.130.60

   * candrv/canopen.[h,cc]:
     - added HasConnection

   * candrv/network.cc:
     - check for connection before trying to reboot zombies

   * candrv/nodedrv.cc:
     - some improvement to output

   * devdrv/DevdrvLinkDef.h, devdrv/Makefile:
     - added Dkc

   * gui/MGCosy.[h,cc]:
     - change to layout
     - display DKC information
     - display cabinet information

   * gui/MGSkyPosition.[h,cc]:
     - for convinience added Polaris to display

   * main/MCosy.[h,cc]:
     - removed shaftencoder and macs
     - removed a lot of old obsolete code
     - added Dkc
     - set new velocity and acceleration values
     - removed a lot of expert stuff
     - removed ambiguity between feedback 1 and 2

   * main/MSlewing.[h,cc]:
     - replaced Macs by Dkc
     - fixed to use new units
     - scale velocity even with different maximum speeds
     - changed from relative positionuing to absolute positioning
     - implemented a new correction for the non-uniformity of the el-axis

   * main/MStarguider.cc:
     - changed usage of MString
     - use GetSePos now instead of GetTrackingPosRaw

   * main/MTracking.[h,cc]:
     - replaced Macs by Dkc
     - removed ambiguity of feedback 1 and feedback 2
     - adapted definition of control deviation



 2008/07/13 Thomas Bretz

   * caos/Led.cc, caos/Ring.cc, gui/MGCosy.cc, tcpip/MCeCoCom.cc,
     tcpip/MDriveCom.cc:
     - replaced usage of MString::Print by MString::Format



 2008/06/19 Thomas Bretz

  * tpoint/TPointGui.cc:
     - removed an output by chance added yestergday



 2008/06/18 Thomas Bretz

  * telesto.cc, tpoint/TPointGui.[h,cc]:
     - added option to start with a pointing model



 2008/06/17 Thomas Bretz

   * tpoint/TPointGui.[h,cc]:
     - implemented entry fields



 2008/02/24 Thomas Bretz (La Palma)

   * .cosyrc_magic:
     - changed the azimuth gear to 1340.0

   * cosy.cc:
     - made MDriveCom a pointer to be able to delete it earlier

   * devdrv/macs.cc:
     - fixed a few typos

   * main/MCosy.[h,cc]:
     - allow disarming
     - added armed state to report
     - Instantiate MCosy with an MDriveCom instead of initializing it
       internally
     - adapted the constructor accordingly

   * main/MSlewing.[h,cc]:
     - changed the way the "position reached" window is calculated
       it is now fixed 1/16384th of a revolution and can be
       changed from outside
     - added some comments
     - tiny changes to the log out
     - for the moment the correct calculation for the non centered
       drive bow is switched off(!!!)

   * videodev/VideodevIncl.h:
     - added TVector2

   * aposs/Magic.m:
     - added GRB mode
     - added a division by four to the setting of the rpm mode velocity



 2008/02/22 Thomas Bretz (La Palma)

   * aposs/Magic.m:
     - added a trigger on the falling and rising edge of the door-lock
       switch which will stop the telescope and refuse any movement 
       command
     - changed version number from 0.69 to 0.70
     - move the arbitrary factor 4 from cosy to aposs
     - changed control loop parameters as suggested in Robert's thesis
       (TO BE CHECKED)

   * devdrv/macs.cc:
     - changed the requires software version from 0.69 to 0.70
     - do not start the node automatically

   * main/MStarguider.cc:
     - added an ExitLoop for fGetter
     - added a sanity check if GetDriveCom returns a valid pointer

   * main/MTracking.cc:
     - removed the arbitrary factor 4 from the code (it is now 
       implemented in the MACS)



 2008/02/21 Thomas Bretz (La Palma)

   * cosy.cc:
     - moved instantisation of MDriveCom out of MCosy
     - adde options to set the ceco ports

   * candrv/canopen.cc:
     - changed logging output

   * devdrv/macs.cc:
     - added some more DKC errors
     - SetZombie if not armed
     - added some debug output

   * devdrv/shaftencoder.cc:
     - added some initialisations as suggested by valgrind

   * main/MSlewing.h:
     - removed obsolete base class MLog

   * main/MTracking.[h,cc]:
     - replaced some fixed numbers by variables
     - added forward declaration for MLog

   * tcpip/MCeCoCom.[h,cc]:
     - moved fixed port numbers out of the constructor

   * tcpip/MDriveCom.[h,cc]:
     - secured called to fQueue with if-conditions
     - added Dummy for TPOIN command
     - implemented ARM command
     - added arm status to drive report
     - added summy for sending TPOINT-REPORT

   * tcpip/MTcpIpIO.cc:
     - added time to connection messages
     - added 0 as backlog for opening the TServerSocket.
       This seems to be necessary (why?)

   * videodev/Camera.cc:
     - added initialisation of fChannel which was missing

   * videodev/FilterLed.cc:
     - changed a detele to an array delete as suggested by valgrind

   * videodev/MVideo.cc:
     - initialize qctrl as suggested by valgrind



 2008/02/20 Thomas Bretz (La Palma)

   * candrv/ethernet.[h,cc]:
     - return kFALSE even if RecvRaw return a value <0

   * devdrv/macs.[h,cc]:
     - added setting and reseeting of an armed state disallowing
       all movements
     - set fPosActive if positiong has been started to prevent lags
       in the program flow
     - added fArmed to PDO1
     - added some debug output

   * gui/MGCosy.[h,cc]:
     - added "Arm" button to the display in expert mode
     - added armed state to the Update member function

   * main/MCosy.[h,cc]:
     - commented out all accesses to the third MACS
     - added code to allow the armed state to be set from the gui
     - pipe the armed state to the gui

   * tcpip/MTcpIpIO.[h,cc]:
     - added a timeout to MTcpIpI when waiting for new data
       which is set to 5s by default
     - return kFALSE even if RecvRaw return a value <0
     - wait for new connection in case of timeout



 2008/02/17 Thomas Bretz (La Palma)

   * cosy.cc:            
     - enable output device file for log-files
     - set sps default address to "sps"

   * candrv/canopen.[h,cc]:
     - added member function HasError to return an error status
       of the network connection

   * candrv/ethernet.[h,cc]:
     - improved the way a lost connection is reestablished
     - added HasConnection to return the connection status

   * candrv/interface.h:
     - added HasConnection to return the connection status

   * candrv/network.cc:
     - when setting zombies check also the status of the network

   * candrv/nodedrv.h:
     - made HasError a bit more fool proof

   * devdrv/macs.[cc.h]:
     - added some more DKC error codes
     - improved printed error DKC message
     - do not treat warnings as errors anymore

   * gui/MGCosy.cc:
     - the RA in TrackPos and CalibPos is in degrees

   * main/MCosy.cc:
     - replaced some build-in numbers for the shaftenecoder-
       resolution by it
     - fixed a weird error: in one case when checking for errors
       fMac3 was checked without testing for NULL pointer!

   * tcpip/MTcpIpIO.[h,cc]:
     - imporved the whole communication stuff again, especially
       the error handling and reestablishing of connections



 2008/02/15 Thomas Bretz (La Palma)

   * candrv/network.cc, candrv/nodedrv.h:
     - changed arguments and contents of HandleSDOError

   * devdrv/macs.[h,cc]:
     - added status/error handling for DKC status

   * devdrv/shaftencoder.cc:
     - changed some output
     - handle all four bytes in case of the position

   * gui/MGCosy.cc:
     - increased width of shaftencoder labels



 2008/02/15 Thomas Bretz (La Palma)

   * cosy.cc:
     - added debug-env command line options
     - added config command line option
     - added command line options for the ip-addresses
     - read in an MEnv

   * candrv/canopen.cc:
     - commented an obsolete output

   * candrv/ethernet.[h,cc]:
     - changed some cout to gLog stream
     - impoved output
     - added some some DEBUG precompiler ifs

   * candrv/interface.cc:
     - fixed an if: fReceiver instead of !fReceiver

   * candrv/network.cc:
     - fixed some problems with hex/dec output

   * devdrv/shaftencoder.[h,cc]:
     - decode all bytes in PDO2
     - devide by fTicks instead of a fixed number
     - improved some comments

   * main/MCosy.[h,cc]:
     - removed the arbitrary offset in GetSePos
       (FIXME: This needs to become an option in the rc-file)
     - take an MEnv instead of a local TEnv
     - improved output
     - get name for pointing model as argument

   * tcpip/MCeCoCom.h, tcpip/MDriveCom.h:
     - get ip-address as argument

   * tcpip/MTcpIpIO.[h,cc]:
     - added GetSocketAddress functions
     - changed some cout to gLog
     - improved output

   * videodev/MVideo.[h,cc]:
     - added an argument to Ioctl to suppress an expected error



 2008/02/12 Thomas Bretz (La Palma)

   * videodev/MVideo.[h,cc]:
     - added code to enumare the controls of the device
     - set device to PAL-N as default (this needs to be made
       more flexible!)
     - added a new class MVideoCtrl for control enumeration
     - added functions to handle the controls
     - note that this now relys on video4linux2
     - changed the type of the frame buffer from char to unisgned char
     - make sure that CaptureWait is called as often as CaptureStart
       otherwise the card complains
     - use the systems videodev.h and videodev2.h instead of our own



 2008/02/09 Thomas Bretz (La Palma)

   * Makefile:
     - removed readcam

   * cosy.cc:
     - fixed a problem with the --channel option

   * videodev/Camera.[h,cc]:
     - changed argument of Process frame to unsigned
     - always interpolate the rgb value -- this gives clearly
       less noisy pictures
     - fixed the switchibng of the channel

   * videodev/PngReader.cc:
     - fixed order of includes



 2008/02/08 Thomas Bretz (La Palma)

   * videodev/PngReader.[h,cc]:
     - changed to use MThread

   * videodev/MVideo.cc:
     - improved error out

   * videodev/Camera.[h,cc]:
     - removed old obsolete code
     - fixed capture loop for more than 2 buffers

   * main/MStarguider.cc:
     - removed obsolete call to Camera->Loop()

   * main/MCosy.h:
     - removed some obsolete comments



 2008/02/05 Thomas Bretz (La Palma)

   * cosy.cc:
     - setup address and port in constructor of Ethernet

   * candrv/ethernet.[h,cc]:
     - added new data mebers fTxAddress and fTxPort
     - get all io addresses in constructor

   * gui/MGCosy.cc:
     - switch off debug mode

   * main/MCosy.cc, main/MStarguider.cc, videodev/Camera.cc:
     - added missing stream manipulators

   * tcpip/MCeCoCom.h:
     - set address of CeCo in constructor of MTCpIpIO

   * tcpip/MTcpIpIO.[h,cc]:
     - moved setting of destination address into arguments of constructor

   * videodev/MVideo.cc:
     - tiny improfements to logging output



 2008/02/04 Thomas Bretz (La Palma)

   * candrv/interface.[h,cc], candrv/ethernet.[h,cc],
     MIncl.h, MLinkDef.h:
     - added

   * Makefile:
     - removed readcam from list of programs



 2008/02/02 Thomas Bretz

   * main/MCosy.cc, candrv/vmodican.cc, gui/MGCoordinates.cc,
     gui/MGSkyPosition.cc, gui/MGImage.cc:
     - added stream modifiers



 2008/01/31 Thomas Bretz

   * base/Makefile:
     - removed MThread... now in Mars
     - include ../mars for new location of MThread

   * base/msgqueue.[h,cc], candrv/nodedrv.cc, candrv/vmodican.h,
     main/MCosy.h, main/MTracking.h, tcpip/MTcpIpIO.[h,cc],
     videodev/Camera.[h,cc]:
     - renamed MyThreadX to MThread

   * Makefile:
     - removed include of mvideo

   * videodev/Makefile:
     - removed include of mvideo
     - added class MVideo

   * videodev/MVideo.[h,cc]:
     - added

   * base/coord.h, base/log.h, base/threads.h, base/timer.[h,cc],
     catalog/SaoFile.[h,cc], base/File.[h,cc]:
     - obsolete -> removed

   * catalog/SaoFile.h, catalog/SlaPlanets.h, catalog/SlaStars.[h,cc],
     catalog/Slalib.[h,cc], catalog/StarCatalog.[h,cc], gui/MGAccuracy.cc,
     gui/MGCoordinates.cc, gui/MGCosy.cc, gui/MGPngReader.cc,
     gui/MGSkyPosition.cc, gui/MGVelocity.cc, main/MStargHistograms.[h,cc],
     main/MStarguider.cc, main/MTracking.h, tcpip/MDriveCom.cc,
     tpoint/TPointIncl.h:
     - revised includes
     - revised global defines in header files

   * videodev/Writer.[h,cc]:
     - revised includes
     - replaced XY by TVector2



 2008/01/30 Thomas Bretz

   * candrv/sdolist.cc:
     - use the ?: operator instead of a cast

   * gui/GuiIncl.h:
     - removed obsolete coord.h

   * gui/MGCoordinates.h:
     - added include of MPointing instead of forward declaration of class XY

   * gui/MGCosy.cc:
     - revised includes
     - added some manipulators

   * main/MStarguider.cc:
     - revised includes

   * main/MCosy.[h,cc]:
     - chnaged some manipulators
     - adapted calls to consructors of Macs and ShaftEncoders

    * tcpip/MCeCoCom.[h,cc]:
      - adapted to the otehr changes. Note that with this all reports are
        send to CC which means that the Drive reports get send ten times a
        second

    * candrv/CandrvLinkDef.h:
      - for the time being Ethernet has been added and Interface be removed



 2008/01/27 Thomas Bretz

   * .rootrc:
     - updated to the one of Mars

   * macros/dohtml.C:
     - added



 2008/01/24 Thomas Bretz

   * telesto.cc, tpoint/Makefile, tpoint/TPointLinkDef.h, tpoint/skull.xpm,
     tpoint/TPointIncl.cc, TPointStar.[h,cc], TPointGui.[h,cc]:
     - added

   * candrv/nodedrv.cc:
     - changed NodeGuard to new Thread model

   * gui/MGCosy.cc:
     - replaced usage of old MG*Menu classes by the corresponding basic
       root classes
     - use root's cleanup facility indstead of MGList where possible
     - SetOwner of fList to ensure a real cleanup
     - Prepare for changes in the coordinate classes

   * main/MSlewing.cc, main/MTracking.cc:
     - added modifiers to log-stream
     - prepared for the changes in the coordinate classes

   * main/MStarguider.cc:
     - replaced MG*Menu classes by the corresponding root classes
     - use root's cleanup facility
     - SetOwner of the fList

   * base/coord.h:
     - removed coordinate classes, replaced by new classes from MPointing.h
       (they are basically identical by now in libmars.so and derived from
        TVector2)

   * base/msgqueue.[h,cc]:
     - simplified the scheme of the message queue using a single thread
     - now the default is that new messages override pending ones
     - the development is based on debugging with valgrind
     - the aim is more stability due to simplification
     - uses new threading scheme

   * macros/rootlogon.C:
     - improved

   * Makefile:
     - added telesto
     - added inlcude directories
     - renamed cosy.so to libcosy.so

   * base/MThread.[h,cc]:
     - implemented new Threading classe(s) -- still to be revised!
       (should be made part of Mars finally!)

   * candrv/vmodican.[h,cc]:
     - adapted to new threading scheme
     - replaced lout by gLog
     - removed cast from third argument in ioctl (complains from a
       64bit debugger)
     - removed HandleMessage (now it is one level up -- that's not logical
       but just simple)
     - the same applies to SendCanFrame and MsgDescr
     - thread is not detached anymore

   * videodev/Camera.[h,cc]:
     - for the moment the Camera class is removed from the root dictionary
     - changed to new threading class
     - thread doesn't run detached anymore
     - the Camera control is now based on the new MVideo-class 
     - a lot of code has been moved to the new MVideo class
     - we also support (as a hack for tests) color cameras with different
       field-of-views
     - simplified and improved the logic of the loop based on valgrinds output

   * videodev/VideodevLinkDef.h:
     - removed Camkera from dictionary

   * main/MCosy.[h,cc]:
     - replaced kDeg2Rad and kRad2Deg by TMath
     - replaced lout by gLog
     - made a few changes for the new coordinate classes
     - added cancel points to thread where possible
     - changed to new threading classes
     - thread doesn't run detached anymore

   * candrv/nodedrv.[h,cc], devdrv/macs.[h,cc], devdrv/shaftencoder.[h,cc],
     candrv/network.[h,cc]:
     - changed from lout to gLog
     - added maipulators 
     - removed MLog from the constructor



 2008/01/19 Thomas Bretz

   * cosy.cc:
     - gave cosy a typical Mars-like implementation
     - added thread and memory debugging
     - changed lout to gLog
     - fixed the problem with TApplication in the gui classes, thus it could
       now be instantiated as object

   * devdrv/shaftencoder.cc:
     - mainly cosmetics
     - added some initializations suggested by valgrind

   * gui/MGCosy.h:
     - removed obsolete forward declaration of TGMenuBar

   * gui/MGEmbeddedCanvas.[h,cc]:
     - some cosmetics
     - correctly replaced ForEach by R__FOR_EACH

  * main/MStarguider.[h,cc]:
    - use root's own cleanup facility where possible
    - set the owenership to fList to ensure deletion
    - use a simple way to cascade the menues
    - replace MG*Menu by TG*Menu
    - improved the switching of the starguider channels. Especially
      no recreation of the object is done if not necessary



 2008/01/18 Thomas Bretz

   * base/Makefile:
     - cosmetics

   * catalog/SlaStars.cc, catalog/Slalib.cc, catalog/StarCatalog.h,
     gui/MGSkyPosition.cc:
     - replaced kRad2Deg by TMath::RadToDeg()
     - replaced kDeg2Rad by TMath::DegToRad()
     - replaced kPiDiv2  by TMath::Pi()/2

   * main/MCaos.cc:
     - replaced cout by gLog and use color coding
     - replaced coord.h by MPointing.h



 2008/01/16 Thomas Bretz

   * gui/MGMenu.[h,cc]:
     - removed

   * Makefile, Makefile.conf.general, Makefile.conf.linux,
     Makefile.rules, caos/Makefile, catalog/Makefile,
     devdrv/Makefile, gui/Makefile, main/Makefile,
     slalib/Makefile, tcpip/Makefile, videodev/Makefile:
     - changed all Makefiles to the Mars Makefile style for better
       performance, maintanance and reliability
     - some updates for future code

   * videodev/CaosFilter.h, videodev/FilterLed.h, videodev/PixClient.h,
     videodev/PixGetter.h, videodev/Writer.h, candrv/sdolist.h:
     - added virtual destructor as suggested by gcc 4

   * devdrv/macs.[h,cc], devdrv/shaftencoder.[h,cc], candrv/canopen.[h,cc],
     candrv/network.[h,cc], candrv/nodedrv.[h,cc]:
     - replaced timeval_t* by a const reference in all arguments of
       member functions

   * gui/MGEmbeddedCanvas.cc:
     - replaced C-style includes (iostream.h) with C++ style (iostream)

   * videodev/FilterLed.cc:
     - initialized fImg as suggested by valgrind

   * candrv/canopen.cc, candrv/network.cc, main/MTracking.cc,
     main/MPpointing.cc, tcpip/MTcpIpIO.cc:
     - replaced the lout-logging by gLog

   * candrv/canopen.[h,cc]:
     - derive from a generalized base class (Interface) now instead of
       the specialized VmodIcan interface class
     - added member function to start and stop the underlaying interface
     - moved the RawCan handling function from VModIcan here
       (HandleMessage)

   * candrv/network.[h,cc]:
     - start interface via CanOpen::Start and stop it via CanOpen::Stop
     - removed obsolete arguments from constructor
     - initialize fNodes and fNodeInitialized as suggested by valgrind

   * gui/MGCoordinate.cc:
     - SetOwner of fList to make sure that all gui object are properly deleted
     - initialize the "label"-pointer as suggested by valgrind

   * gui/MGCosy.h:
     - removed obsolete forward class declaration of TGMenuBar

   * gui/MGCoordinate.cc, gui/MGPngReader.cc
     - SetOwner of fList to make sure that all gui object are properly deleted

   * main/MTracking.[h,cc]:
     - use new threading model (uses RunThread and CancelThread instead of 
       Start Stop)
     - changed return code of Thread from void* to Int_t#
     - replaced chacking the HasStopFlag by TThread::CancelPoint calls
     - renamed MPointing to MSlewing to get rid of a namespace conflic
       with Mars' MPointing

   * main/MainLinkDef.h:
     - added the missing + for MCosy and MTracking
     - replaced MPointing by MSlewing

   * main/MPointing.[h,cc]:
     - renamed class to MSlewing
     - removed

   * main/MSlewing.[h,cc]:
     - added

   * tcpip/MTcpIpIO.[h,cc]:
     - splitted MTcpIpIO into two base classes, one for input, one for output
     - made the ports an argument
     - derived from new threading class
     - also added a static function to send a frame over a exclusively
       opened port
     - replaced old HasStopFlag by new IsThreadCanceled (this is used
       instead of a CancelPoint to ensure correct cleanup)

   * tcpip/MDriveCom.h:
     - updated constructor



 2008/01/14 Thomas Bretz

   * tpoint/gui.C:
     - added individual reset buttons



 2008/01/09 Thomas Bretz

   * tpoint/gui.C:
     - some small improvements



 2007/06/06 Thomas Bretz

   * tpoint/*:
     - added new tpoint files
     - added starguider tpoint files
     - cleaned up the tpoints from errorneous detections

   * tpoint/gui.C:
     - added option to read collections
     - added new button to reread tpoints



 2007/06/06 Markus Meyer

   * tpoint/:
     - added tpoint files from Jan. 2007 to June 2007 



 2007/03/14 Thomas Bretz

   * bend.cc, cosy.cc, starg.cc, testse.cc, base/MStarList.cc,
     base/MThread.cc, base/log.h, base/msgqueue.cc, candrv/nodedrv.cc,
     candrv/sdolist.cc, catalog/SlaPlanets.cc, catalog/Slalib.cc,
     catalog/StarCatalog.cc, gui/MGAccuracy.cc, gui/MGCoordinate.cc,
     gui/MGCoordinates.cc, gui/MGCosy.cc, gui/MGNumStars.cc,
     gui/MGSkyPosition.cc, main/MBending.cc, main/MStargHistograms.cc,
     base/coord.h, main/MCaos.cc, main/MCosy.cc, main/MPointing.cc,
     main/MStarguider.cc, main/MTracking.cc, videodev/FilterLed.cc,
     videodev/PixClient.cc, videodev/PngReader.cc, videodev/Writer.cc:
     - replaced obsolete .h by C++ headers
     - added namespace std

   * base/MStarList.h:
     - fixed warnings about overwriting of Delete

   * base/MStopwatch.h, gui/MGCoordinate.h, gui/MGCoordinates.h,
     main/MStarguider.h:
     - fixed warning about overwriting of Print()

   * base/MTimeout.cc, candrv/nodedrv.cc, devdrv/macs.cc,
     tcpip/MCeCoCom.cc:
     - fixed default argument in declaration

   * catalog/StarCatalog.cc, gui/MGAccuracy.cc, main/MCaos.[h,cc],
     main/MCosy.cc, main/MPointing.cc, main/MStarguider.cc,
     main/MTracking.cc:
     - fixed a type problem (int instead of double) 

   * gui/MGCoordinate.cc, gui/MGCosy.cc:
     - fixed a warning about double declaration

   * tcpip/MCeCoCom.h:
     - renamed Send to SendRep

   * tcpip/MDriveCom.cc:
     - replaced Send by SendRep

   * tcpip/MTcpIpIO.cc:
     - added missing return



 2006/11/01 Thomas Bretz

   * tpoint/gui.C:
     - added the horizon
     - got rid of a warning about a TGraph with 0 points in case
       the tpoint-file didn't contain magnitudes.



 2006/07/18 Thomas Bretz

   * base/MStar.h:
     - fixed a really stupid bug in the constructor, which automatically
       converted the magnitudes into ints.



 2006/07/16 Thomas Bretz

   * leds.txt:
     - new values

   * gui/MGCoordinate.cc:
     - increased size of output text to display sign

   * gui/MGCosy.cc:
     - named MACS correctly MACS

   * gui/MGNumStars.cc:
     - changed color for correlated stars from magenta to cyan

   * main/MStarguider.cc:
     - changed starguider angle to -0.2
     - changed pixsize to 48.9
     - update num stars only if starguider is switched on
     - removed bug which caused the rotation angle in fact to
       be always 0
     - reimplemented the algorithm which only takes the n-th brightest
       stars from the catalog if n is the number of detected stars
       (otherwise the catalog might be so crowded with stars that
        one spot is correlated with many catalog stars)
     - decreased the search region for the LEDs
     - some things are not done anymore if not necesarry

   * videodev/FilterLed.[h,cc]:
     - cleaned up
     - changed the interface of the ClusterFinder slightly to
       allow it beeing used for the TPoint spot of the star



 2006/07/16 Daniela Dorner

   * main/MStarguider.[h,cc]:
     - improvement in showing/hiding of parts of the display in the starguider
       window



   * main/MStarguider.cc:
     - fixed bug in setting menu entry for limiting magnitude



 2006/07/14 Thomas Bretz (La Palma)

   * stargleds.txt:
     - changed positions slightly

   * gui/GuiLinkDef.h, gui/Makefile:
     - added MGNumStars

   * gui/MGStars.[h,cc]:
     - addde

   * gui/MGAccuracy.[h,cc], gui/MGStarg.[h,cc]:
     - unified
     - slight changes to layout

   * gui/MGCoordinate.[h,cc], MGCoordinated.[h,cc]:
     - added a new mode which allows to suppress the title

   * gui/MGCosy.[h,cc]:
     - added new status box (armed) currently switched on by default
     - adapted to changes in MGAccuracy
     - disallow changing the size of the window

   * main/MCaos.cc:
     - removed an obsolete Print()

   * main/MCosy.cc:
     - fixed the name of the log-files (2006 instead of 06)

   * main/MStarguider.[h,cc]:
     - implemented new socket to send triggers to Amc (port 7307)
     - changed standard limiting magnitude from 7.0 to 9.0
     - changed layout of display to implement new canvas
       displaying the number of detected and correlated stars
     - adapted to changes in MGStarg
     - added box to change cleaning level of starguider window
     - set default rotation angle to -0.4deg
     - disallow changing of window size
     - CalcTrackingError: check first the number of detected spots 
       and afterwards the number of found catalog stars
     - CalcTrackingError: just try to correlate all spots with all stars
     - decreased box size of LED box in starguider mode
     - replaced circles around starguider pointing position by
       camara size hexagons
     - do not show the starguider pointing position if less than three
       stars could be correlated

   * tcpip/MTcpIpIO.cc:
     - fixed a comparison between "signed and unsigned"

   * videodev/FilterLed.[h,cc]:
     - implemented DrawHexagon based on MGMap::DrawHexagon
     - renamed *Circle to *Box
     - replaced old algorithm to find stars in starguider mode (and
       LEDs) by a new ClusterFinder class
     - needs more maintanance!



 2006/07/11 Thomas Bretz (La Palma)

   * Makefile:
     - changed to support linking with the libmars.so instead
       of compiling a lot of stuff itself

   * Makefile.conf.general:  
     - added -DMARSVER

   * base/BaseLinkDef.h:
     - removed the now obsolete pragma

   * base/Makefile
     - removed the now obsolete files

   * candrv/Makefile, caos/Makefile, catalog/Makefile, 
     videodev/Makefile, devdrv/Makefile, gui/Makefile, 
     main/Makefile, tcpip/Makefile:
     - added the new mars include directory

   * caos/Leds.h, caos/Rings.h:
     - added an overwrite for Print to make the compiler happy

   * catalog/StarCatalog.cc:
     - small improvements to determination of image border 
       by using min- and max-functions

   * gui/MGCoordinate.cc:
     - small improvement to layout

   * gui/MGImage.cc:
     - fixed 16bit-color mode. The encoding was just wrong

   * videodev/Camera.cc:
     - unlock the tread after the broadcast. The reason why it
       is neccessary in root 4.04/02g to make cosy work is
       unknown. Anyhow it makes switching the cameras more robust

   * cosy.cc:
     - updated writing log-files
     - implemented sanity check for batch mode

   * gui/MGAccuracy.cc, gui/MGStarg.cc:
     - use GetabsDev from MAstro
     - scale azimuth deviation to real distance on the sky

   * main/MCosy.[h,cc]:
     - updated writing log-files
     - do no perfect position in case of move'n'track
     - implemented WM_PREPS for predefined positions
     - unified WM_TRACK and WM_GRB
     - updated GetFileName

   * main/MStarguider.cc:
     - undef EXPERT
     - some layout changes
     - set rotation angle of starguider camera to -0.4deg
     - unified FindStar and FindStarCircle
     - updated writing log-files
     - to calc skycenter the X-offset must be subtracted

   * tcpip/MDriveCom.[h,cc]:
     - implemented CommandPREPS
     - implemented CommandARM

   * videodev/FilterLed.[h,cc]:
     - unified FindStar and FindStarCircle
     - fixed algorithm FindStarCircle (it was not working for
       bright stars and didn't take care of the edge of the
       image!)
     - fixed a long outstanding bug which accessed some memory
       outside the image due to a wrong logical condition



 2006/07/11 Daniela Dorner

   * main/MStarguider.[h,cc]:
     - implemented function to disable and uncheck an entry in the menu

   * main/MStarguider.cc:
     - fixed bugs in (un)checking and en/disabeling items
     - removed not needed if-clauses
     - rearranged menu



 2006/07/10 Thomas Bretz (La Palma)

   * slalib/dat.c:
     - added leap second from 1st January 2006



 2006/06/29 Thomas Bretz

   * main/MStarguider.cc:
     - fixed a bug which gave a starguider mispointing which was wrong
       by the pointing position.
     - fixed also the position of the displayed rings wrt to the catalog
       sky

   * catalog/StarCatalog.cc:
     - replaced some Float_t by Int_t



 2006/06/28 Thomas Bretz

   * main/MStargHistograms.[h,cc]:
     - removed Center in units of Zd, Az

   * main/MStarguider.cc:
     - removed obsolete and dangerous sgcenterzdaz
     - do not display the sky-centered rings if sky-center is invalid
       (LEDs not detected)
     - rais error in this case and send error state to CC
     - added lower brighness limit of 30
     - do not write pointingpos.txt and tracking_error.txt anymore

   * caos/Ring.h:
     - added Setter SetXY

   * catalog/StarCatalog.cc:
     - fixed that when checking for the region in which stars will
       be searched only the y- but not the x-offset has been taken into
       account
     - added a small region around the region of interest because 
       the catalog position of visible stars might be out of the
       search region
     - commented out an obsolete function



 2006/05/10 Thomas Bretz

   * main/MStarguider.cc:
     - fixed an error returning the correct value in CalcTrackingError
     - added new value to Starguider report

   * tcpip/MDriveCom.[h,cc]:
     - added new value to starguider report


   
 2006/03/23 - Daniela Dorner, Thomas Bretz

   * main/MStarguider.[h,cc]:
     - changed starguider algorithm



 2006/03/19 - Daniela Dorner

   * main/MStargHistograms.cc:
     - changed name of tree from CaOs to Starg

   * leds.txt, stargleds.txt:
     - added new leds

   * main/MCosy.cc:
     - changed name of tpoint-files, which are written from Cosy, from
       tpoint*.txt to old-tpoint*.txt

   * main/MStarguider.[h,cc]:
     - added StarguiderTpoint Button
     - included 2 new variables to allow for the implementation of 
       StarguiderTpoints
     - added writing of StarguiderTpoints to the function CalcTrackingError
     - StarguiderTpoints are written to tpoint/starg_*.txt
     - Tpoints are wriiten to tpoint/tpoint_*.txt
     - added pulldown Mode to Menu
     - cleaned Menu (removed not needed items, rearanged place of items
     - removed expertmode
     - implemented Tpoint- and Starguider-Mode (switches all needed item)
       put some code into functions therefor
     - implemented releasing of button, if no tpoint can be taken
     - fixed small bugs in (un)checking items
     - removed starguider analyis (writing root-files) from starguider mode to 
       stabilize the code 
     - added 'fGetter->ExitLoop()' before each 'delete fGetter'
     - added SetDirectory(0) for histogram in starguider



 2006/03/11 - Daniela Dorner

   * tpoint/bending051124.txt:
     - added 



 2005/08/29 - Daniela Dorner

   * main/MStarguider.cc, tcpip/MDriveCom.[h,cc]:
     - added to variables to the Starguider report



 2005/08/22 - Thomas Bretz

   * candrv/nodedrv.cc, main/MTracking.cc:
     - fixed usage of MTime (MTime(-1) instead of MTime())



 2005/08/22 - Thomas Bretz

   * caos/Ring.[h,cc]:
     - added a sanity check for the case a led entry == NULL

   * caos/Rings.[h,cc]:
     - code cleanup
     - added a sanity check to CalcRings

   * devdrv/shaftencoder.h:
     - added new member function GetPosDirCorrected
     - added new member function GetOffsetDirCorrected

   * main/MStarguider.cc:
     - set number of minimum required LEDs for the ring calculation
       to 3. With two LEDs you can NEVER calculate a ring!
     - added another sanity check in FindStars

   * main/MTracking.cc:
     - replaced ?:-operators by new functions Get*DirCorrected
     - made sure that if both directions have changed the reset
       really causes the correct values to be used immediatly!
     - added some code for future use



 2005/07/28 - Florian Goebel

   * videodev/FilterLed.[cc,h]
     - add GetMeanPositionCircle and FindStarCircle
 
   * devdrv/shaftencoder.[cc,h]
     - add: fDirHasChanged, fDirChangedPos, fDirChangedOffset,
            fDirection, fHysteresisPos, fHysteresisNeg

   * main/MCosy.cc
     - set faster acceleration and Velocity parameters in TrackPositionGRB

   * main/MPointing.cc
     - correct bug which always set speed to LO-SPEED

   * main/MStarguider.[cc,h]
     - add new Popup "Operation" (functionality is not ready yet)
     - add new procedure: FindRoqueLamp
     - in MStarguider::FindStar now use Leds::FindStarCircle 
       (instead of Leds::FindStar)

   * main/MTracking.cc
     - calculate DirHasChanged etc.



 2005/04/11 - Thomas Bretz

   * main/MTracking.cc:
     - allow to send velocity and request position twice
     - enhanced some debugging output

   * candrv/network.[h,cc]:
     - implemented PrintError

   * candrv/nodedrv.[h,cc]:
     - implemented new argument (zombie) to WaitForSdo which allows
       to mark a missing CANbus message as non-critical



 2005/03/21 - Thomas Bretz

   * tcpip/MDriveCom.[h,cc]:
     - added a missing white space behind the brightness and
       fixed the wrong units of Zd/Az in the starguider report



 2005/03/17 - Thomas Bretz

   * main/MCosy.[h,cc]:
     - implemented WM_GRB and TrackPositionGRB for GRB mode

   * main/MStarguider.cc:
     - added 'status' to FINDSTAR-REPORT
     - send STARG-REPORT only if Starguider is switched on
     - enhanced output in starguider report

   * tcpip/MCeCoCom.cc:
     - tried to backengineer the CC-REPORT because it is not documented
       in the CC TDAS
     - changed critical values for windspeed from 10/20/30 to 30/40/50

   * tcpip/MDriveCom.[h,cc]:
     - implemented handling of GRB command
     - enhanced SendStargReport. Starguider Report now:
       misszd[%05.3f] missaz[%05.3f] 
       nomzd[%c %03d %02d %03d] nomaz[%c %03d %02d %03d]
       centerx[%05.1f] centery[%05.1f] n[%04d]
       bright[%03.1f] mjd[%12.6f]
