Commit 659a7110 authored by TheDebbio's avatar TheDebbio
Browse files

working on interface bounds to impl and core

parent 25a8645f
Loading
Loading
Loading
Loading
+33 −0
Original line number Diff line number Diff line
@@ -129,5 +129,38 @@
			      units="Volts"
			      format="%6.3f"						
			/>			
			<cryoTemperatureLNA description="Cryogenic temperature measured at the LNA"
			      alarm_high_on="40.0"
			      alarm_high_off="28.0"
			      default_value="20.0"
			      alarm_timer_trig="10"
			      default_timer_trig="10"
			      min_timer_trig="1"
			      min_delta_trig="0.5"
			      units="Kelvin"
			      format="%5.1f"									
			/>
			<cryoTemperatureShield description="Cryogenic temperature measured at the shield"
			      alarm_high_on="63.0"
			      alarm_high_off="44.0"
			      default_value="35.0"
			      alarm_timer_trig="10"
			      default_timer_trig="10"
			      min_timer_trig="1"
			      min_delta_trig="0.5"
			      units="Kelvin"
			      format="%5.1f"												
			/>
			<environmentTemperature description="temperature of the room in which the receiver is installed"
			      alarm_high_on="35.0"
			      alarm_high_off="30.0"
			      default_value="25.0"
			      alarm_timer_trig="10"
			      default_timer_trig="10"
			      min_timer_trig="1"
			      min_delta_trig="0.5"
			      units="Celsius degree"
			      format="%4.1f"									
			/>
			<receiverStatus description="Overall status of the receiver"/>
</MedicinaCBand>
+7 −1
Original line number Diff line number Diff line
@@ -67,6 +67,12 @@
			<xs:element name="Vg_1" type="baci:ROdouble"/>
			<!-- Gate voltage for IF2 (ROdouble) -->
			<xs:element name="Vg_2" type="baci:ROdouble"/>						
			<!-- cryogenic temp (K) (ROdouble) -->
			<xs:element name="cryoTemperatureLNA" type="baci:ROdouble"/>
			<!-- cryogenic temp (K) (ROdouble) -->
			<xs:element name="cryoTemperatureShield" type="baci:ROdouble"/>
			<!-- cryogenic temp (K) (ROdouble) -->
			<xs:element name="environmentTemperature" type="baci:ROdouble"/>			
			<xs:element name="receiverStatus" type="mng:SystemStatusType" />
		</xs:sequence>
		<xs:attribute name="DewarIPAddress" type="xs:string" use="required"/>
+10 −1
Original line number Diff line number Diff line
@@ -388,12 +388,21 @@ public:
     */
    void updateLnaTemperature() throw (ReceiversErrors::ReceiverControlBoardErrorExImpl);

	/*
	* @brief Cold head on
	*/
	void coldHeadOn() throw (ReceiversErrors::ReceiverControlBoardErrorExImpl);
	 
	 /**
	 *@brief Cold head off
	 */
	 void coldHeadOff() throw (ReceiversErrors::ReceiverControlBoardErrorExImpl);

     /**
     * It checks if the cool head is turned on or not
     * @throw ReceiversErrors::ReceiverControlBoardErrorExImpl
     */
    void updateCoolHead() throw (ReceiversErrors::ReceiverControlBoardErrorExImpl);
    void updateColdHead() throw (ReceiversErrors::ReceiverControlBoardErrorExImpl);

        /* *** LOCAL REMOTE *** */

+0 −76
Original line number Diff line number Diff line
#ifndef _DEVIOCRYOCOOLHEAD_H_
#define _DEVIOCRYOCOOLHEAD_H_

/** **************************************************************************************************** */
/* IRA Istituto di Radioastronomia                                                                      */
/*                                                                                                      */
/* This code is under GNU General Public Licence (GPL).                                                 */
/*                                                                                                      */
/* Who                                when            What                                              */
/* Andrea Orlati(aorlati@ira.inaf.it) 19/08/2011     Creation                                         */


#include <baciDevIO.h>
#include <IRA>

/**
 * This class is derived from template DevIO and it is used by the cryoTemparatureCoolHead  property of the  component.
 * @author <a href=mailto:a.orlati@ira.inaf.it>Andrea Orlati</a>,
 * Istituto di Radioastronomia, Italia<br>
*/
class DevIOCryoTemperatureCoolHead : public DevIO<CORBA::Double>
{
public:

	/**
	 * Constructor
	 * @param core pointer to the boss core
	*/
	DevIOCryoTemperatureCoolHead(CComponentCore* core) :  m_pCore(core)
	{
		AUTO_TRACE("DevIOCryoTemperatureCoolHead::DevIOCryoTemperatureCoolHead()");
	}

	/**
	 * Destructor
	*/
	~DevIOCryoTemperatureCoolHead()
	{
		ACS_TRACE("DevIOCryoTemperatureCoolHead::~DevIOCryoTemperatureCoolHead()");
	}

	/**
	 * @return true to initialize the property with default value from CDB.
	*/
	bool initializeValue()
	{
		AUTO_TRACE("DevIOCryoTemperatureCoolHead::initializeValue()");
		return true; // initialize with the default in order to avoid the alarm system when the component start and the value has not been read at least once
	}

	/**
	 * Used to read the property value.
	 * @param timestamp epoch when the operation completes
	*/
	CORBA::Double read(ACS::Time& timestamp) throw (ACSErr::ACSbaseExImpl)
	{
        CConfiguration::BoardValue result = m_pCore->getCryoCoolHead();
        m_val = result.temperature;
        timestamp = result.timestamp;
		return m_val;
	}
	/**
	 * It writes values into controller. Unused because the properties are read-only.
	*/
	void write(const CORBA::Double& value, ACS::Time& timestamp) throw (ACSErr::ACSbaseExImpl)
	{
		timestamp=getTimeStamp();
		return;
	}

private:
	CComponentCore* m_pCore;
	double  m_val;
};

#endif
+0 −77
Original line number Diff line number Diff line
#ifndef _DEVIOCRYOCOOLHEADWIN_H_
#define _DEVIOCRYOCOOLHEADWIN_H_

/** **************************************************************************************************** */
/* IRA Istituto di Radioastronomia                                                                      */
/*                                                                                                      */
/* This code is under GNU General Public Licence (GPL).                                                 */
/*                                                                                                      */
/* Who                                when            What                                              */
/* Andrea Orlati(aorlati@ira.inaf.it) 19/08/2011     Creation                                         */


#include <baciDevIO.h>
#include <IRA>
#include "Commons.h"

/**
 * This class is derived from template DevIO and it is used by the cryoTemparatureCoolHeadWindow  property of the  component.
 * @author <a href=mailto:a.orlati@ira.inaf.it>Andrea Orlati</a>,
 * Istituto di Radioastronomia, Italia<br>
*/
class DevIOCryoTemperatureCoolHeadWin : public DevIO<CORBA::Double>
{
public:

	/**
	 * Constructor
	 * @param core pointer to the boss core
	*/
	DevIOCryoTemperatureCoolHeadWin(CComponentCore* core) :  m_pCore(core)
	{
		AUTO_TRACE("DevIOCryoTemperatureCoolHeadWin::DevIOCryoTemperatureCoolHeadWin()");
	}

	/**
	 * Destructor
	*/
	~DevIOCryoTemperatureCoolHeadWin()
	{
		ACS_TRACE("DevIOCryoTemperatureCoolHeadWin::~DevIOCryoTemperatureCoolHeadWin()");
	}

	/**
	 * @return true to initialize the property with default value from CDB.
	*/
	bool initializeValue()
	{
		AUTO_TRACE("DevIOCryoTemperatureCoolHeadWin::initializeValue()");
		return true; // initialize with the default in order to avoid the alarm system when the component start and the value has not been read at least once
	}

	/**
	 * Used to read the property value.
	 * @param timestamp epoch when the operation completes
	*/
	CORBA::Double read(ACS::Time& timestamp) throw (ACSErr::ACSbaseExImpl)
	{
        BoardValue result = m_pCore->getShieldTemperature();
        m_val = result.temperature;
        timestamp = result.timestamp;
		return m_val;
	}
	/**
	 * It writes values into controller. Unused because the properties are read-only.
	*/
	void write(const CORBA::Double& value, ACS::Time& timestamp) throw (ACSErr::ACSbaseExImpl)
	{
		timestamp=getTimeStamp();
		return;
	}

private:
	CComponentCore* m_pCore;
	double  m_val;
};

#endif
Loading