<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
	- Author: Andrea Orlati
	-
	- History:
	-   17-11-2016  Created 
-->
<xs:schema
	targetNamespace="urn:schemas-cosylab-com:NotoReceivers:1.0"
	xmlns="urn:schemas-cosylab-com:NotoReceivers:1.0"
	xmlns:xs="http://www.w3.org/2001/XMLSchema"
	xmlns:cdb="urn:schemas-cosylab-com:CDB:1.0"
	xmlns:baci="urn:schemas-cosylab-com:BACI:1.0"
	xmlns:mng="urn:schemas-cosylab-com:Managment:1.0"
	xmlns:rcv="urn:schemas-cosylab-com:Receivers:1.0"
	
	elementFormDefault="qualified"
	attributeFormDefault="unqualified">
	<xs:import namespace="urn:schemas-cosylab-com:CDB:1.0" schemaLocation="CDB.xsd"/>
	<xs:import namespace="urn:schemas-cosylab-com:BACI:1.0" schemaLocation="BACI.xsd"/>
	<xs:import namespace="urn:schemas-cosylab-com:Managment:1.0" schemaLocation="Managment.xsd"/>
  	<xs:import namespace="urn:schemas-cosylab-com:Receivers:1.0" schemaLocation="Receivers.xsd"/>
  		  	
  	<xs:complexType name="NotoReceiversStatusType">
		<xs:complexContent>
			<xs:restriction base="baci:ROpattern">
				<xs:attribute name="resolution" type="xs:unsignedLong" use="optional" default="64"/>
            	<xs:attribute name="bitDescription" type="xs:string" use="optional" default=
                    "Noise_Mark,Noise_Mark_Error,Unlocked,LO_Error,Ant_Unit,AU_Error"/>
				<xs:attribute name="whenSet" type="xs:string" use="optional" default=
                	"1, 0, 0, 0, 1, 0"/>
            	<xs:attribute name="whenCleared" type="xs:string" use="optional" default=
            		"3, 2, 2, 2, 3, 2"/>
			</xs:restriction>
		</xs:complexContent>
	</xs:complexType>
	
	<xs:complexType name="NotoReceiversType">
	   <xs:complexContent>
      <xs:extension base="baci:CharacteristicComponent">
		<xs:sequence>
			<!-- Local Oscillator (ROdoubleSeq) -->
			<xs:element name="LO" type="baci:ROdoubleSeq"/>
			<!-- Number of receiver feeds -->
			<xs:element name="feeds" type="baci:ROlong"/>
			<!-- Intermediate Frequencies (ROlong) -->
			<xs:element name="IFs" type="baci:ROlong"/>
			<!-- Polarization (ROlongSeq) -->
			<xs:element name="polarization" type="baci:ROlongSeq"/>	
			<!-- initialFrequency (ROdoubleSeq) -->
			<xs:element name="initialFrequency" type="baci:ROdoubleSeq"/>	
			<!-- bandWidth (ROdoubleSeq) -->
			<xs:element name="bandWidth" type="baci:ROdoubleSeq"/>
			<!-- currently configured mode (ROstring) -->
			<xs:element name="mode" type="baci:ROstring"/>
			<!-- vacuum (ROdouble) -->
			<xs:element name="vacuum" type="baci:ROdouble"/>
			<!-- Subsystem status -->
			<xs:element name="status" type="NotoReceiversStatusType" />	
			<xs:element name="receiverStatus" type="mng:SystemStatusType" />
		</xs:sequence>
		<xs:attribute name="HPIBIPAddress" type="xs:string" use="required"/>
		<xs:attribute name="HPIBPort" type="xs:unsignedShort" use="required" />
		<!-- Instance of the associated device that will set the local oscillator -->
		<xs:attribute name="LocalOscillatorInstance" type="xs:string" use="required" />
		<!-- list of receivers with an associated local oscillator -->
		<xs:attribute name="LocalOscillatorEnabledReceivers" type="xs:string" use="required" />
		<!-- Instance of the Total Power backend, required to switch on/off the calibration diode -->
		<xs:attribute name="FocusSelectorInterface" type="xs:string" use="required" />
      </xs:extension>	
		</xs:complexContent>
	</xs:complexType>
  
	<xs:element name="NotoReceivers" type="NotoReceiversType"/>
</xs:schema>
