Subversion Repositories HomeAutomation

Rev

Rev 1326 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | SVN | RSS feed

Rev Author Line No. Line
1309 runge 1
<?xml version="1.0" standalone="yes"?>
2
<protocol>
1326 runge 3
    <version compat_version="1339" real_version="1449" updated="2009-08-03 16:43:40"/>
1309 runge 4
    <datatypes>
1326 runge 5
        <!-- Start required -->
6
 
1309 runge 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"/>
1326 runge 10
        <datatype type="unsigned integer" name="messageType" length="8"/>
1309 runge 11
 
1326 runge 12
        <!-- Used to send responses, length depends on the number of codes -->
1328 runge 13
        <datatype type="enum" name="responseCode">
1326 runge 14
            <label name="ok"/>
15
            <label name="error"/>
16
            <label name="warning"/>
1309 runge 17
        </datatype>
1326 runge 18
 
19
        <!-- End required -->
20
 
1309 runge 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"/>
1326 runge 43
        <variable datatype="messageType" name="messageType" required="true"/>
1309 runge 44
    </header>
45
    <messagetypes>
46
        <messagetype name="response">
1328 runge 47
            <variable datatype="messageType" name="messageType" required="true"/>
1309 runge 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>