Commit 21cfd3fc authored by Andrea Orlati's avatar Andrea Orlati
Browse files

fix issue #328 Dewar positioner is now handled like the other servo system in...

fix issue #328 Dewar positioner is now handled like the other servo system in scan negotiations w.r.t to time-handshake. Also
               proper calls and checks are done to allow correct sign of parallacting angle handling.
parent a3c13da8
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -68,3 +68,15 @@ and this project adheres to [Semantic Versioning](http://semver.org/
### Fixed
    issue #452 - The Total Power component erroneously assigned a timestamp to the samples in case more samples were needed to reach total integration time
    issue #473 - The SRT AS USDs now retry 5 times to communicate with the hardware before setting their state to unavailable

## [Next Major] -
### Added
### Changed
    issue #328 - Commands 'peaker', 'lonOTF', 'latOTF' and 'skydipOTF' disabled temporarily.
                 The derotator is now handled as the other servo systems. The Dewar positioner now partecipate to the
                 negotiations for the scan start time and handling.
                 The schedule is now checked to guaratee the multiplicity if the relastionship between scans 
                 and sources is one to one.
                 Reviewed the scan handshake mechanism by subsystems and performed by the scheduler.         				
### Fixed
	 issue #328 - Fixed the handling of sign of the paralactic angle that led to misbeaviours in dewar positioning 	
 No newline at end of file
+9 −0
Original line number Diff line number Diff line
@@ -193,6 +193,15 @@ module Management {
		TSubScanSignal signal;			/* this indicates the signal of the current subscan */
	};

	/**
	 * This structure contains some information derived from the scan parameters
	*/
	struct TScanConfiguration {
		ACS::Time timeStamp;
		long scanID; /* This indicates the scanID of the current Scan */
		long subScansNumber; /* This tells how many subscans are included in this scan */
	};

};

#endif
+1 −1
Original line number Diff line number Diff line
@@ -46,7 +46,7 @@ module Receivers {

    typedef struct RunTime {
    	ACS::Time startEpoch;
    	boolean onTheFly;
    	boolean onTheFly;   /*!< indicates if a movement is required, i.e. if a derotator is involved in the observation */
    	ACS::Time timeToStop; /*!< indicates the exact time (when) the scan will be closed, it could be zero if no time is required */
    } TRunTimeParameters;

+4 −2
Original line number Diff line number Diff line
@@ -206,10 +206,11 @@ module Receivers {
         *         As output (in case the input value is zero) it returns the expected start time.
         * @param param structure containing all the information required in order to prepare the receiver for the scan.
         * @param antennaInfo auxiliary information from the antenna
         * @param scanConf structure that contains the configruation of the current scan to be checked
         * @throw ReceiversErrors::ReceiversErrorsEx
         * @throw ComponentErrors::ComponentErrorsEx
         */
        void startScan(inout ACS::Time startUT,in TReceiversParameters param,in Antenna::TRunTimeParameters antennaInfo) raises (ComponentErrors::ComponentErrorsEx,ReceiversErrors::ReceiversErrorsEx);
        void startScan(inout ACS::Time startUT,in TReceiversParameters param,in Antenna::TRunTimeParameters antennaInfo,in Management::TScanConfiguration scanConf) raises (ComponentErrors::ComponentErrorsEx,ReceiversErrors::ReceiversErrorsEx);
        
		/**
		 * This method virtually stops the current scan. The boss indeed is not required to do anything.
@@ -229,11 +230,12 @@ module Receivers {
		 * @param startUt this is the time before which the receivers are supposed to be ready for the scan. 
		 * @param param structure that describes the scan to be performed.
		 * @param antennaInfo structure that contains desired information from the antenna subsystem
		 * @param scanConf structure that contains the configruation of the current scan to be checked
		 * @param runTime stores the runtime parameters regarding the current scan from the receivers
		 * @return true if the subsystem could accomplish the required scan.
		 */
		boolean checkScan(in ACS::Time startUt,in TReceiversParameters param,in Antenna::TRunTimeParameters antennaInfo,
		 out TRunTimeParameters runTime) raises (ComponentErrors::ComponentErrorsEx,ReceiversErrors::ReceiversErrorsEx);
		 in Management::TScanConfiguration scanConf,out TRunTimeParameters runTime) raises (ComponentErrors::ComponentErrorsEx,ReceiversErrors::ReceiversErrorsEx);
        
    };
    
+10 −1
Original line number Diff line number Diff line
@@ -264,7 +264,16 @@ public:
			double& ra,double& dec);
			
	/**
	 * Converts horizontal coordinates for the given site and time to equatorial ones. No back-correction are perfomed like
	 * This function converts from B1950.0 FK4 to J2000.0 FK5 assuming zero proper motion in the FK5 frame
	 * @param ra50 B1950 right ascension (radians)
	 * @param dec50 B1950 declination (radians)
	 * @param ra returned J2000 right ascension (radians)
	 * @param dec returned J2000 declination (radians)
	*/
	static void B1950ToJ2000(const double& ra50,const double& dec50,double& ra,double& dec); 
	
	/**
	 * Converts horizontal coordinates for the given site and time to equatorial ones. No back-correction are performed like
	 * diurnal aberration.
	 * @param now a CDateTime representing the current UT date and time
	 * @param site coordinates of the observer
Loading