Subversion Repositories HomeAutomation

Rev

Rev 450 | Rev 770 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 450 Rev 453
Line 20... Line 20...
20
    private bool running = false;
20
    private bool running = false;
21
   
21
   
22
    public CanNMT() {
22
    public CanNMT() {
23
        cp = new CanPacket();
23
        cp = new CanPacket();
24
        cp.setExt(1);
24
        cp.setExt(1);
-
 
25
    }
-
 
26
 
-
 
27
    public CanNMT(CanPacket cp) {
-
 
28
        this.cp = cp;
-
 
29
        this.cp.setExt(1);
-
 
30
    }
-
 
31
   
-
 
32
    public byte getSender() {
-
 
33
        return (byte)((cp.getId()>>8)&0xFF);
-
 
34
    }
-
 
35
   
-
 
36
    public bool isNMTPacket() {
-
 
37
        if (((cp.getId()>>24)&0xFF) == 0) {
-
 
38
            return true;
-
 
39
        }
-
 
40
        return false;
-
 
41
    }
-
 
42
 
-
 
43
    public byte getType() {
-
 
44
        return (byte)((cp.getId()>>16)&0xFF);
-
 
45
    }
-
 
46
   
-
 
47
    public byte getReceiver() {
-
 
48
        return (byte)((cp.getId()>>0)&0xFF);
25
    }
49
    }
26
   
50
   
27
    public void setSender(byte id) {
51
    public void setSender(byte id) {
28
        cp.setId( ( ( cp.getId()&0x00FF00FF )|((uint)id<<8) ) );
52
        cp.setId( ( ( cp.getId()&0x00FF00FF )|((uint)id<<8) ) );
29
    }
53
    }
30
    public void setReceiver(byte id) {
54
    public void setReceiver(byte id) {
31
        cp.setId( ( ( cp.getId()&0x00FFFF00 )|((uint)id) ) );
55
        cp.setId( ( ( cp.getId()&0x00FFFF00 )|((uint)id) ) );
32
    }
56
    }
33
   
57
   
34
    public CanPacket getResetPacket() {
58
    public CanPacket getResetPacket() {
35
        cp.setId( ( cp.getId()&0x0000FFFF )|( CAN_NMT_RESET<<16 ) );
59
        cp.setId( ( cp.getId()&0x0000FFFF )|( CAN_NMT_RESET<<16 ) );
36
        cp.setDataLength(0);
60
        cp.setDataLength(0);
37
        return cp;
61
        return cp;
38
    }
62
    }
39
 
63
 
40
    public CanPacket getStartPacket() {
64
    public CanPacket getStartPacket() {
41
        cp.setId( ( cp.getId()&0x0000FFFF )|( CAN_NMT_START_APP<<16 ) );
65
        cp.setId( ( cp.getId()&0x0000FFFF )|( CAN_NMT_START_APP<<16 ) );
-
 
66
        cp.setDataLength(0);
-
 
67
        return cp;
-
 
68
    }
-
 
69
 
-
 
70
    public CanPacket getPgmStartPacket(byte[] data) {
-
 
71
        cp.setId( ( cp.getId()&0x0000FFFF )|( CAN_NMT_PGM_START<<16 ) );
-
 
72
        cp.setData(data);
-
 
73
        cp.setDataLength(4);
-
 
74
        return cp;
-
 
75
    }
-
 
76
 
-
 
77
    public CanPacket getPgmDataPacket(byte[] data, byte datalen) {
-
 
78
        cp.setId( ( cp.getId()&0x0000FFFF )|( CAN_NMT_PGM_DATA<<16 ) );
-
 
79
        cp.setData(data);
-
 
80
        cp.setDataLength(datalen);
-
 
81
        return cp;
-
 
82
    }
-
 
83
 
-
 
84
    public CanPacket getPgmEndPacket() {
-
 
85
        cp.setId( ( cp.getId()&0x0000FFFF )|( CAN_NMT_PGM_END<<16 ) );
42
        cp.setDataLength(0);
86
        cp.setDataLength(0);
-
 
87
        return cp;
-
 
88
    }
-
 
89
 
-
 
90
    public CanPacket getPgmCopyPacket(byte[] data) {
-
 
91
        cp.setId( ( cp.getId()&0x0000FFFF )|( CAN_NMT_PGM_COPY<<16 ) );
-
 
92
        cp.setData(data);
-
 
93
        cp.setDataLength(6);
43
        return cp;
94
        return cp;
44
    }
95
    }
45
   
96
   
46
    public bool isBiosStart(CanPacket cp, byte sender) {
97
    public bool isBiosStart(CanPacket cp, byte sender) {
47
        bool returnval = false;
98
        bool returnval = false;