<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<CLIP CATEGORY="Grove" FILE="Grove/Grove Light Sensor.pdsclip" FAMILY="ARDUINO" DESC="Grove Light Sensor Module" >
   <PERIPHERAL TYPE="Grove Light Sensor"  ELEMENT="LDR1" >
     <!-- Hardware Interface -->
     <INTERFACE OBJECT="GroveLightSensor">
         <PROPERTY NAME="STATE" ELEMENT="GC1" TYPE="INTEGER" GROVE="ANALOG"/>
         <CONFIG>
          <!-- Light configuration -->
             <ENUMERATION NAME="LIGHTLEVEL">
               <CONSTANT NAME="1M (Dark)" VALUE="0"/>
               <CONSTANT NAME="127.38K" VALUE="1"/>
               <CONSTANT NAME="32.4K" VALUE="2"/>
               <CONSTANT NAME="17.6K" VALUE="3"/>
               <CONSTANT NAME="9.76K" VALUE="4"/>
               <CONSTANT NAME="6.04K" VALUE="5"/>
               <CONSTANT NAME="4.44K" VALUE="6"/>
               <CONSTANT NAME="3.55K" VALUE="7"/>
               <CONSTANT NAME="2.97K" VALUE="8"/>
               <CONSTANT NAME="2.45k (Light)" VALUE="9"/>
             </ENUMERATION>
          <PROPERTY NAME="STATE" ALIAS="LIGHT" ELEMENT="LDR1" TYPE="LIGHTLEVEL"/>
         </CONFIG>
     </INTERFACE>
   
     <!-- Firmware Driver -->
     <DRIVER HEADER="Grove.h">
       <!-- Sensor Function -->
       <FUNCTION DESC="Return true if light is greater or equal to the trigger value.">
         <PARAMETER NAME="Trigger" TYPE="FLOAT" DEFAULT="0" DESC="Trigger value in Lux"/>
         <RETURN TYPE="BOOLEAN"/>
       </FUNCTION>
       <!-- Methods -->
       <METHOD NAME="readLight" DESC="Read Light."> 
         <RETURN NAME="reading" TYPE="FLOAT" DEFAULT="Lux"/>
       </METHOD>
       <METHOD NAME="readResistance" DESC="Read resistance.">
         <RETURN NAME="reading" TYPE="FLOAT" DEFAULT="Ohms"/>
       </METHOD>
       <METHOD NAME="readRaw" DESC="Read Raw Value."> 
         <RETURN NAME="reading" TYPE="FLOAT" DEFAULT="ADCUnits"/>
       </METHOD>
     </DRIVER>
   </PERIPHERAL>
</CLIP>   