Subversion Repositories HomeAutomation

Rev

Rev 1328 | 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 -->
1403 runge 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
 
1326 runge 14
        <!-- Used to send responses, length depends on the number of codes -->
1403 runge 15
        <datatype type="enum" name="response_code">
1326 runge 16
            <label name="ok"/>
17
            <label name="error"/>
18
            <label name="warning"/>
1309 runge 19
        </datatype>
1326 runge 20
 
21
        <!-- End required -->
22
 
1309 runge 23
 
24
        <!-- Always 1 bit in length -->
1403 runge 25
 
1309 runge 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 -->
1403 runge 36
        <datatype type="enum" name="enum_test">
1309 runge 37
            <label name="label1"/>
38
            <label name="label2"/>
39
            <label name="label3"/>
40
        </datatype>
41
    </datatypes>
42
    <header>
1403 runge 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>
1309 runge 52
    </header>
53
    <messagetypes>
54
        <messagetype name="response">
1328 runge 55
            <variable datatype="messageType" name="messageType" required="true"/>
1309 runge 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>