<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<CONTROLLER NAME="Arduino Yun" FAMILY="ARDUINO" DESC="Arduino Yun ATmega32U4">
    
    <PERIPHERAL NAME="cpu" TYPE="CPU" DESC="Arduino Processor" ELEMENT="U1">
        <INTERFACE OBJECT="CPU" EXTERNAL="Cpu"/>
        <DRIVER FILE="Cpu/Cpu.xml"/>
    </PERIPHERAL>            	   
      
    <PERIPHERAL NAME="timer1" TYPE="TIMER1" DESC="Timer One" ELEMENT="U1" OPTIONAL="1" >
        <INTERFACE OBJECT="TimerOne" EXTERNAL="Timer1"/>
        <DRIVER FILE="TimerOne/TimerOne.xml"/>
    </PERIPHERAL>            	   
    
    <PERIPHERAL NAME="spi" TYPE="SPI" DESC="SPI Port" ELEMENT="U1" OPTIONAL="1" >
       <INTERFACE OBJECT="SpiPort" EXTERNAL="Spi">
          <SETUP NAME="begin"/>
       </INTERFACE>
       <DRIVER FILE="SPIPORT/spi.xml"/>
    </PERIPHERAL>            	   

    <PERIPHERAL NAME="i2c" TYPE="I2C" DESC="I2C Port" ELEMENT="U1" OPTIONAL="1" >
       <INTERFACE OBJECT="I2CPort" EXTERNAL="I2C">
          <SETUP NAME="begin"/>
       </INTERFACE>
       <DRIVER FILE="I2CPORT/i2c.xml"/>
    </PERIPHERAL>            	   

    <PERIPHERAL NAME="uart" TYPE="UART" DESC="UART (USB)" ELEMENT="U1" OPTIONAL="1" >
       <INTERFACE OBJECT="UART" EXTERNAL="Uart"/>
       <DRIVER FILE="UART/uart.xml"/>
    </PERIPHERAL>            	   
    
    <PERIPHERAL NAME="eeprom" TYPE="EEPROM" DESC="EEPROM" ELEMENT="U1" OPTIONAL="1" >
       <INTERFACE OBJECT="EESTORE" EXTERNAL="EEstore"/>
       <DRIVER FILE="EESTORE/eestore.xml"/>
    </PERIPHERAL> 
    
    <PERIPHERAL NAME="server" TYPE="SERVER" DESC="Yun VFP Server" ELEMENT="Y1" OPTIONAL="1" ENABLED="1">
        <INTERFACE OBJECT="Yun::Server" EXTERNAL="VFP">
          <CONFIG>
            <SETUP NAME="begin">
              <PROPERTY NAME="PORT" DESC="IP port to be used by the VFP server" ELEMENT="Y1" TYPE="INTEGER"/>
            </SETUP>
            <MODEL>
              <PROPERTY NAME="SHOWBROWSER" DESC="Use the built in web browser to display the front panel." ELEMENT="Y1" TYPE="BOOLEAN"/>
            </MODEL>
          </CONFIG>
          <LOOP NAME="poll"/>
         <SERVER TYPE="VFP" TRANSPORT="ETHERNET" ELEMENT="Y1"/>
        </INTERFACE>
        <DRIVER FILE="Yun/VfpServer.xml"/>
    </PERIPHERAL>            	   
         
    <PERIPHERAL NAME="storage" TYPE="STORAGE" DESC="Yun SD Card" ELEMENT="Y1" OPTIONAL="1" ENABLED="1">
       <INTERFACE OBJECT="Yun::FileStore" EXTERNAL="FS" >
         <SETUP NAME="begin"></SETUP>  
         <STORAGE NAME="MANIFEST" ELEMENT="Y1"/>
        </INTERFACE>
        <DRIVER FILE="Yun/FileStore.xml"/>
    </PERIPHERAL>            	   

    <PERIPHERAL NAME="client" TYPE="CLIENT" DESC="Yun HTTP Client" ELEMENT="Y1" OPTIONAL="1" >
        <INTERFACE OBJECT="Yun::Client" EXTERNAL="CLIENT">
         <SETUP NAME="begin"></SETUP>         
        </INTERFACE>
        <DRIVER FILE="Yun/Client.xml"/>
    </PERIPHERAL>      

    <PERIPHERAL NAME="mqtt" TYPE="MQTT" DESC="Yun MQTT" ELEMENT="Y1" OPTIONAL="1" >
        <INTERFACE OBJECT="Mqtt" EXTERNAL="Mqtt::instance">
          <CONFIG>
            <SETUP NAME="begin">
              <PROPERTY NAME="MQTT_CLIENTID" ALIAS="clientID" DESC="Unique Identifier for this MQTT Client" TYPE="STRING" DEFAULT="VSM-YUN"/>
              <PROPERTY NAME="MQTT_SERVER" ALIAS="server" DESC="IP address or DNS name of MQTT broker" TYPE="STRING" DEFAULT="localhost" />
              <PROPERTY NAME="MQTT_PORT" ALIAS="port" DESC="IP port of MQTT broker" TYPE="INTEGER" DEFAULT="1883" />
              <PROPERTY NAME="MQTT_USER" ALIAS="user" DESC="Username for connect (optional)" TYPE="STRING"  />
              <PROPERTY NAME="MQTT_PASS" ALIAS="password" DESC="Password for connect (optional)" TYPE="STRING" />
            </SETUP>
            <MACRO>
              <PROPERTY NAME="MQTT_DEBUG" ALIAS="debug" DESC="Emit debug messages to the Bridge Console" TYPE="BOOLEAN" DEFAULT="1"/>
              <PROPERTY NAME="BRIDGE_BAUDRATE" ALIAS="baudrate" DESC="Baudrate for Bridge Library" TYPE="INTEGER" DEFAULT="250000" HIDDEN="1"/>
            </MACRO>
          </CONFIG>
          <LOOP NAME="poll"/>
        </INTERFACE>
        <DRIVER FILE="MQTT/mqtt.xml"/>
    </PERIPHERAL>    

</CONTROLLER>