Commit eec1ab5f authored by Giuseppe Carboni's avatar Giuseppe Carboni
Browse files

Added setTsysRange to Skarab

The setTsysRange method is only present in the centos_7_compatibility branch for the moment, so the Skarab component was missing the method since it was ported from the master branch only lately
parent 6de05d31
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -353,6 +353,16 @@ public:
     */
    virtual void setAttenuation(CORBA::Long input,CORBA::Double att) throw (CORBA::SystemException,ComponentErrors::ComponentErrorsEx,BackendsErrors::BackendsErrorsEx);

    /**
     * This method is used to set a range in the bandwith of the backend where calculate the Tsys.
     * @throw CORBA::SystemException
     * @throw ComponentErrors::ComponentErrorsEx
     * @throw BackendsErrors::BackendsErrorsEx
     * @param freq starting frequency.
     * @param bw bandwidth interval.
     */
    virtual void setTsysRange(CORBA::Double freq,CORBA::Double bw) throw (CORBA::SystemException,ComponentErrors::ComponentErrorsEx,BackendsErrors::BackendsErrorsEx);
    
    /**
     * In order  to get the inputs definition in just one call. The returned argument contains the configuration sequentially, the first element corresponds to the first input and so on.
     * @throw CORBA::SystemException
+23 −0
Original line number Diff line number Diff line
@@ -138,6 +138,7 @@ void SkarabImpl::initialize() throw (ACSErr::ACSbaseExImpl)
	m_parser->add("getTime",new function1<CCommandLine,non_constant,void_type,O<time_type> >(line,&CCommandLine::getTime),0 );
	m_parser->add("initialize",new function1<CCommandLine,non_constant,void_type,I<string_type> >(line,&CCommandLine::setup),1 );
	m_parser->add("getRms",new function1<CCommandLine,non_constant,void_type,O<doubleSeq_type> >(line,&CCommandLine::getRms),0 );
	m_parser->add("setTsysRange", new function2<CCommandLine,non_constant,void_type,I<double_type>,I<double_type> >(line,&CCommandLine::setTsysRange),2 );
		
	threadPar.sender=this;
	threadPar.command=m_commandLine;
@@ -668,6 +669,28 @@ void SkarabImpl::setAttenuation(CORBA::Long input,CORBA::Double att) throw (CORB
	}
}

void SkarabImpl::setTsysRange(CORBA::Double freq,CORBA::Double bw) throw (CORBA::SystemException,ComponentErrors::ComponentErrorsEx,BackendsErrors::BackendsErrorsEx)
{
	AUTO_TRACE("SkarabImpl::setTsysRange()");
	CSecAreaResourceWrapper<CCommandLine> line=m_commandLine->Get();
	try {
		line->setTsysRange(freq,bw);
	}
	catch (ComponentErrors::ComponentErrorsExImpl& ex) {
		ex.log(LM_DEBUG);
		throw ex.getComponentErrorsEx();
	}
	catch (BackendsErrors::BackendsErrorsExImpl& ex) {
		ex.log(LM_DEBUG);
		throw ex.getBackendsErrorsEx();
	}
	catch (...) {
		_EXCPT(ComponentErrors::UnexpectedExImpl,dummy,"SkarabImpl::setTsysRange()");
		dummy.log(LM_DEBUG);
		throw dummy.getComponentErrorsEx();
	}
}

CORBA::Long SkarabImpl::getInputs(ACS::doubleSeq_out freq,ACS::doubleSeq_out bandWidth,ACS::longSeq_out feed,ACS::longSeq_out ifNumber) throw (CORBA::SystemException,
		ComponentErrors::ComponentErrorsEx,BackendsErrors::BackendsErrorsEx)
{