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

Enable nodding (#791)



* fix issue #640 milestone: update TotalPower component in order to be compliant with the new semantic (enable=[seq]) (#668)

* Fix #712, enable nodding for Sardara and DiscosBackendProtocol (#714)

* Fix #712, enable nodding for Sardara and DiscosBackendProtocol

Fix #579, added setTsysRange function

* added setNodding implementation

* review of SRT SARDARA configurations

* review of SRT SARDARA configurations

* Fix #712, fixed the DiscosBackendProtocol

* Fix #712, completed nodding for Sardara

* Fix #579, added TsysRange for Sardara

Co-authored-by: default avatarGiuseppe Carboni <giuseppecarboni89@live.com>

* Fix #579, fixed DiscosBackendProtocol get-tpi func (#790)

* Fix #791, updated CHANGELOG.md

* Fix #791, updated CHANGELOG.md with some more details about `enable`

Co-authored-by: default avatarLorenzoMonti <lorenzomonti42@gmail.com>
Co-authored-by: default avatarCarlo Migoni <migoni@oa-cagliari.inaf.it>
parent ec30f279
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -97,7 +97,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/
	              
## [Next Release] - 
## Added
    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
## Changed
	 issue #689 - The dataset provided by wether station has been enlarged by the wind direction. The correctponding RAL 'wx' command will noe provided wind direction readout, as well
	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.
+2 −1
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@ namespace DiscosBackend{
            static Message setConfiguration(string conf);
            static Message getIntegration(){return Message(REQUEST, "get-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 time(){return Message(REQUEST, "time");};
            static Message start(unsigned long long utctimestamp = 0);
@@ -27,6 +27,7 @@ namespace DiscosBackend{
            static Message setFilename(string filename);
            static Message convertData(){return Message(REQUEST, "convert-data");};
            static Message getRms(){return Message(REQUEST, "get-rms");};
            static Message setEnable(int feed1, int feed2);
    }; //class Command
}; //namespace DiscosBackend

+17 −0
Original line number Diff line number Diff line
@@ -18,6 +18,15 @@ Command::setIntegration(int integration)
    return command;
}

Message
Command::getTpi(double frequency, double bandwidth)
{
    Message command(REQUEST, "get-tpi");
    command.add_argument<double>(frequency);
    command.add_argument<double>(bandwidth);
    return command;
}

Message
Command::start(unsigned long long utctimestamp)
{
@@ -69,3 +78,11 @@ Command::setFilename(string filename)
    return command;
}

Message
Command::setEnable(int feed1, int feed2)
{
    Message command(REQUEST, "set-enable");
    command.add_argument<int>(feed1);
    command.add_argument<int>(feed2);
    return command;
}
+53 −38
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@
#include "Common.h"
//#include "Protocol.h"
#include "Configuration.h"
#include <ReceiversBossC.h>

using namespace maci;
using namespace DiscosBackend;
@@ -230,7 +231,7 @@ public:
	 * @param en new values sequence for the <i>m_enabled</i> elements. A value grater than zero correspond to a true,
	 *                a zero match to a false, while a negative will keep the things unchanged.
	 */ 
	void setEnabled(const ACS::longSeq& en) throw (BackendsErrors::BackendBusyExImpl);
	void setEnabled(const ACS::longSeq& en) throw (BackendsErrors::BackendBusyExImpl,  BackendsErrors::ConfigurationErrorExImpl, ComponentErrors::ValueOutofRangeExImpl);
	
	/**
	 * This function can be called in order to load an initial setup for the backend. Some parameter are fixed and cannot be changed during normal
@@ -425,6 +426,22 @@ public:
	void setAttenuation(const long&inputId, const double& attenuation)  throw (BackendsErrors::BackendBusyExImpl,ComponentErrors::ValidationErrorExImpl,ComponentErrors::ValueOutofRangeExImpl,BackendsErrors::NakExImpl,
			ComponentErrors::SocketErrorExImpl,ComponentErrors::TimeoutExImpl,BackendsErrors::ConnectionExImpl);
	
	/**
	 * Called to configure a range where compute a Tsys.
	 * @throw BackendsErrors::BackendBusyExImpl
	 * @throw ComponentErrors::ValidationErrorExImpl
	 * @throw ComponentErrors::ValueOutofRangeExImpl
	 * @throw BackendsErrors::NakExImpl,
	 * @throw ComponentErrors::SocketErrorExImpl
	 * @arg \c ComponentErrors::IRALibraryResource
	 * @throw ComponentErrors::TimeoutExImpl
	 * @throw BackendsErrors::ConnectionExImpl
	 * @param starting frequency
	 * @param bandwidth range;
	 */
	void setTsysRange(const double& freq, const double& bw)  throw (BackendsErrors::BackendBusyExImpl,ComponentErrors::ValidationErrorExImpl,ComponentErrors::ValueOutofRangeExImpl,BackendsErrors::NakExImpl,
			ComponentErrors::SocketErrorExImpl,ComponentErrors::TimeoutExImpl,BackendsErrors::ConnectionExImpl);
	
	/**
	 * Called by the component to fill the <i>Backends::TMainHeader</i> with the proper informations.
	 * @param bkd the stucture that contains the required information.
@@ -485,6 +502,7 @@ private:

    ContainerServices* m_services;
    Backends::TotalPower_var m_totalPower;
    Receivers::ReceiversBoss_var m_receiversBoss;
    //Receivers::GenericIFDistributor_var m_ifDistributor;

	/**
@@ -655,6 +673,9 @@ private:

    double m_filter;

    double m_TsysRange_freq;
    double m_TsysRange_bw;
	
	/**
	 * Pointer to the configuration table, every record of the table stores a possible backend setup.
	 */
@@ -753,22 +774,12 @@ private:
    	bool m_SK77;
    	bool m_SK00;
    	bool m_SK01;
    bool m_SK02;
    bool m_SK03;
    bool m_SK04;
    bool m_SK05;
    bool m_SK06;
    bool m_SC00;
    bool m_SL00;
    bool m_SP00;
    	bool m_SK77S;
    	bool m_SK00S;
    	bool m_SK01S;
    bool m_SK02S;
    bool m_SK03S;
    bool m_SK04S;
    bool m_SK05S;
    bool m_SK06S;
    	bool m_SC00;
    	bool m_SL00;
    	bool m_SP00;
    	bool m_SC00S;
    	bool m_SL00S;
    	bool m_SP00S;
@@ -778,7 +789,11 @@ private:
    	bool m_SCH00S;

    	bool m_stationSRT;
    bool m_stationMED;
    	bool m_stationMEDNT;

    	bool m_stokes;
    	bool m_CK;
	bool m_SardaraInitialized;
	
};

+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
Loading