Subversion Repositories HomeAutomation

Rev

Rev 1328 | 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="class_type" lenght="4"/>
  9.         <datatype type="unsigned integer" name="module_id" lenght="8"/>
  10.         <datatype type="unsigned integer" name="message_type" length="8"/>
  11.         <datatype type="unsigned integer" name="nmt_message_type" length="8"/>
  12.         <datatype type="boolean" name="boolean"/>
  13.        
  14.         <!-- Used to send responses, length depends on the number of codes -->
  15.         <datatype type="enum" name="response_code">
  16.             <label name="ok"/>
  17.             <label name="error"/>
  18.             <label name="warning"/>
  19.         </datatype>
  20.        
  21.         <!-- End required -->
  22.        
  23.  
  24.         <!-- Always 1 bit in length -->
  25.        
  26.  
  27.         <!-- Example standard datatypes -->
  28.         <datatype type="unsigned integer" name="uint10" length="10"/>
  29.         <datatype type="integer" name="int10" length="10"/>
  30.         <datatype type="string" name="string16" lenght="16"/>
  31.  
  32.         <!-- Example decimal, scaling is multiplied on sending and cast to int, and divided by on reception  -->
  33.         <datatype type="decimal" name="decimal10" length="10" scaling="1024"/>
  34.  
  35.         <!-- Example enum, length depends on the number of labels -->
  36.         <datatype type="enum" name="enum_test">
  37.             <label name="label1"/>
  38.             <label name="label2"/>
  39.             <label name="label3"/>
  40.         </datatype>
  41.     </datatypes>
  42.     <header>
  43.         <variable datatype="class_type" name="class_type" required="true"/>
  44.         <headertype class_type="0">
  45.             <variable datatype="boolean" name="reserved" required="false" default="0"/>
  46.             <variable datatype="nmt_message_type" name="type" required="true"/>
  47.         </headertype>
  48.         <headertype class_type="1">
  49.             <variable datatype="module_id" name="id" required="true"/>
  50.             <variable datatype="message_type" name="type" required="true"/>
  51.         </headertype>
  52.     </header>
  53.     <messagetypes>
  54.         <messagetype name="response">
  55.             <variable datatype="messageType" name="messageType" required="true"/>
  56.             <variable datatype="responseCode" name="code" required="true"/>
  57.         </messagetype>
  58.         <messagetype name="temperature">
  59.             <variable datatype="decimal10" name="temperature" required="true" unit="celcius"/>
  60.             <variable datatype="int10" name="id" required="true"/>
  61.            
  62. <!--        // Kanske flytta dessa ner till in-messages under modulerna -->
  63.             <response code="ok"/>
  64.             <response code="error"/>
  65.         </messagetype>
  66.     </messagetypes>
  67.     <modules>
  68.         <module name="irTranceiver">
  69.             <in>
  70.                 <message name="getTemperature"/>
  71.             </in>
  72.             <out>
  73.                 <message name="setTemperature"/>
  74.             </out>
  75.         </module>
  76.     </modules>
  77. </protocol>
  78.