Subversion Repositories HomeAutomation

Rev

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

Rev 1634 Rev 1635
Line 13... Line 13...
13
    private const byte CAN_NMT_PGM_ACK      = 0x1C;
13
    private const byte CAN_NMT_PGM_ACK      = 0x1C;
14
    private const byte CAN_NMT_PGM_NACK     = 0x20;
14
    private const byte CAN_NMT_PGM_NACK     = 0x20;
15
    private const byte CAN_NMT_START_APP    = 0x24;
15
    private const byte CAN_NMT_START_APP    = 0x24;
16
    private const byte CAN_NMT_APP_START    = 0x28;
16
    private const byte CAN_NMT_APP_START    = 0x28;
17
    private const byte CAN_NMT_HEARTBEAT    = 0x2C;
17
    private const byte CAN_NMT_HEARTBEAT    = 0x2C;
-
 
18
 
-
 
19
    private const byte DEVICETYPE_AVR_ATmega8   = 1;
-
 
20
    private const byte DEVICETYPE_AVR_ATmega48  = 2;
-
 
21
    private const byte DEVICETYPE_AVR_ATmega88  = 3;
-
 
22
    private const byte DEVICETYPE_AVR_ATmega168 = 4;
-
 
23
    private const byte DEVICETYPE_AVR_ATmega328 = 5;
18
 
24
   
19
    private bool HWID_INUSE=false;
25
    private bool HWID_INUSE=false;
20
 
26
 
21
    CanPacket cp;
27
    CanPacket cp;
22
    private bool running = false;
28
    private bool running = false;
Line 40... Line 46...
40
    public bool isNMTPacket() {
46
    public bool isNMTPacket() {
41
        if (((cp.getId()>>24)&0xFF) == 0) {
47
        if (((cp.getId()>>24)&0xFF) == 0) {
42
            return true;
48
            return true;
43
        }
49
        }
44
        return false;
50
        return false;
45
    }
51
    }
46
 
52
 
47
    public byte getType() {
53
    public byte getType() {
48
        return (byte)((cp.getId()>>16)&0xFF);
54
        return (byte)((cp.getId()>>16)&0xFF);
49
    }
55
    }
50
   
56
   
51
    public byte getReceiver() {
57
    public byte getReceiver() {
Line 107... Line 113...
107
        cp.setId( ( cp.getId()&0x0000FFFF )|( CAN_NMT_PGM_COPY<<16 ) );
113
        cp.setId( ( cp.getId()&0x0000FFFF )|( CAN_NMT_PGM_COPY<<16 ) );
108
        cp.setData(data);
114
        cp.setData(data);
109
        cp.setDataLength(6);
115
        cp.setDataLength(6);
110
        return cp;
116
        return cp;
111
    }
117
    }
-
 
118
   
-
 
119
        private const byte DEVICETYPE_AVR_ATmega8   = 1;
-
 
120
    private const byte DEVICETYPE_AVR_ATmega48  = 2;
-
 
121
    private const byte DEVICETYPE_AVR_ATmega88  = 3;
-
 
122
    private const byte DEVICETYPE_AVR_ATmega168 = 4;
-
 
123
    private const byte DEVICETYPE_AVR_ATmega328 = 5;
112
   
124
   
113
    public bool isBiosStart(CanPacket cp, byte sender, uint hwid) {
125
    public bool isBiosStart(CanPacket cp, byte sender, uint hwid) {
114
        bool returnval = false;
126
        bool returnval = false;
115
        uint id = cp.getId();
127
        uint id = cp.getId();
116
        if (HWID_INUSE) {
128
        if (HWID_INUSE) {
Line 123... Line 135...
123
                }
135
                }
124
                if (data[3]==0) {
136
                if (data[3]==0) {
125
                   appinfo += ", device type unkown";
137
                   appinfo += ", device type unkown";
126
                }
138
                }
127
                if (data[3]!=0) {
139
                if (data[3]!=0) {
-
 
140
                    switch(data[3]){
-
 
141
                        case DEVICETYPE_AVR_ATmega8:
-
 
142
                            appinfo += ", device type ATmega8";
-
 
143
                            break;
-
 
144
                        case DEVICETYPE_AVR_ATmega48:
128
                   appinfo += ", device type "+data[3];
145
                            appinfo += ", device type ATmega48";
-
 
146
                            break;
-
 
147
                        case DEVICETYPE_AVR_ATmega88:
-
 
148
                            appinfo += ", device type ATmega88";
-
 
149
                            break;
-
 
150
                        case DEVICETYPE_AVR_ATmega168:
-
 
151
                            appinfo += ", device type ATmega168";
-
 
152
                            break;
-
 
153
                        case DEVICETYPE_AVR_ATmega328:
-
 
154
                            appinfo += ", device type ATmega328";
-
 
155
                            break;
-
 
156
                        default:
-
 
157
                            appinfo += ", device type unknown";
-
 
158
                            break;          
-
 
159
                    }
-
 
160
                }
129
                }
161
            }
130
                Console.WriteLine("Bios started on node 0x" + String.Format("{0:x2}", sender) +
162
                Console.WriteLine("Bios started on node 0x" + String.Format("{0:x2}", sender) +
131
                                    ", bios version 0x" + String.Format("{0:x2}", data[1]) + String.Format("{0:x2}", data[0]) +
163
                                    ", bios version 0x" + String.Format("{0:x2}", data[1]) + String.Format("{0:x2}", data[0]) +
132
                                    ", " + appinfo
164
                                    ", " + appinfo
133
                                    );
165
                                    );