Rev 339 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed
| Rev 339 | Rev 342 | ||
|---|---|---|---|
| Line 2... | Line 2... | ||
| 2 | * |
2 | * |
| 3 | * CAN module |
3 | * CAN module |
| 4 | * |
4 | * |
| 5 | ********************************************************************* |
5 | ********************************************************************* |
| 6 | * FileName: $HeadURL: https://svn.auml.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canBase/Source/CAN.c $ |
6 | * FileName: $HeadURL: https://svn.auml.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canBase/Source/CAN.c $ |
| 7 | * Last changed: $LastChangedDate: 2007-02- |
7 | * Last changed: $LastChangedDate: 2007-02-26 21:38:37 +0100 (Mon, 26 Feb 2007) $ |
| 8 | * By: $LastChangedBy: johboh $ |
8 | * By: $LastChangedBy: johboh $ |
| 9 | * Revision: $Revision: |
9 | * Revision: $Revision: 342 $ |
| 10 | ********************************************************************/ |
10 | ********************************************************************/ |
| 11 | 11 | ||
| 12 | #include <CANdefs.h> |
12 | #include <CANdefs.h> |
| 13 | #include <stackTasks.h> |
13 | #include <stackTasks.h> |
| 14 | #include <CAN.h> |
14 | #include <CAN.h> |
| Line 125... | Line 125... | ||
| 125 | 125 | ||
| 126 | // Send user program startup heatbeat |
126 | // Send user program startup heatbeat |
| 127 | outCp.type=ptPGM; |
127 | outCp.type=ptPGM; |
| 128 | outCp.pgm.class=pcCTRL; |
128 | outCp.pgm.class=pcCTRL; |
| 129 | outCp.pgm.id=pctAPPBOOT; |
129 | outCp.pgm.id=pctAPPBOOT; |
| 130 | outCp.length= |
130 | outCp.length=2; |
| - | 131 | outCp.data[1]=(BYTE)((APP_VERSION & 0xFF00)>>8); |
|
| - | 132 | outCp.data[0]=(BYTE)(APP_VERSION & 0xFF); |
|
| 131 | while(!canSendMessage(outCp,PRIO_HIGH)); |
133 | while(!canSendMessage(outCp,PRIO_HIGH)); |
| 132 | } |
134 | } |
| 133 | 135 | ||
| 134 | 136 | ||
| 135 | /* |
137 | /* |
| Line 190... | Line 192... | ||
| 190 | //RXB0SIDL 20 19 18 xx xx xx 17 16 |
192 | //RXB0SIDL 20 19 18 xx xx xx 17 16 |
| 191 | //RXB0EIDH 15 14 13 12 11 10 09 08 |
193 | //RXB0EIDH 15 14 13 12 11 10 09 08 |
| 192 | //RXB0EIDL 07 06 05 04 03 02 01 00 |
194 | //RXB0EIDL 07 06 05 04 03 02 01 00 |
| 193 | 195 | ||
| 194 | 196 | ||
| 195 | cp.type = ((RXB0SIDH& |
197 | cp.type = (BYTE)((RXB0SIDH&0xC0)>>6); |
| 196 | 198 | ||
| 197 | 199 | ||
| 198 | if (cp.type==ptBOOT) |
200 | if (cp.type==ptBOOT) |
| 199 | { |
201 | { |
| 200 | cp.boot.type = ((RXB0SIDH&0x38)>>3); |
202 | cp.boot.type = ((RXB0SIDH&0x38)>>3); |
| Line 202... | Line 204... | ||
| 202 | cp.boot.rid = RXB0EIDH; |
204 | cp.boot.rid = RXB0EIDH; |
| 203 | } |
205 | } |
| 204 | else |
206 | else |
| 205 | { |
207 | { |
| 206 | cp.pgm.class= ((RXB0SIDH&0x3C)>>2); |
208 | cp.pgm.class= ((RXB0SIDH&0x3C)>>2); |
| 207 | cp.pgm.id = (((WORD)RXB0SIDH&0x3)<<13)+(((WORD)RXB0SIDL&0xE0)<<5)+((RXB0SIDL&0x3 |
209 | cp.pgm.id = (((WORD)RXB0SIDH&0x3)<<13)+(((WORD)RXB0SIDL&0xE0)<<5)+(((WORD)RXB0SIDL&0x3)<<8)+(WORD)RXB0EIDH; |
| 208 | } |
210 | } |
| 209 | cp.sid = RXB0EIDL; |
211 | cp.sid = RXB0EIDL; |
| 210 | 212 | ||
| 211 | 213 | ||
| 212 | // Data length |
214 | // Data length |