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; |