Loading Common/Servers/Scheduler/include/Core_Getter.h +6 −0 Original line number Diff line number Diff line Loading @@ -62,5 +62,11 @@ void getCurrentBackend(IRA::CString& bck); */ bool isTracking() const; /** * This is not thread safe but is almost atomic. * @return true if the antenna subsystem is tracking or not */ bool isOnSource() const; #endif /* CORE_GETTER_H_ */ Common/Servers/Scheduler/src/Core_Getter.i +10 −0 Original line number Diff line number Diff line Loading @@ -63,3 +63,13 @@ bool CCore::isTracking() const return (m_isAntennaTracking && m_isMinorServoTracking && m_isReceiversTracking && (diff>5000000)); } bool CCore::isOnSource() const { TIMEVALUE now; IRA::CIRATools::getTime(now); ACS::TimeInterval diff=now.value().value-m_clearTrackingTime; return (m_isAntennaTracking && (diff>5000000)); } Common/Servers/Scheduler/src/Core_Operations.i +1 −1 Original line number Diff line number Diff line Loading @@ -70,7 +70,7 @@ void CCore::_nop() const void CCore::_waitOnSource() throw (ManagementErrors::AbortedByUserExImpl) { m_abortCurrentOperation=false; while (!m_isAntennaTracking) { while (!isOnSource()) { if (m_abortCurrentOperation) { m_abortCurrentOperation=false; _EXCPT(ManagementErrors::AbortedByUserExImpl,dummy,"CCore::_waitOnSource()"); Loading Loading
Common/Servers/Scheduler/include/Core_Getter.h +6 −0 Original line number Diff line number Diff line Loading @@ -62,5 +62,11 @@ void getCurrentBackend(IRA::CString& bck); */ bool isTracking() const; /** * This is not thread safe but is almost atomic. * @return true if the antenna subsystem is tracking or not */ bool isOnSource() const; #endif /* CORE_GETTER_H_ */
Common/Servers/Scheduler/src/Core_Getter.i +10 −0 Original line number Diff line number Diff line Loading @@ -63,3 +63,13 @@ bool CCore::isTracking() const return (m_isAntennaTracking && m_isMinorServoTracking && m_isReceiversTracking && (diff>5000000)); } bool CCore::isOnSource() const { TIMEVALUE now; IRA::CIRATools::getTime(now); ACS::TimeInterval diff=now.value().value-m_clearTrackingTime; return (m_isAntennaTracking && (diff>5000000)); }
Common/Servers/Scheduler/src/Core_Operations.i +1 −1 Original line number Diff line number Diff line Loading @@ -70,7 +70,7 @@ void CCore::_nop() const void CCore::_waitOnSource() throw (ManagementErrors::AbortedByUserExImpl) { m_abortCurrentOperation=false; while (!m_isAntennaTracking) { while (!isOnSource()) { if (m_abortCurrentOperation) { m_abortCurrentOperation=false; _EXCPT(ManagementErrors::AbortedByUserExImpl,dummy,"CCore::_waitOnSource()"); Loading