Commit 97548181 authored by Giuseppe Carboni's avatar Giuseppe Carboni Committed by aorlati
Browse files

IFDistributor implementation complete. (#218)

* Issue #210. Created a generic IFDistributor interface.
Also, reworked the original SRT IFDistributor from `ifdistributor`
branch in order to inherit from the generic interface.

* Fix #210, implemented the new IFDistributor component.
Also wrote its default configuration and renamed the old IFDistributor to SRTIFDistributor14.

* Fix #210. Possible final implementation of IFDistributor component.
The component has been tested with the new simulator,
but it needs to be tested with the actual hardware before merging this branch.

* Fix #210, some minor bugs fixed. Also added attribute `N_BOARDS` in schema.

* Fix #210. Added methods documentation and fixed some logging messages.

* Fix #210, edit according to proposed changes.
parent 45a004b3
Loading
Loading
Loading
Loading
+51 −0
Original line number Diff line number Diff line
/***************************************************************\
 *  Authors: 
 *      Marco Buttu <mbuttu@oa-cagliari.inaf.it>
 *      Giuseppe Carboni <gcarboni@oa-cagliari.inaf.it>
\***************************************************************/

#ifndef __GENERIC_IFDISTRIBUTOR__IDL__ 
#define __GENERIC_IFDISTRIBUTOR__IDL__ 

#include <maciErrType.idl>
#include <ComponentErrors.idl>

#pragma prefix "alma"


module Receivers {
 
    interface GenericIFDistributor
    {
   
        /** Take the backend name and configurate the component
         * 
         * @param backend_name the full name, i.e. BACKENDS/TotalPower
         * @throw ComponentErrors::ComponentErrorsEx
         */
        void setup(in string backend_name) raises (ComponentErrors::ComponentErrorsEx);


        /** Get the IFDistributor infos, like name, hardware and firmware versions.
         *
         * @return the string of infos.
         */
        string getInfo() raises (ComponentErrors::ComponentErrorsEx);


        /** Sets the IFDistributor to its default values **/
        void setDefault() raises (ComponentErrors::ComponentErrorsEx);


        /** Return the actual setup
         *
         * Return an empty string if the component is not yet
         * configured, otherwise the setup value (BACKENDS/TotalPower, ...)
         */
        string getSetup();

    };
};

#endif
+5 −1
Original line number Diff line number Diff line
@@ -20,7 +20,8 @@ CDB_SCHEMAS = Feeds ReceiversModeSetup LocalOscillatorLookUpTable \
# IDL Files and flags
IDL_FILES = CommonReceiverInterface ReceiversBoss \
			GenericReceiver LocalOscillatorInterface \
			DewarPositionerDefinitions GenericDerotator DewarPositioner
			DewarPositionerDefinitions GenericDerotator \
			DewarPositioner GenericIFDistributor


CommonReceiverInterfaceStubs_LIBS = baciStubs ComponentErrorsStubs ManagementErrorsStubs \
@@ -36,6 +37,7 @@ GenericDerotatorStubs_LIBS = baciStubs DerotatorErrorsStubs ComponentErrorsStubs
    ManagmentDefinitionsStubs
DewarPositionerStubs_LIBS =  baciStubs maciErrTypeStubs ComponentErrorsStubs \
    ManagmentDefinitionsStubs AntennaDefinitionsStubs DewarPositionerDefinitionsStubs
GenericIFDistributorStubs_LIBS = baciStubs maciErrTypeStubs ComponentErrorsStubs


# list of all possible C-sources (used to create automatic dependencies)
@@ -60,6 +62,8 @@ all: do_all
clean : clean_all 
	$(RM) $(INTROOT)/lib/python/site-packages/DewarPositioner*_idl*.py*
	$(RM) $(INTROOT)/lib/python/site-packages/libDewarPositionerStubs.*
	$(RM) $(INTROOT)/lib/python/site-packages/GenericIFDistributor*_idl*.py*
	$(RM) $(INTROOT)/lib/python/site-packages/libGenericIFDistributorStubs.*
	@echo " . . . clean done"

clean_dist : clean_all clean_dist_all 
+18 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
     Giuseppe Carboni <gcarboni@oa-cagliari.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="SRTIFDistributor"
    Code="IFDistributor.SRTIFDistributorImpl"
    Type="IDL:alma/Receivers/SRTIFDistributor:1.0"
    Container="PyIFDistributorContainer"
    ImplLang="py"
	Default="true"
/>
+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>
+24 −0
Original line number Diff line number Diff line
<?xml version='1.0' encoding='ISO-8859-1'?>

<SRTIFDistributorTable xmlns="urn:schemas-cosylab-com:SRTIFDistributorTable: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">

    <ConfigurationEntry>
        <ConfigurationName>DEFAULT</ConfigurationName>
        <LO>
            <Board>0</Board>
            <Enable>1</Enable>
            <Frequency>2300</Frequency>
        </LO>
        <BW>
            <Board>1</Board>
            <Bandwidth>3</Bandwidth>
        </BW>
        <BW>
            <Board>2</Board>
            <Bandwidth>3</Bandwidth>
        </BW>
    </ConfigurationEntry>
</SRTIFDistributorTable>
Loading