Unverified Commit 5cbd0a53 authored by Andrea Orlati's avatar Andrea Orlati Committed by GitHub
Browse files

Fix issue #699: Medicina primary receiver cal diode control (#710)



* fix issue #699: CDB preparation for the Calmux component

* fix issue #699: now primary focus receiver, in Medicina,  will fire the diode by controlling the calmux

* Update PyCalmux.xml

Co-authored-by: default avatarGiuseppe Carboni <giuseppecarboni89@live.com>
parent e597dfcf
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@
#include <HolographyC.h>
#include <NoiseGeneratorC.h>
#include <TotalPowerC.h>
#include <CalMuxC.h>

#include "ComponentProxy.h"

@@ -16,6 +17,7 @@ namespace Backends
    PROXY_COMPONENT(Holography);
    PROXY_COMPONENT(NoiseGenerator);
    PROXY_COMPONENT(TotalPower);
    PROXY_COMPONENT(CalMux);
};

#endif
+2 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@
#include <acsncSimpleSupplier.h>
#include <ParserConnector.h>
#include "Configuration.h"
#include <BackendsProxy.h>
#define _RECVBOSSCORE_MAX_IFS 4

#elif COMPILE_TARGET_NT
@@ -350,6 +351,7 @@ private:
	ACS::Time m_feedsEpoch;
	ACS::Time m_IFsEpoch;
	ACS::Time m_modeEpoch;
	Backends::CalMux_proxy m_xalMux_proxy;

#elif COMPILE_TARGET_NT

+8 −4
Original line number Diff line number Diff line
@@ -45,6 +45,8 @@ void CRecvBossCore::initialize(maci::ContainerServices* services,CConfiguration
	catch (...) {
		_THROW_EXCPT(ComponentErrors::UnexpectedExImpl,"CRecvBossCore::initialize()");
	}
	m_calMux_proxy.setContainerServices(services);
   m_calMux_proxy.setComponentName("IDL:alma/Backends/CalMux:1.0");
	ACS_LOG(LM_FULL_INFO,"CRecvBossCore::initialize()",(LM_INFO,"ReceiversBoss notification channel open"));
}

@@ -108,13 +110,14 @@ void CRecvBossCore::calOn() throw (ComponentErrors::ValidationErrorExImpl,Compon
		}
	}
	else if (m_currentRecvCode=="XXP") {
		m_calMux_proxy->calOn();
		// turn the marca on through the FS
		IRA::CString fsBuffer("calon\n");
		/*IRA::CString fsBuffer("calon\n");
		if (!sendToFS((const void *)fsBuffer,fsBuffer.GetLength())) {
			_EXCPT(ComponentErrors::SocketErrorExImpl,impl,"CRecvBossCore::calOn()");
			m_status=Management::MNG_FAILURE;
			throw impl;
		}
		}*/
	}
	else {
		_EXCPT(ComponentErrors::ValidationErrorExImpl,impl,"CRecvBossCore::calOn()");
@@ -173,12 +176,13 @@ void CRecvBossCore::calOff() throw (ComponentErrors::ValidationErrorExImpl,Compo
	}
	else if (m_currentRecvCode=="XXP") {
		// turn the marca on through thr FS
		IRA::CString fsBuffer("caloff\n");
		/*IRA::CString fsBuffer("caloff\n");
		if (!sendToFS((const void *)fsBuffer,fsBuffer.GetLength())) {
			_EXCPT(ComponentErrors::SocketErrorExImpl,impl,"CRecvBossCore::calOff()");
			m_status=Management::MNG_FAILURE;
			throw impl;
		}				
		}*/
		m_calMux_proxy->calOff();			
	}
	else {
		_EXCPT(ComponentErrors::ValidationErrorExImpl,impl,"CRecvBossCore::calOff()");
+19 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
     Giuseppe Carboni <giuseppe.carboni@inaf.it>
-->

<Component 
    xmlns="urn:schemas-cosylab-com:Component:1.0" 
    xmlns:baci="urn:schemas-cosylab-com:BACI:1.0"
    xmlns:cdb="urn:schemas-cosylab-com:CDB:1.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              
    Name="PyCalmux"
    Code="Calmux.PyCalmuxImpl"
    Type="IDL:alma/Backends/CalMux:1.0"
    Container="PyCalmuxContainer"
    ImplLang="py"
    KeepAliveTime="-1"
    Default="false"
/>
+27 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="ISO-8859-1"?>
<Container xmlns="urn:schemas-cosylab-com:Container:1.0"
           xmlns:cdb="urn:schemas-cosylab-com:CDB:1.0" 
           xmlns:baci="urn:schemas-cosylab-com:BACI:1.0" 
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
           xmlns:log="urn:schemas-cosylab-com:LoggingConfig:1.0" 
           ImplLang="py"
           Timeout="30.0"
           UseIFR="true"
           ManagerRetry="10"
           Recovery="false">

    <Autoload>
        <cdb:_ string="baci" />
    </Autoload>

    <LoggingConfig 
		centralizedLogger="Log"
		minLogLevel="5"
		minLogLevelLocal="5"
		dispatchPacketSize="0"
		immediateDispatchLevel="8"
		flushPeriodSeconds="1"
	>
    </LoggingConfig>

</Container>
Loading