Commit 1bb9d39d authored by SRT Operator's avatar SRT Operator
Browse files

fixed a bug that cause the schedule to block after the first subscan (closeScan())

parent 0d1f282c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -227,7 +227,7 @@ public:
			ComponentErrors::ValidationErrorExImpl,ComponentErrors::ValidationErrorExImpl,ComponentErrors::CouldntGetComponentExImpl,
			ComponentErrors::UnexpectedExImpl,ComponentErrors::CORBAProblemExImpl,ReceiversErrors::DewarPositionerCommandErrorExImpl);

	void closeScan(ACS::Time timeToStop) throw (ReceiversErrors::DewarPositionerCommandErrorExImpl,ComponentErrors::CORBAProblemExImpl,
	void closeScan(ACS::Time& timeToStop) throw (ReceiversErrors::DewarPositionerCommandErrorExImpl,ComponentErrors::CORBAProblemExImpl,
			ComponentErrors::UnexpectedExImpl);

	long getFeeds(ACS::doubleSeq& X,ACS::doubleSeq& Y,ACS::doubleSeq& power) throw (ComponentErrors::ValidationErrorExImpl,
+1 −1
Original line number Diff line number Diff line
@@ -1532,7 +1532,7 @@ const IRA::CString& CRecvBossCore::getRecvCode()
	return m_currentRecvCode;
}

void CRecvBossCore::closeScan(ACS::Time timeToStop) throw (ReceiversErrors::DewarPositionerCommandErrorExImpl,ComponentErrors::CORBAProblemExImpl,
void CRecvBossCore::closeScan(ACS::Time& timeToStop) throw (ReceiversErrors::DewarPositionerCommandErrorExImpl,ComponentErrors::CORBAProblemExImpl,
		ComponentErrors::UnexpectedExImpl)
{
	timeToStop=0;
+1 −1
Original line number Diff line number Diff line
@@ -852,7 +852,7 @@ void CRecvBossCore::CRecvBossCore::startScan(ACS::Time& startUT,const Receivers:

}

void CRecvBossCore::closeScan(ACS::Time timeToStop) throw (ReceiversErrors::DewarPositionerCommandErrorExImpl,ComponentErrors::CORBAProblemExImpl,
void CRecvBossCore::closeScan(ACS::Time& timeToStop) throw (ReceiversErrors::DewarPositionerCommandErrorExImpl,ComponentErrors::CORBAProblemExImpl,
		ComponentErrors::UnexpectedExImpl)
{
	timeToStop=0;
+3 −1
Original line number Diff line number Diff line
@@ -444,9 +444,11 @@ public:
	 * @param prim pointer to the buffer that stores the primary scan parameters, the number and the type of parameters could vary from scna type
	 *                to scan type.
	 * @param sec pointer to the secondary scan parameters
	 * @param servo pointer to the servo scan parameters
	 * @param recv poiner to the receievers scan parameters
	 * @return false if the scan could not be found. 
	 */
	virtual bool getScan(const DWORD&id,Management::TScanTypes& type,void *& prim,void *& sec/*,IRA::CString& target*/);
	virtual bool getScan(const DWORD&id,Management::TScanTypes& type,void *& prim,void *& sec,void *& servo,void *& recv);
	
	/**
	 * This is the wrapper function of the previuos one, used to get scan data using a structure.
+9 −0
Original line number Diff line number Diff line
@@ -372,6 +372,9 @@ ACS::Time CCore::closeScan(bool wait) throw (ComponentErrors::ComponentNotActive
		if (!CORBA::is_nil(m_antennaBoss)) {
			m_antennaBoss->closeScan(antennaUT); // the ut could be modified by the call
			ACS_LOG(LM_FULL_INFO,"CCore::closeScan()",(LM_DEBUG,"ANTENNA_CLOSE_SCAN_EPOCH %lld",antennaUT));
			IRA::CString outstr;
			IRA::CIRATools::timeToStr(antennaUT,outstr);
			printf("tempo di chiusura (Antenna): %s\n",(const char*)outstr);
		}
		else {
			_EXCPT(ComponentErrors::ComponentNotActiveExImpl,impl,"CCore::closeScan()");
@@ -406,6 +409,9 @@ ACS::Time CCore::closeScan(bool wait) throw (ComponentErrors::ComponentNotActive
			if (!CORBA::is_nil(m_minorServoBoss)) {
				m_minorServoBoss->closeScan(servoUT);
				ACS_LOG(LM_FULL_INFO,"CCore::closeScan()",(LM_DEBUG,"MINOR_SERVO_CLOSE_SCAN_EPOCH %lld",servoUT));
				IRA::CString outstr;
				IRA::CIRATools::timeToStr(servoUT,outstr);
				printf("tempo di chiusura (Servo): %s\n",(const char*)outstr);
			}
			else {
				_EXCPT(ComponentErrors::ComponentNotActiveExImpl,impl,"CCore::closeScan()");
@@ -438,6 +444,9 @@ ACS::Time CCore::closeScan(bool wait) throw (ComponentErrors::ComponentNotActive
		if (!CORBA::is_nil(m_receiversBoss)) {
			m_receiversBoss->closeScan(receiversUT);
			ACS_LOG(LM_FULL_INFO,"CCore::closeScan()",(LM_DEBUG,"RECEIEVERS_STOP_SCAN_EPOCH %lld",receiversUT));
			IRA::CString outstr;
			IRA::CIRATools::timeToStr(receiversUT,outstr);
			printf("tempo di chiusura (receievers): %s\n",(const char*)outstr);
		}
		else {
			_EXCPT(ComponentErrors::ComponentNotActiveExImpl,impl,"CCore::closeScan()");
Loading