Unverified Commit 9447aa7a authored by Giuseppe Carboni's avatar Giuseppe Carboni Committed by GitHub
Browse files

Merge branch 'master' into stable-into-master

parents 2994a1a4 5a759787
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -41,7 +41,9 @@ Common/Interfaces/CommonInterface/idl/ReceiversDefinitions.idl
Common/Interfaces/ManagmentInterface/idl/CustomLogger.idl
Common/Interfaces/ManagmentInterface/idl/CustomLogger.idl
Common/Interfaces/ReceiversInterface/idl/DewarPositionerDefinitions.idl
Common/Interfaces/ReceiversInterface/idl/DewarPositionerDefinitions.idl
Common/Interfaces/XBackendInterface/idl/XBackends.idl
Common/Interfaces/XBackendInterface/idl/XBackends.idl
Common/Interfaces/ActiveSurfaceInterface/idl/ActiveSurfaceCommon.idl
Common/Misc/PMUpdate/src/PMUpdate_gui.py
Common/Misc/PMUpdate/src/PMUpdate_gui.py
Medicina/Interfaces/MedicinaActiveSurfaceInterface/idl/MedicinaActiveSurfaceBoss.idl
Noto/Errors/NotoActiveSurfaceErrors/idl/ASErrors.idl
Noto/Errors/NotoActiveSurfaceErrors/idl/ASErrors.idl
Noto/Interfaces/NotoActiveSurfaceInterface/idl/NotoActiveSurfaceBoss.idl
Noto/Interfaces/NotoActiveSurfaceInterface/idl/NotoActiveSurfaceBoss.idl
SRT/Clients/SRTActiveSurfaceGUIClient/include/SRTActiveSurfaceGUI.h
SRT/Clients/SRTActiveSurfaceGUIClient/include/SRTActiveSurfaceGUI.h
+11 −25
Original line number Original line Diff line number Diff line
@@ -4,56 +4,39 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/)
The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/
and this project adheres to [Semantic Versioning](http://semver.org/


## we keep track of the changes related to the release mentioned at the section header

## [discos1.0] 07-11-2018
## [discos1.0] 07-11-2018
### Added
### Added

    issue #261 - Added startup procedure scripts also for Noto and Medicina. The startup command is 'discos --start'. Also command line scripts are now avialble 'discosup' and 'discosdown'. The console can be start with 'discosConsole --start'.
    issue #261 - Added startup procedure scripts also for Noto and Medicina. The startup command is 'discos --start'. Also command line scripts are now avialble 'discosup' and 'discosdown'. The console can be start with 'discosConsole --start'.

    issue #325 - Added command 'dmed=<config>' to control the Medicina DMed (IF distributor). The device only allows to setup a set of programmable attenuators in order to control the singal levels. Argument 'config' selects which configuration to apply between a set of predefined one.
    issue #325 - Added command 'dmed=<config>' to control the Medicina DMed (IF distributor). The device only allows to setup a set of programmable attenuators in order to control the singal levels. Argument 'config' selects which configuration to apply between a set of predefined one.

    issue #323 - The metClient moved to common part as it is now the general client for weather stations. Also the autopark wind threshold is now read from configuration instead of being hardcoded.
    issue #323 - The metClient moved to common part as it is now the general client for weather stations. Also the autopark wind threshold is now read from configuration instead of being hardcoded.

    issue #324 - Full support for CHC receiver at Medicina telescope now added. The receiver will be available under two diffent configurations: 1.2GHz and 150MHz bandwidth. The respective setup are achieved by issuing the following procedures "SETUPCHC" and "SETUPCHCL".
    issue #324 - Full support for CHC receiver at Medicina telescope now added. The receiver will be available under two diffent configurations: 1.2GHz and 150MHz bandwidth. The respective setup are achieved by issuing the following procedures "SETUPCHC" and "SETUPCHCL".

    issue #361 - Written the PyCalMux component and integrated into the Noto line. Station procedures now execute the 'calmux=<configuration>' script in order to commute to the TotalPower noise calibration channel.
    issue #361 - Written the PyCalMux component and integrated into the Noto line. Station procedures now execute the 'calmux=<configuration>' script in order to commute to the TotalPower noise calibration channel.

    issue #368 - Added a 'calmux' command to the OperatorInput commands list. Internally it calls the 'setup' method of the PyCalmux component.
    issue #368 - Added a 'calmux' command to the OperatorInput commands list. Internally it calls the 'setup' method of the PyCalmux component.

    issue #369 - Now the Noto StationProcedures perform a default setup to the CalMux device letting it set the calibration noise mark coming from TotalPower as the default one.
    issue #369 - Now the Noto StationProcedures perform a default setup to the CalMux device letting it set the calibration noise mark coming from TotalPower as the default one.

    issue #419 - Completed integration and configuration of new primary focus receiver SXL, in Noto.
    issue #419 - Completed integration and configuration of new primary focus receiver SXL, in Noto.


### Changed
### Changed

    issue #316 - Several related commits. The operation releated to the Medicina K band receivers now relies on a new component directly derived from the SRT one. Large part of the code is shared between the two servants.
    issue #316 - Several related commits. The operation releated to the Medicina K band receivers now relies on a new component directly derived from the SRT one. Large part of the code is shared between the two servants.

    issue #301 - Noto Weather station has now a generic interface. In this way the MeteoClient can be used in Noto as wll as Medicina and SRT.
    issue #301 - Noto Weather station has now a generic interface. In this way the MeteoClient can be used in Noto as wll as Medicina and SRT.


### Fixed
### Fixed

    issue #366 - Now the PyCalmux component is kept alive after it gets instanced for the first time in order to avoid setting the default values to the controlled device every time the component is retrieved from some outside code/program.
    issue #366 - Now the PyCalmux component is kept alive after it gets instanced for the first time in order to avoid setting the default values to the controlled device every time the component is retrieved from some outside code/program.

    issue #367 - The PyCalmux component now uses a smarter way to open a socket to the CalMux device in order to avoid raising unwanted socket errors.
    issue #367 - The PyCalmux component now uses a smarter way to open a socket to the CalMux device in order to avoid raising unwanted socket errors.




## [discos1.0.2] 01-08-2019
## [discos1.0.2] 01-08-2019
### Added
### Added
### Changed
### Changed

    issue #423 - The SRT Active Surface now is monitored by 8 threads (the same threads that perform its initialization). The USDs statuses are updated inside these threads (roughly once every 15 seconds). The `usdStatus4GUI` method now returns the last read status of the given USD instead of interrogating the hardware in real time. The changes brought to the SRT Active Surface allowed its GUI to be improved. Since now it asks for the last known status of every USD without interrogating the hardware in real time, the thread is able to go from USD to USD in 10ms instead of 100ms. A complete loop of the USDs now lasts less than 15 seconds, the UI therefore appears much more responsive to the users, allowing them to send commands to the AS earlier than before (the startup time of the whole AS is approximately the same, but the UI catches up more quickly when the ASBoss is ready).
    issue #423 - The SRT Active Surface now is monitored by 8 threads (the same threads that perform its initialization). The USDs statuses are updated inside these threads (roughly once every 15 seconds). The `usdStatus4GUI` method now returns the last read status of the given USD instead of interrogating the hardware in real time. The changes brought to the SRT Active Surface allowed its GUI to be improved. Since now it asks for the last known status of every USD without interrogating the hardware in real time, the thread is able to go from USD to USD in 10ms instead of 100ms. A complete loop of the USDs now lasts less than 15 seconds, the UI therefore appears much more responsive to the users, allowing them to send commands to the AS earlier than before (the startup time of the whole AS is approximately the same, but the UI catches up more quickly when the ASBoss is ready).

    issue #404 - Minor fixes were introduced in the SRT test CDB.
    issue #404 - Minor fixes were introduced in the SRT test CDB.

    feature - The TimeTaggedCircularArray class is now thread safe.
    feature - The TimeTaggedCircularArray class is now thread safe.


### Fixed
### Fixed

    issue #431 - The AntennaBoss WatchingThread is now free to read updated values from the mount component without starving. This was tested in the SRT environment with the ACU simulator. No tests were carried on in the Medicina/Noto environments, but due to the different socket nature of the ACU, this should not be an issue. In a simulated environment, a time gap in the coordinates set happens roughly once every 100000 readings (during source tracking).
    issue #431 - The AntennaBoss WatchingThread is now free to read updated values from the mount component without starving. This was tested in the SRT environment with the ACU simulator. No tests were carried on in the Medicina/Noto environments, but due to the different socket nature of the ACU, this should not be an issue. In a simulated environment, a time gap in the coordinates set happens roughly once every 100000 readings (during source tracking).

    issue #411 - The WeatherStation component `getData` method now returns the last known set of weather parameters, without interrogating the hardware every time it was called. Previously, having N clients calling this method resulted in having N times the socket busy. One of the clients was for example the Refraction component, which introduced additional latencies and time gaps into the AntennaBoss WatchingThread.
    issue #411 - The WeatherStation component `getData` method now returns the last known set of weather parameters, without interrogating the hardware every time it was called. Previously, having N clients calling this method resulted in having N times the socket busy. One of the clients was for example the Refraction component, which introduced additional latencies and time gaps into the AntennaBoss WatchingThread.

    issue #382 - The Refraction `getCorrection` method now returns a VALUE of 0 when the antenna is pointing to the zenith (or when the elvation is encoded with more than 90 degrees). Previously, the method returned a POINTER equal to 0, which surprisingly never caused any issue other than flooding the jlog with a warning message.
    issue #382 - The Refraction `getCorrection` method now returns a VALUE of 0 when the antenna is pointing to the zenith (or when the elvation is encoded with more than 90 degrees). Previously, the method returned a POINTER equal to 0, which surprisingly never caused any issue other than flooding the jlog with a warning message.

    issue #402 - Fixed an issue in the ReceiversBossTui that was preventing the UI to find any derotator in the system.
    issue #402 - Fixed an issue in the ReceiversBossTui that was preventing the UI to find any derotator in the system.


## [discos1.0.3] 25-10-2019
## [discos1.0.3] 25-10-2019
@@ -82,6 +65,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/
    issue #433 - limited refraction correction values to a meaningful range in order to avoid flooding the jlog with warning messages whenever the elevation is close to 90 degrees
    issue #433 - limited refraction correction values to a meaningful range in order to avoid flooding the jlog with warning messages whenever the elevation is close to 90 degrees
    issue #502 - removed last service daemon reference from Manager.xml io SRT production line
    issue #502 - removed last service daemon reference from Manager.xml io SRT production line
    
    

## [discos1.0.5] - 09-03-2020
## [discos1.0.5] - 09-03-2020
## Added
## Added
    issue #504 - added credits clause (regarding INAF data ownership) to fits files headers
    issue #504 - added credits clause (regarding INAF data ownership) to fits files headers
@@ -111,11 +95,13 @@ and this project adheres to [Semantic Versioning](http://semver.org/
	 issue #604 - The control software will not allow anymore that a schedule, belonging to another project, could be run. In that case a warning message is sent to user console
	 issue #604 - The control software will not allow anymore that a schedule, belonging to another project, could be run. In that case a warning message is sent to user console
	              and the execution aborted.
	              and the execution aborted.
	              
	              
## [next release] - 
## [Next Release] - 
## Added
## Added
  
    issue #625 - Added Medicina Active Surface. Both component and GUIs were implemented.
    issue #791 - Nodding added for TotalPower and Sardara components via the `enable` command. This command can only be issued from a schedule and not via the operatorInput CLI.
                 The syntax for the command is the following: `enable=X;Y` with X and Y representing the 2 feeds the user would like to use for the Nodding observation.
                 This command must be placed in the <schedule_name>.bck file in order to work properly.
## Fixed
## Fixed
 
## Changed
## Changed

	issue #689 - The dataset provided by weather station has been enlarged by the wind direction. The correctponding RAL 'wx' command will noe provided wind direction readout, as well
	              
    issue #621 - The maximum number of chars of the schedule file name is now 37 (extension included). This is done for fits file and archive issue with the lenght of the schedule name.
+11 −0
Original line number Original line Diff line number Diff line
@@ -351,6 +351,17 @@ module Backends {
		 * it is not allowed to call this method.  
		 * it is not allowed to call this method.  
		 */
		 */


		/*
		 * It allows to set a range where to calculate a Tsys.
		 * @throw ComponentErrors::ComponentErrorsEx
		 * @throw BackendsErrors::BackendsErrorsEx
		 * @throw CORBA::SystemException
		 * @param freq starting frequency (MHz).
		 * @param bw portion of the backend bandwith (MHz) where calculate the Tsys.
		 */
		 void setTsysRange(in double freq,in double bw) raises (ComponentErrors::ComponentErrorsEx,BackendsErrors::BackendsErrorsEx);

		
	};
	};
	
	
};
};
+4 −2
Original line number Original line Diff line number Diff line
@@ -98,11 +98,13 @@ module Management {
		 * @param humidity relative humidity (0..100)
		 * @param humidity relative humidity (0..100)
		 * @param pressure atmospheric pressure (mbar)
		 * @param pressure atmospheric pressure (mbar)
		 * @param wind wind speed (Km/s)
		 * @param wind wind speed (Km/s)
		 * @param windDir direction (azimuth) of the wind 
		 * @throw CORBA::SystemException
		 * @throw CORBA::SystemException
		 * @throw ComponentErrors::ComponentErrorsEx
		 * @throw ComponentErrors::ComponentErrorsEx
		 * @throw ManagementErrors::ManagementErrorsEx
		 * @throw ManagementErrors::ManagementErrorsEx
		 */		
		 */		
		void weatherParamenters(out double temperature, out double humidity,out double pressure,out double wind)  raises (ComponentErrors::ComponentErrorsEx,ManagementErrors::ManagementErrorsEx);
		void weatherParamenters(out double temperature, out double humidity,out double pressure,out double wind,
		  out double windDir)  raises (ComponentErrors::ComponentErrorsEx,ManagementErrors::ManagementErrorsEx);
		
		
		/**
		/**
		 * Performs the computation of the system temperature. The operation is executed by using the currently in use backend and the currently configured frontend. It could also be the default one.
		 * Performs the computation of the system temperature. The operation is executed by using the currently in use backend and the currently configured frontend. It could also be the default one.
+2 −1
Original line number Original line Diff line number Diff line
@@ -17,7 +17,7 @@ namespace DiscosBackend{
            static Message setConfiguration(string conf);
            static Message setConfiguration(string conf);
            static Message getIntegration(){return Message(REQUEST, "get-integration");};
            static Message getIntegration(){return Message(REQUEST, "get-integration");};
            static Message setIntegration(int integration);
            static Message setIntegration(int integration);
            static Message getTpi(){return Message(REQUEST, "get-tpi");};
            static Message getTpi(double frequency = 0, double bandwidth = 0);
            static Message getTp0(){return Message(REQUEST, "get-tp0");};
            static Message getTp0(){return Message(REQUEST, "get-tp0");};
            static Message time(){return Message(REQUEST, "time");};
            static Message time(){return Message(REQUEST, "time");};
            static Message start(unsigned long long utctimestamp = 0);
            static Message start(unsigned long long utctimestamp = 0);
@@ -27,6 +27,7 @@ namespace DiscosBackend{
            static Message setFilename(string filename);
            static Message setFilename(string filename);
            static Message convertData(){return Message(REQUEST, "convert-data");};
            static Message convertData(){return Message(REQUEST, "convert-data");};
            static Message getRms(){return Message(REQUEST, "get-rms");};
            static Message getRms(){return Message(REQUEST, "get-rms");};
            static Message setEnable(int feed1, int feed2);
    }; //class Command
    }; //class Command
}; //namespace DiscosBackend
}; //namespace DiscosBackend


Loading