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 += |
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 | ); |