Subversion Repositories HomeAutomation

Rev

Rev 1309 | Rev 1328 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | SVN | RSS feed

  1. <?xml version="1.0" standalone="yes"?>
  2. <protocol>
  3.     <version compat_version="1339" real_version="1449" updated="2009-08-03 16:43:40"/>
  4.     <datatypes>
  5.         <!-- Start required -->
  6.        
  7.         <!-- Always a total of 29 bits in length -->
  8.         <datatype type="unsigned integer" name="moduleType" lenght="13"/>
  9.         <datatype type="unsigned integer" name="moduleId" lenght="8"/>
  10.         <datatype type="unsigned integer" name="messageType" length="8"/>
  11.  
  12.         <!-- Used to send responses, length depends on the number of codes -->
  13.         <datatype type="enum" name="response">
  14.             <label name="ok"/>
  15.             <label name="error"/>
  16.             <label name="warning"/>
  17.         </datatype>
  18.        
  19.         <!-- End required -->
  20.        
  21.  
  22.         <!-- Always 1 bit in length -->
  23.         <datatype type="boolean" name="boolean"/>
  24.  
  25.         <!-- Example standard datatypes -->
  26.         <datatype type="unsigned integer" name="uint10" length="10"/>
  27.         <datatype type="integer" name="int10" length="10"/>
  28.         <datatype type="string" name="string16" lenght="16"/>
  29.  
  30.         <!-- Example decimal, scaling is multiplied on sending and cast to int, and divided by on reception  -->
  31.         <datatype type="decimal" name="decimal10" length="10" scaling="1024"/>
  32.  
  33.         <!-- Example enum, length depends on the number of labels -->
  34.         <datatype type="enum" name="enumTest">
  35.             <label name="label1"/>
  36.             <label name="label2"/>
  37.             <label name="label3"/>
  38.         </datatype>
  39.     </datatypes>
  40.     <header>
  41.         <variable datatype="moduleType" name="moduleType" required="true"/>
  42.         <variable datatype="moduleId" name="moduleId" required="true"/>
  43.         <variable datatype="messageType" name="messageType" required="true"/>
  44.     </header>
  45.     <messagetypes>
  46.         <messagetype name="response">
  47.             <variable datatype="messageId" name="messageId" required="true"/>
  48.             <variable datatype="responseCode" name="code" required="true"/>
  49.         </messagetype>
  50.         <messagetype name="temperature">
  51.             <variable datatype="decimal10" name="temperature" required="true" unit="celcius"/>
  52.             <variable datatype="int10" name="id" required="true"/>
  53.            
  54. <!--        // Kanske flytta dessa ner till in-messages under modulerna -->
  55.             <response code="ok"/>
  56.             <response code="error"/>
  57.         </messagetype>
  58.     </messagetypes>
  59.     <modules>
  60.         <module name="irTranceiver">
  61.             <in>
  62.                 <message name="getTemperature"/>
  63.             </in>
  64.             <out>
  65.                 <message name="setTemperature"/>
  66.             </out>
  67.         </module>
  68.     </modules>
  69. </protocol>
  70.