Subversion Repositories HomeAutomation

Rev

Details | Last modification | View Log | SVN | RSS feed

Rev Author Line No. Line
24 johboh 1
MP2COD 4.02, COFF to COD File Converter
2
Copyright (c) 2006 Microchip Technology Inc.
31 johboh 3
Listing File Generated: Sat Oct 21 14:40:15 2006
24 johboh 4
 
5
 
6
Address  Value    Disassembly              Source                                                                           File
7
-------  -------  -----------------------  -------------------------------------------------------------------------------  -----
26 johboh 8
                                           /*********************************************************************           F:\MCP\projects\CAN\canNode\Source\Main.c
9
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
10
                                            *                  Main application                                             F:\MCP\projects\CAN\canNode\Source\Main.c
11
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
12
                                            *********************************************************************           F:\MCP\projects\CAN\canNode\Source\Main.c
13
                                            * FileName:        Main.c                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
14
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
15
                                            * Author               Date    Comment                                          F:\MCP\projects\CAN\canNode\Source\Main.c
16
                                            *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~           F:\MCP\projects\CAN\canNode\Source\Main.c
17
                                            * Johan Böhlin     21-10-06 	Original        (Rev 1.0)                          F:\MCP\projects\CAN\canNode\Source\Main.c
18
                                            ********************************************************************/           F:\MCP\projects\CAN\canNode\Source\Main.c
19
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
24 johboh 20
                                           #include "../Include/compiler.h"                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
21
                                           #include "../Include/stackTasks.h"                                               F:\MCP\projects\CAN\canNode\Source\Main.c
22
                                           #include "../Include/Tick.h"                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
23
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
24
                                           #ifdef USE_CAN                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
25
                                           	#include "../Include/CAN.h"                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
26
                                           #endif                                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
27
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
28
                                           #ifdef USE_UART                                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
29
                                           	#include "../Include/uart.h"                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
30
                                           #endif                                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
31
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
32
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
33
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
34
                                           static void mainInit(void);                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
35
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 36
                                           static BOOL heartBeatEnabled = TRUE;                                             F:\MCP\projects\CAN\canNode\Source\Main.c
37
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
24 johboh 38
000044   cfd9     MOVFF     0xfd9,0xfe6    void main()                                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
39
000046   ffe6                                                                                                               
40
000048   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
41
00004a   ffd9                                                                                                               
42
00004c   0e0e     MOVLW     0xe                                                                                             
43
00004e   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
44
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
45
                                           	static TICK t = 0;                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
46
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
47
                                           	// Inits                                                                        F:\MCP\projects\CAN\canNode\Source\Main.c
48
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 49
000050   d8d1     RCALL     0x1f4          	mainInit();                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
24 johboh 50
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
51
                                           	#ifdef USE_CAN                                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 52
000052   eceb     CALL      0x5d6,0x0      		canInit();                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
53
000054   f002                                                                                                               
24 johboh 54
                                           	#endif                                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
55
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
56
                                           	#ifdef USE_UART                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 57
000056   ec30     CALL      0xa60,0x0      		uartInit();                                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
24 johboh 58
000058   f005                                                                                                               
59
                                           	#endif                                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
60
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 61
00005a   ecf0     CALL      0xbe0,0x0      	tickInit();                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
62
00005c   f005                                                                                                               
24 johboh 63
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
64
                                           	while(1)                                                                        F:\MCP\projects\CAN\canNode\Source\Main.c
65
                                           	{                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 66
00005e   ecfa     CALL      0xbf4,0x0      		if ((tickGet()-t)>=5*TICK_SECOND && heartBeatEnabled==TRUE)                    F:\MCP\projects\CAN\canNode\Source\Main.c
67
000060   f005                                                                                                               
68
000062   0100     MOVLB     0x0                                                                                             
69
000064   516b     MOVF      0x6b,0x0,0x1                                                                                    
70
000066   5c18     SUBWF     0x18,0x0,0x0                                                                                    
71
000068   6e00     MOVWF     0x0,0x0                                                                                         
72
00006a   516c     MOVF      0x6c,0x0,0x1                                                                                    
73
00006c   5819     SUBWFB    0x19,0x0,0x0                                                                                    
74
00006e   6e01     MOVWF     0x1,0x0                                                                                         
75
000070   516d     MOVF      0x6d,0x0,0x1                                                                                    
76
000072   581a     SUBWFB    0x1a,0x0,0x0                                                                                    
77
000074   6e02     MOVWF     0x2,0x0                                                                                         
78
000076   516e     MOVF      0x6e,0x0,0x1                                                                                    
79
000078   581b     SUBWFB    0x1b,0x0,0x0                                                                                    
80
00007a   6e03     MOVWF     0x3,0x0                                                                                         
81
00007c   0ef4     MOVLW     0xf4                                                                                            
82
00007e   5c00     SUBWF     0x0,0x0,0x0                                                                                     
83
000080   0e01     MOVLW     0x1                                                                                             
84
000082   5801     SUBWFB    0x1,0x0,0x0                                                                                     
85
000084   0e00     MOVLW     0x0                                                                                             
86
000086   5802     SUBWFB    0x2,0x0,0x0                                                                                     
87
000088   0e00     MOVLW     0x0                                                                                             
88
00008a   5803     SUBWFB    0x3,0x0,0x0                                                                                     
89
00008c   e3e8     BNC       0x5e                                                                                            
90
00008e   056a     DECF      0x6a,0x0,0x1                                                                                    
91
000090   e1e6     BNZ       0x5e                                                                                            
24 johboh 92
                                           		{                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
93
                                           			CAN_MESSAGE cm;                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
94
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 95
000092   ecfa     CALL      0xbf4,0x0      			t = tickGet();                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
96
000094   f005                                                                                                               
97
000096   c018     MOVFF     0x18,0x6b                                                                                       
98
000098   f06b                                                                                                               
99
00009a   c019     MOVFF     0x19,0x6c                                                                                       
100
00009c   f06c                                                                                                               
101
00009e   c01a     MOVFF     0x1a,0x6d                                                                                       
102
0000a0   f06d                                                                                                               
103
0000a2   c01b     MOVFF     0x1b,0x6e                                                                                       
24 johboh 104
0000a4   f06e                                                                                                               
105
                                           		                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
106
                                           			// Send heartbeat                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 107
0000a6   0e66     MOVLW     0x66           			cm.ident=0x00000666;                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
108
0000a8   6ede     MOVWF     0xde,0x0                                                                                        
109
0000aa   0e06     MOVLW     0x6                                                                                             
110
0000ac   6ede     MOVWF     0xde,0x0                                                                                        
111
0000ae   6ade     CLRF      0xde,0x0                                                                                        
112
0000b0   6add     CLRF      0xdd,0x0                                                                                        
113
0000b2   52dd     MOVF      0xdd,0x1,0x0                                                                                    
114
0000b4   52dd     MOVF      0xdd,0x1,0x0                                                                                    
115
0000b6   0e04     MOVLW     0x4            			cm.extended=FALSE;                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
116
0000b8   6adb     CLRF      0xdb,0x0                                                                                        
117
0000ba   0e01     MOVLW     0x1            			cm.data_length=1;                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
118
0000bc   6ef3     MOVWF     0xf3,0x0                                                                                        
119
0000be   0e05     MOVLW     0x5                                                                                             
120
0000c0   cff3     MOVFF     0xff3,0xfdb                                                                                     
121
0000c2   ffdb                                                                                                               
122
0000c4   0e48     MOVLW     0x48           			cm.data[0]='H';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
24 johboh 123
0000c6   6ef3     MOVWF     0xf3,0x0                                                                                        
31 johboh 124
0000c8   0e06     MOVLW     0x6                                                                                             
24 johboh 125
0000ca   cff3     MOVFF     0xff3,0xfdb                                                                                     
126
0000cc   ffdb                                                                                                               
127
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 128
0000ce   cfd9     MOVFF     0xfd9,0xfe9    			while(!canSendMessage(cm));                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
129
0000d0   ffe9                                                                                                               
130
0000d2   cfda     MOVFF     0xfda,0xfea                                                                                     
131
0000d4   ffea                                                                                                               
132
0000d6   cfee     MOVFF     0xfee,0xfe6                                                                                     
133
0000d8   ffe6                                                                                                               
134
0000da   cfee     MOVFF     0xfee,0xfe6                                                                                     
135
0000dc   ffe6                                                                                                               
136
0000de   cfee     MOVFF     0xfee,0xfe6                                                                                     
137
0000e0   ffe6                                                                                                               
138
0000e2   cfee     MOVFF     0xfee,0xfe6                                                                                     
139
0000e4   ffe6                                                                                                               
140
0000e6   cfee     MOVFF     0xfee,0xfe6                                                                                     
141
0000e8   ffe6                                                                                                               
142
0000ea   cfee     MOVFF     0xfee,0xfe6                                                                                     
143
0000ec   ffe6                                                                                                               
144
0000ee   cfee     MOVFF     0xfee,0xfe6                                                                                     
145
0000f0   ffe6                                                                                                               
146
0000f2   cfee     MOVFF     0xfee,0xfe6                                                                                     
147
0000f4   ffe6                                                                                                               
148
0000f6   cfee     MOVFF     0xfee,0xfe6                                                                                     
149
0000f8   ffe6                                                                                                               
150
0000fa   cfee     MOVFF     0xfee,0xfe6                                                                                     
151
0000fc   ffe6                                                                                                               
152
0000fe   cfee     MOVFF     0xfee,0xfe6                                                                                     
153
000100   ffe6                                                                                                               
154
000102   cfee     MOVFF     0xfee,0xfe6                                                                                     
155
000104   ffe6                                                                                                               
156
000106   cfee     MOVFF     0xfee,0xfe6                                                                                     
157
000108   ffe6                                                                                                               
158
00010a   cfee     MOVFF     0xfee,0xfe6                                                                                     
159
00010c   ffe6                                                                                                               
160
00010e   ec50     CALL      0x8a0,0x0                                                                                       
161
000110   f004                                                                                                               
162
000112   6e00     MOVWF     0x0,0x0                                                                                         
163
000114   0e0e     MOVLW     0xe                                                                                             
164
000116   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
165
000118   5000     MOVF      0x0,0x0,0x0                                                                                     
166
00011a   0900     IORLW     0x0                                                                                             
167
00011c   e1a0     BNZ       0x5e                                                                                            
168
00011e   d7d7     BRA       0xce                                                                                            
24 johboh 169
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
170
                                           			                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
171
                                           		}                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
172
                                           	}                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
173
                                           }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
174
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
175
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
176
                                           #pragma interruptlow HighISR                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 177
000120   cfd8     MOVFF     0xfd8,0xfe4    void HighISR(void)                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
178
000122   ffe4                                                                                                               
179
000124   cfe0     MOVFF     0xfe0,0xfe4                                                                                     
180
000126   ffe4                                                                                                               
181
000128   6ee4     MOVWF     0xe4,0x0                                                                                        
182
00012a   cfda     MOVFF     0xfda,0xfe4                                                                                     
24 johboh 183
00012c   ffe4                                                                                                               
31 johboh 184
00012e   cfe2     MOVFF     0xfe2,0xfda                                                                                     
185
000130   ffda                                                                                                               
186
000132   cfe9     MOVFF     0xfe9,0xfe4                                                                                     
187
000134   ffe4                                                                                                               
188
000136   cfea     MOVFF     0xfea,0xfe4                                                                                     
189
000138   ffe4                                                                                                               
190
00013a   cff6     MOVFF     0xff6,0xfe4                                                                                     
191
00013c   ffe4                                                                                                               
192
00013e   cff7     MOVFF     0xff7,0xfe4                                                                                     
193
000140   ffe4                                                                                                               
194
000142   cff5     MOVFF     0xff5,0xfe4                                                                                     
195
000144   ffe4                                                                                                               
196
000146   cff3     MOVFF     0xff3,0xfe4                                                                                     
197
000148   ffe4                                                                                                               
198
00014a   cff4     MOVFF     0xff4,0xfe4                                                                                     
199
00014c   ffe4                                                                                                               
200
00014e   cffa     MOVFF     0xffa,0xfe4                                                                                     
201
000150   ffe4                                                                                                               
202
000152   ee00     LFSR      0x0,0x14                                                                                        
203
000154   f014                                                                                                               
204
000156   0e0b     MOVLW     0xb                                                                                             
205
000158   04e8     DECF      0xe8,0x0,0x0                                                                                    
206
00015a   e303     BNC       0x162                                                                                           
207
00015c   cfee     MOVFF     0xfee,0xfe4                                                                                     
208
00015e   ffe4                                                                                                               
209
000160   d7fb     BRA       0x158                                                                                           
210
000162   ee00     LFSR      0x0,0x0                                                                                         
211
000164   f000                                                                                                               
212
000166   0e14     MOVLW     0x14                                                                                            
213
000168   04e8     DECF      0xe8,0x0,0x0                                                                                    
214
00016a   e303     BNC       0x172                                                                                           
215
00016c   cfee     MOVFF     0xfee,0xfe4                                                                                     
216
00016e   ffe4                                                                                                               
217
000170   d7fb     BRA       0x168                                                                                           
218
000172   52e6     MOVF      0xe6,0x1,0x0                                                                                    
24 johboh 219
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
220
                                           	#ifdef USE_CAN                                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 221
000174   ec16     CALL      0x62c,0x0      		canISR();                                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
222
000176   f003                                                                                                               
24 johboh 223
                                           	#endif                                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
224
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
225
                                           	#ifdef USE_UART                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 226
000178   ec94     CALL      0xb28,0x0      		uartISR();                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
227
00017a   f005                                                                                                               
24 johboh 228
                                           	#endif                                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
229
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 230
00017c   ec03     CALL      0xc06,0x0      	tickUpdate();                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
231
00017e   f006                                                                                                               
232
000180   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
233
000182   ee00     LFSR      0x0,0x13                                                                                        
234
000184   f013                                                                                                               
235
000186   0e14     MOVLW     0x14                                                                                            
236
000188   04e8     DECF      0xe8,0x0,0x0                                                                                    
237
00018a   e303     BNC       0x192                                                                                           
238
00018c   cfe5     MOVFF     0xfe5,0xfed                                                                                     
239
00018e   ffed                                                                                                               
240
000190   d7fb     BRA       0x188                                                                                           
241
000192   ee00     LFSR      0x0,0x1e                                                                                        
242
000194   f01e                                                                                                               
243
000196   0e0b     MOVLW     0xb                                                                                             
244
000198   04e8     DECF      0xe8,0x0,0x0                                                                                    
245
00019a   e303     BNC       0x1a2                                                                                           
246
00019c   cfe5     MOVFF     0xfe5,0xfed                                                                                     
247
00019e   ffed                                                                                                               
248
0001a0   d7fb     BRA       0x198                                                                                           
249
0001a2   cfe5     MOVFF     0xfe5,0xffa                                                                                     
250
0001a4   fffa                                                                                                               
251
0001a6   cfe5     MOVFF     0xfe5,0xff4                                                                                     
252
0001a8   fff4                                                                                                               
253
0001aa   cfe5     MOVFF     0xfe5,0xff3                                                                                     
254
0001ac   fff3                                                                                                               
255
0001ae   cfe5     MOVFF     0xfe5,0xff5                                                                                     
256
0001b0   fff5                                                                                                               
257
0001b2   cfe5     MOVFF     0xfe5,0xff7                                                                                     
258
0001b4   fff7                                                                                                               
259
0001b6   cfe5     MOVFF     0xfe5,0xff6                                                                                     
260
0001b8   fff6                                                                                                               
261
0001ba   cfe5     MOVFF     0xfe5,0xfea                                                                                     
262
0001bc   ffea                                                                                                               
263
0001be   cfe5     MOVFF     0xfe5,0xfe9                                                                                     
264
0001c0   ffe9                                                                                                               
265
0001c2   cfe5     MOVFF     0xfe5,0xfda                                                                                     
266
0001c4   ffda                                                                                                               
267
0001c6   50e5     MOVF      0xe5,0x0,0x0                                                                                    
268
0001c8   cfe5     MOVFF     0xfe5,0xfe0                                                                                     
269
0001ca   ffe0                                                                                                               
270
0001cc   cfe5     MOVFF     0xfe5,0xfd8                                                                                     
271
0001ce   ffd8                                                                                                               
272
0001d0   0010     RETFIE    0x0                                                                                             
24 johboh 273
                                           #pragma code highVector=0x08                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
274
                                           void HighVector (void)                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
275
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 276
000008   ef90     GOTO      0x120              _asm goto HighISR _endasm                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
24 johboh 277
00000a   f000                                                                                                               
278
00000c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
279
                                           #pragma code // Return to default code section                                   F:\MCP\projects\CAN\canNode\Source\Main.c
280
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
281
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
282
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
283
                                           #pragma interruptlow LowISR                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 284
0001d2   cfd8     MOVFF     0xfd8,0xfe4    void LowISR(void)                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
285
0001d4   ffe4                                                                                                               
286
0001d6   cfe0     MOVFF     0xfe0,0xfe4                                                                                     
287
0001d8   ffe4                                                                                                               
288
0001da   6ee4     MOVWF     0xe4,0x0                                                                                        
289
0001dc   cfda     MOVFF     0xfda,0xfe4                                                                                     
24 johboh 290
0001de   ffe4                                                                                                               
31 johboh 291
0001e0   52e6     MOVF      0xe6,0x1,0x0                                                                                    
24 johboh 292
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
293
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 294
0001e2   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
295
0001e4   cfe5     MOVFF     0xfe5,0xfda                                                                                     
296
0001e6   ffda                                                                                                               
297
0001e8   50e5     MOVF      0xe5,0x0,0x0                                                                                    
298
0001ea   cfe5     MOVFF     0xfe5,0xfe0                                                                                     
299
0001ec   ffe0                                                                                                               
300
0001ee   cfe5     MOVFF     0xfe5,0xfd8                                                                                     
301
0001f0   ffd8                                                                                                               
302
0001f2   0010     RETFIE    0x0                                                                                             
24 johboh 303
                                           #pragma code lowVector=0x18                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
304
                                           void LowVector (void)                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
305
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 306
000018   efe9     GOTO      0x1d2              _asm goto LowISR _endasm                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
24 johboh 307
00001a   f000                                                                                                               
308
00001c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
309
                                           #pragma code // Return to default code section                                   F:\MCP\projects\CAN\canNode\Source\Main.c
310
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
311
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
312
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
313
                                           *	Function: mainInit                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
314
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
315
                                           *	Input:	none                                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
316
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
317
                                           *	Pre-conditions: none                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
318
                                           *	Affects: Se code                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
319
                                           *	Depends: none.                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
320
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
321
                                           void mainInit()                                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
322
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 323
0001f4   9294     BCF       0x94,0x1,0x0   	LED0_TRIS=0;	                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
24 johboh 324
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
325
                                               // Enable internal PORTB pull-ups                                            F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 326
0001f6   9ef1     BCF       0xf1,0x7,0x0       INTCON2bits.RBPU = 0;                                                        F:\MCP\projects\CAN\canNode\Source\Main.c
24 johboh 327
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
328
                                           	// Enable Interrupts                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 329
0001f8   8ef2     BSF       0xf2,0x7,0x0       INTCONbits.GIEH = 1;                                                         F:\MCP\projects\CAN\canNode\Source\Main.c
330
0001fa   8cf2     BSF       0xf2,0x6,0x0       INTCONbits.GIEL = 1;                                                         F:\MCP\projects\CAN\canNode\Source\Main.c
24 johboh 331
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 332
0001fc   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
24 johboh 333
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
334
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
335
                                           *	Function: canParse                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
336
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
337
                                           *	Input:	Received can message                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
338
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
339
                                           *	Pre-conditions: canInit and received packet.                                   F:\MCP\projects\CAN\canNode\Source\Main.c
340
                                           *	Affects: Sensors/actuators/etc. See code.                                      F:\MCP\projects\CAN\canNode\Source\Main.c
341
                                           *	Depends: none.                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
342
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
343
                                           #ifdef USE_CAN                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 344
0001fe   cfd9     MOVFF     0xfd9,0xfe6    void canParse(CAN_MESSAGE cm)                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
345
000200   ffe6                                                                                                               
346
000202   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
347
000204   ffd9                                                                                                               
348
000206   0e02     MOVLW     0x2                                                                                             
349
000208   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
24 johboh 350
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 351
00020a   6ade     CLRF      0xde,0x0       	int i=0;                                                                        F:\MCP\projects\CAN\canNode\Source\Main.c
352
00020c   6add     CLRF      0xdd,0x0                                                                                        
353
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
354
00020e   0efd     MOVLW     0xfd           	uartPutc(UART_START_BYTE);                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
355
000210   6ee6     MOVWF     0xe6,0x0                                                                                        
356
000212   ec3c     CALL      0xa78,0x0                                                                                       
357
000214   f005                                                                                                               
358
000216   52e5     MOVF      0xe5,0x1,0x0                                                                                    
359
000218   0ef1     MOVLW     0xf1           	uartPutc((BYTE)(cm.ident));                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
360
00021a   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
361
00021c   ffe6                                                                                                               
362
00021e   ec3c     CALL      0xa78,0x0                                                                                       
363
000220   f005                                                                                                               
364
000222   52e5     MOVF      0xe5,0x1,0x0                                                                                    
365
000224   0ef1     MOVLW     0xf1           	uartPutc((BYTE)(cm.ident>>8));                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
366
000226   cfdb     MOVFF     0xfdb,0x0                                                                                       
367
000228   f000                                                                                                               
368
00022a   0ef2     MOVLW     0xf2                                                                                            
369
00022c   cfdb     MOVFF     0xfdb,0x1                                                                                       
370
00022e   f001                                                                                                               
371
000230   0ef3     MOVLW     0xf3                                                                                            
372
000232   cfdb     MOVFF     0xfdb,0x2                                                                                       
373
000234   f002                                                                                                               
374
000236   0ef4     MOVLW     0xf4                                                                                            
375
000238   cfdb     MOVFF     0xfdb,0x3                                                                                       
376
00023a   f003                                                                                                               
377
00023c   0e08     MOVLW     0x8                                                                                             
378
00023e   90d8     BCF       0xd8,0x0,0x0                                                                                    
379
000240   3203     RRCF      0x3,0x1,0x0                                                                                     
380
000242   3202     RRCF      0x2,0x1,0x0                                                                                     
381
000244   3201     RRCF      0x1,0x1,0x0                                                                                     
382
000246   3200     RRCF      0x0,0x1,0x0                                                                                     
383
000248   06e8     DECF      0xe8,0x1,0x0                                                                                    
384
00024a   e1f9     BNZ       0x23e                                                                                           
385
00024c   5000     MOVF      0x0,0x0,0x0                                                                                     
386
00024e   6ee6     MOVWF     0xe6,0x0                                                                                        
387
000250   ec3c     CALL      0xa78,0x0                                                                                       
388
000252   f005                                                                                                               
389
000254   52e5     MOVF      0xe5,0x1,0x0                                                                                    
390
000256   0ef1     MOVLW     0xf1           	uartPutc((BYTE)(cm.ident>>16));                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
391
000258   cfdb     MOVFF     0xfdb,0x0                                                                                       
392
00025a   f000                                                                                                               
393
00025c   0ef2     MOVLW     0xf2                                                                                            
394
00025e   cfdb     MOVFF     0xfdb,0x1                                                                                       
395
000260   f001                                                                                                               
396
000262   0ef3     MOVLW     0xf3                                                                                            
397
000264   cfdb     MOVFF     0xfdb,0x2                                                                                       
398
000266   f002                                                                                                               
399
000268   0ef4     MOVLW     0xf4                                                                                            
400
00026a   cfdb     MOVFF     0xfdb,0x3                                                                                       
401
00026c   f003                                                                                                               
402
00026e   0e10     MOVLW     0x10                                                                                            
403
000270   90d8     BCF       0xd8,0x0,0x0                                                                                    
404
000272   3203     RRCF      0x3,0x1,0x0                                                                                     
405
000274   3202     RRCF      0x2,0x1,0x0                                                                                     
406
000276   3201     RRCF      0x1,0x1,0x0                                                                                     
407
000278   3200     RRCF      0x0,0x1,0x0                                                                                     
408
00027a   06e8     DECF      0xe8,0x1,0x0                                                                                    
409
00027c   e1f9     BNZ       0x270                                                                                           
410
00027e   5000     MOVF      0x0,0x0,0x0                                                                                     
411
000280   6ee6     MOVWF     0xe6,0x0                                                                                        
412
000282   ec3c     CALL      0xa78,0x0                                                                                       
413
000284   f005                                                                                                               
414
000286   52e5     MOVF      0xe5,0x1,0x0                                                                                    
415
000288   0ef1     MOVLW     0xf1           	uartPutc((BYTE)(cm.ident>>24));                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
416
00028a   cfdb     MOVFF     0xfdb,0x0                                                                                       
417
00028c   f000                                                                                                               
418
00028e   0ef2     MOVLW     0xf2                                                                                            
419
000290   cfdb     MOVFF     0xfdb,0x1                                                                                       
420
000292   f001                                                                                                               
421
000294   0ef3     MOVLW     0xf3                                                                                            
422
000296   cfdb     MOVFF     0xfdb,0x2                                                                                       
423
000298   f002                                                                                                               
424
00029a   0ef4     MOVLW     0xf4                                                                                            
425
00029c   cfdb     MOVFF     0xfdb,0x3                                                                                       
426
00029e   f003                                                                                                               
427
0002a0   0e18     MOVLW     0x18                                                                                            
428
0002a2   90d8     BCF       0xd8,0x0,0x0                                                                                    
429
0002a4   3203     RRCF      0x3,0x1,0x0                                                                                     
430
0002a6   3202     RRCF      0x2,0x1,0x0                                                                                     
431
0002a8   3201     RRCF      0x1,0x1,0x0                                                                                     
432
0002aa   3200     RRCF      0x0,0x1,0x0                                                                                     
433
0002ac   06e8     DECF      0xe8,0x1,0x0                                                                                    
434
0002ae   e1f9     BNZ       0x2a2                                                                                           
435
0002b0   5000     MOVF      0x0,0x0,0x0                                                                                     
436
0002b2   6ee6     MOVWF     0xe6,0x0                                                                                        
437
0002b4   ec3c     CALL      0xa78,0x0                                                                                       
438
0002b6   f005                                                                                                               
439
0002b8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
440
0002ba   0ef5     MOVLW     0xf5           	uartPutc(cm.extended);                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
441
0002bc   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
442
0002be   ffe6                                                                                                               
443
0002c0   ec3c     CALL      0xa78,0x0                                                                                       
444
0002c2   f005                                                                                                               
445
0002c4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
446
0002c6   0ef6     MOVLW     0xf6           	uartPutc(cm.data_length);                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
447
0002c8   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
448
0002ca   ffe6                                                                                                               
449
0002cc   ec3c     CALL      0xa78,0x0                                                                                       
450
0002ce   f005                                                                                                               
451
0002d0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
452
0002d2   6ade     CLRF      0xde,0x0       	for(i=0;i<8;i++) uartPutc(cm.data[cm.data_length-i-1]);                         F:\MCP\projects\CAN\canNode\Source\Main.c
453
0002d4   6add     CLRF      0xdd,0x0                                                                                        
454
0002d6   cfde     MOVFF     0xfde,0x0                                                                                       
455
0002d8   f000                                                                                                               
456
0002da   cfdd     MOVFF     0xfdd,0x1                                                                                       
457
0002dc   f001                                                                                                               
458
0002de   90d8     BCF       0xd8,0x0,0x0                                                                                    
459
0002e0   5001     MOVF      0x1,0x0,0x0                                                                                     
460
0002e2   e604     BN        0x2ec                                                                                           
461
0002e4   0e08     MOVLW     0x8                                                                                             
462
0002e6   5c00     SUBWF     0x0,0x0,0x0                                                                                     
463
0002e8   0e00     MOVLW     0x0                                                                                             
464
0002ea   5801     SUBWFB    0x1,0x0,0x0                                                                                     
465
0002ec   e223     BC        0x334                                                                                           
466
0002ee   50d9     MOVF      0xd9,0x0,0x0                                                                                    
467
0002f0   0ff7     ADDLW     0xf7                                                                                            
468
0002f2   6e00     MOVWF     0x0,0x0                                                                                         
469
0002f4   0eff     MOVLW     0xff                                                                                            
470
0002f6   20da     ADDWFC    0xda,0x0,0x0                                                                                    
471
0002f8   6e01     MOVWF     0x1,0x0                                                                                         
472
0002fa   0ef6     MOVLW     0xf6                                                                                            
473
0002fc   50db     MOVF      0xdb,0x0,0x0                                                                                    
474
0002fe   6e04     MOVWF     0x4,0x0                                                                                         
475
000300   6a05     CLRF      0x5,0x0                                                                                         
476
000302   50de     MOVF      0xde,0x0,0x0                                                                                    
477
000304   5c04     SUBWF     0x4,0x0,0x0                                                                                     
478
000306   6e02     MOVWF     0x2,0x0                                                                                         
479
000308   50dd     MOVF      0xdd,0x0,0x0                                                                                    
480
00030a   5805     SUBWFB    0x5,0x0,0x0                                                                                     
481
00030c   6e03     MOVWF     0x3,0x0                                                                                         
482
00030e   0602     DECF      0x2,0x1,0x0                                                                                     
483
000310   0e00     MOVLW     0x0                                                                                             
484
000312   5a03     SUBWFB    0x3,0x1,0x0                                                                                     
485
000314   5000     MOVF      0x0,0x0,0x0                                                                                     
486
000316   2402     ADDWF     0x2,0x0,0x0                                                                                     
487
000318   6ee9     MOVWF     0xe9,0x0                                                                                        
488
00031a   5001     MOVF      0x1,0x0,0x0                                                                                     
489
00031c   2003     ADDWFC    0x3,0x0,0x0                                                                                     
490
00031e   6eea     MOVWF     0xea,0x0                                                                                        
491
000320   50ef     MOVF      0xef,0x0,0x0                                                                                    
492
000322   6ee6     MOVWF     0xe6,0x0                                                                                        
493
000324   ec3c     CALL      0xa78,0x0                                                                                       
494
000326   f005                                                                                                               
495
000328   52e5     MOVF      0xe5,0x1,0x0                                                                                    
496
00032a   2adf     INCF      0xdf,0x1,0x0                                                                                    
497
00032c   0e01     MOVLW     0x1                                                                                             
498
00032e   e3d3     BNC       0x2d6                                                                                           
499
000330   2adb     INCF      0xdb,0x1,0x0                                                                                    
500
000332   d7d1     BRA       0x2d6                                                                                           
501
000334   0efa     MOVLW     0xfa           	uartPutc(UART_END_BYTE);                                                        F:\MCP\projects\CAN\canNode\Source\Main.c
502
000336   6ee6     MOVWF     0xe6,0x0                                                                                        
503
000338   ec3c     CALL      0xa78,0x0                                                                                       
504
00033a   f005                                                                                                               
505
00033c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
24 johboh 506
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 507
00033e   0e02     MOVLW     0x2            }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
508
000340   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
509
000342   e202     BC        0x348                                                                                           
510
000344   6ae1     CLRF      0xe1,0x0                                                                                        
511
000346   52e5     MOVF      0xe5,0x1,0x0                                                                                    
512
000348   6ee1     MOVWF     0xe1,0x0                                                                                        
513
00034a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
514
00034c   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
515
00034e   ffd9                                                                                                               
516
000350   0012     RETURN    0x0                                                                                             
24 johboh 517
                                           #endif                                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
518
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
519
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
520
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
521
                                           *	Function: uartParse                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
522
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
523
                                           *	Input:	Received uart message                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
524
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
525
                                           *	Pre-conditions: uartInit and received byte.                                    F:\MCP\projects\CAN\canNode\Source\Main.c
526
                                           *	Affects: Sensors/actuators/etc. See code.                                      F:\MCP\projects\CAN\canNode\Source\Main.c
527
                                           *	Depends: none.                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
528
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
529
                                           #ifdef USE_UART                                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 530
000352   cfd9     MOVFF     0xfd9,0xfe6    void uartParse(BYTE c)                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
531
000354   ffe6                                                                                                               
532
000356   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
533
000358   ffd9                                                                                                               
534
00035a   0e2a     MOVLW     0x2a                                                                                            
535
00035c   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
24 johboh 536
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
537
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
538
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 539
00035e   0efe     MOVLW     0xfe           	if (c=='1')                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
540
000360   50db     MOVF      0xdb,0x0,0x0                                                                                    
541
000362   0831     SUBLW     0x31                                                                                            
542
000364   e14a     BNZ       0x3fa                                                                                           
24 johboh 543
                                           	{                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
544
                                           		CAN_MESSAGE cm;                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 545
000366   0e23     MOVLW     0x23           		cm.ident=0x00000123;                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
546
000368   6ede     MOVWF     0xde,0x0                                                                                        
547
00036a   0e01     MOVLW     0x1                                                                                             
548
00036c   6ede     MOVWF     0xde,0x0                                                                                        
549
00036e   6ade     CLRF      0xde,0x0                                                                                        
550
000370   6add     CLRF      0xdd,0x0                                                                                        
551
000372   52dd     MOVF      0xdd,0x1,0x0                                                                                    
24 johboh 552
000374   52dd     MOVF      0xdd,0x1,0x0                                                                                    
31 johboh 553
000376   0e04     MOVLW     0x4            		cm.extended=FALSE;                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
554
000378   6adb     CLRF      0xdb,0x0                                                                                        
555
00037a   6ef3     MOVWF     0xf3,0x0       		cm.data_length=4;                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
556
00037c   0e05     MOVLW     0x5                                                                                             
557
00037e   cff3     MOVFF     0xff3,0xfdb                                                                                     
558
000380   ffdb                                                                                                               
559
000382   0e21     MOVLW     0x21           		cm.data[0]='!';                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
560
000384   6ef3     MOVWF     0xf3,0x0                                                                                        
561
000386   0e06     MOVLW     0x6                                                                                             
562
000388   cff3     MOVFF     0xff3,0xfdb                                                                                     
563
00038a   ffdb                                                                                                               
564
00038c   0e6a     MOVLW     0x6a           		cm.data[1]='j';                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
565
00038e   6ef3     MOVWF     0xf3,0x0                                                                                        
566
000390   0e07     MOVLW     0x7                                                                                             
567
000392   cff3     MOVFF     0xff3,0xfdb                                                                                     
568
000394   ffdb                                                                                                               
569
000396   0e65     MOVLW     0x65           		cm.data[2]='e';                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
570
000398   6ef3     MOVWF     0xf3,0x0                                                                                        
571
00039a   0e08     MOVLW     0x8                                                                                             
572
00039c   cff3     MOVFF     0xff3,0xfdb                                                                                     
573
00039e   ffdb                                                                                                               
574
0003a0   0e48     MOVLW     0x48           		cm.data[3]='H';                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
575
0003a2   6ef3     MOVWF     0xf3,0x0                                                                                        
576
0003a4   0e09     MOVLW     0x9                                                                                             
577
0003a6   cff3     MOVFF     0xff3,0xfdb                                                                                     
578
0003a8   ffdb                                                                                                               
24 johboh 579
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 580
0003aa   cfd9     MOVFF     0xfd9,0xfe9    		while(!canSendMessage(cm));                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
581
0003ac   ffe9                                                                                                               
582
0003ae   cfda     MOVFF     0xfda,0xfea                                                                                     
583
0003b0   ffea                                                                                                               
584
0003b2   cfee     MOVFF     0xfee,0xfe6                                                                                     
585
0003b4   ffe6                                                                                                               
586
0003b6   cfee     MOVFF     0xfee,0xfe6                                                                                     
587
0003b8   ffe6                                                                                                               
588
0003ba   cfee     MOVFF     0xfee,0xfe6                                                                                     
589
0003bc   ffe6                                                                                                               
590
0003be   cfee     MOVFF     0xfee,0xfe6                                                                                     
591
0003c0   ffe6                                                                                                               
592
0003c2   cfee     MOVFF     0xfee,0xfe6                                                                                     
593
0003c4   ffe6                                                                                                               
594
0003c6   cfee     MOVFF     0xfee,0xfe6                                                                                     
595
0003c8   ffe6                                                                                                               
596
0003ca   cfee     MOVFF     0xfee,0xfe6                                                                                     
597
0003cc   ffe6                                                                                                               
598
0003ce   cfee     MOVFF     0xfee,0xfe6                                                                                     
599
0003d0   ffe6                                                                                                               
600
0003d2   cfee     MOVFF     0xfee,0xfe6                                                                                     
601
0003d4   ffe6                                                                                                               
602
0003d6   cfee     MOVFF     0xfee,0xfe6                                                                                     
603
0003d8   ffe6                                                                                                               
604
0003da   cfee     MOVFF     0xfee,0xfe6                                                                                     
605
0003dc   ffe6                                                                                                               
606
0003de   cfee     MOVFF     0xfee,0xfe6                                                                                     
607
0003e0   ffe6                                                                                                               
608
0003e2   cfee     MOVFF     0xfee,0xfe6                                                                                     
609
0003e4   ffe6                                                                                                               
610
0003e6   cfee     MOVFF     0xfee,0xfe6                                                                                     
611
0003e8   ffe6                                                                                                               
612
0003ea   ec50     CALL      0x8a0,0x0                                                                                       
613
0003ec   f004                                                                                                               
614
0003ee   6e00     MOVWF     0x0,0x0                                                                                         
615
0003f0   0e0e     MOVLW     0xe                                                                                             
616
0003f2   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
617
0003f4   5000     MOVF      0x0,0x0,0x0                                                                                     
618
0003f6   0900     IORLW     0x0                                                                                             
619
0003f8   e0d8     BZ        0x3aa                                                                                           
24 johboh 620
                                           	}                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
621
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 622
0003fa   0efe     MOVLW     0xfe           	if (c=='2')                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
623
0003fc   50db     MOVF      0xdb,0x0,0x0                                                                                    
624
0003fe   0832     SUBLW     0x32                                                                                            
625
000400   e16f     BNZ       0x4e0                                                                                           
24 johboh 626
                                           	{                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
26 johboh 627
                                           		CAN_MESSAGE cm;                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 628
000402   0ef0     MOVLW     0xf0           		cm.ident=0x0ABCDEF0;                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
629
000404   6ef3     MOVWF     0xf3,0x0                                                                                        
630
000406   0e0e     MOVLW     0xe                                                                                             
631
000408   cff3     MOVFF     0xff3,0xfdb                                                                                     
632
00040a   ffdb                                                                                                               
633
00040c   0ede     MOVLW     0xde                                                                                            
634
00040e   6ef3     MOVWF     0xf3,0x0                                                                                        
635
000410   0e0f     MOVLW     0xf                                                                                             
636
000412   cff3     MOVFF     0xff3,0xfdb                                                                                     
637
000414   ffdb                                                                                                               
638
000416   0ebc     MOVLW     0xbc                                                                                            
639
000418   6ef3     MOVWF     0xf3,0x0                                                                                        
640
00041a   0e10     MOVLW     0x10                                                                                            
641
00041c   cff3     MOVFF     0xff3,0xfdb                                                                                     
642
00041e   ffdb                                                                                                               
643
000420   0e0a     MOVLW     0xa                                                                                             
644
000422   6ef3     MOVWF     0xf3,0x0                                                                                        
645
000424   0e11     MOVLW     0x11                                                                                            
646
000426   cff3     MOVFF     0xff3,0xfdb                                                                                     
647
000428   ffdb                                                                                                               
648
00042a   0e01     MOVLW     0x1            		cm.extended=TRUE;                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
649
00042c   6ef3     MOVWF     0xf3,0x0                                                                                        
650
00042e   0e12     MOVLW     0x12                                                                                            
651
000430   cff3     MOVFF     0xff3,0xfdb                                                                                     
652
000432   ffdb                                                                                                               
653
000434   0e08     MOVLW     0x8            		cm.data_length=8;                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
654
000436   6ef3     MOVWF     0xf3,0x0                                                                                        
655
000438   0e13     MOVLW     0x13                                                                                            
656
00043a   cff3     MOVFF     0xff3,0xfdb                                                                                     
657
00043c   ffdb                                                                                                               
658
00043e   0e21     MOVLW     0x21           		cm.data[0]='!';                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
659
000440   6ef3     MOVWF     0xf3,0x0                                                                                        
660
000442   0e14     MOVLW     0x14                                                                                            
661
000444   cff3     MOVFF     0xff3,0xfdb                                                                                     
662
000446   ffdb                                                                                                               
663
000448   0e67     MOVLW     0x67           		cm.data[1]='g';                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
664
00044a   6ef3     MOVWF     0xf3,0x0                                                                                        
665
00044c   0e15     MOVLW     0x15                                                                                            
666
00044e   cff3     MOVFF     0xff3,0xfdb                                                                                     
667
000450   ffdb                                                                                                               
668
000452   0e61     MOVLW     0x61           		cm.data[2]='a';                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
669
000454   6ef3     MOVWF     0xf3,0x0                                                                                        
670
000456   0e16     MOVLW     0x16                                                                                            
671
000458   cff3     MOVFF     0xff3,0xfdb                                                                                     
672
00045a   ffdb                                                                                                               
673
00045c   0e64     MOVLW     0x64           		cm.data[3]='d';                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
674
00045e   6ef3     MOVWF     0xf3,0x0                                                                                        
675
000460   0e17     MOVLW     0x17                                                                                            
676
000462   cff3     MOVFF     0xff3,0xfdb                                                                                     
677
000464   ffdb                                                                                                               
678
000466   0e20     MOVLW     0x20           		cm.data[4]=' ';                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
679
000468   6ef3     MOVWF     0xf3,0x0                                                                                        
680
00046a   0e18     MOVLW     0x18                                                                                            
681
00046c   cff3     MOVFF     0xff3,0xfdb                                                                                     
682
00046e   ffdb                                                                                                               
683
000470   0e64     MOVLW     0x64           		cm.data[5]='d';                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
684
000472   6ef3     MOVWF     0xf3,0x0                                                                                        
685
000474   0e19     MOVLW     0x19                                                                                            
686
000476   cff3     MOVFF     0xff3,0xfdb                                                                                     
687
000478   ffdb                                                                                                               
688
00047a   0e6f     MOVLW     0x6f           		cm.data[6]='o';                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
689
00047c   6ef3     MOVWF     0xf3,0x0                                                                                        
690
00047e   0e1a     MOVLW     0x1a                                                                                            
691
000480   cff3     MOVFF     0xff3,0xfdb                                                                                     
692
000482   ffdb                                                                                                               
693
000484   0e47     MOVLW     0x47           		cm.data[7]='G';                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
694
000486   6ef3     MOVWF     0xf3,0x0                                                                                        
695
000488   0e1b     MOVLW     0x1b                                                                                            
696
00048a   cff3     MOVFF     0xff3,0xfdb                                                                                     
697
00048c   ffdb                                                                                                               
24 johboh 698
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
26 johboh 699
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 700
00048e   50d9     MOVF      0xd9,0x0,0x0   		while(!canSendMessage(cm));                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
701
000490   0f0e     ADDLW     0xe                                                                                             
702
000492   6ee9     MOVWF     0xe9,0x0                                                                                        
703
000494   cfda     MOVFF     0xfda,0xfea                                                                                     
704
000496   ffea                                                                                                               
705
000498   cfee     MOVFF     0xfee,0xfe6                                                                                     
706
00049a   ffe6                                                                                                               
707
00049c   cfee     MOVFF     0xfee,0xfe6                                                                                     
708
00049e   ffe6                                                                                                               
709
0004a0   cfee     MOVFF     0xfee,0xfe6                                                                                     
710
0004a2   ffe6                                                                                                               
711
0004a4   cfee     MOVFF     0xfee,0xfe6                                                                                     
712
0004a6   ffe6                                                                                                               
713
0004a8   cfee     MOVFF     0xfee,0xfe6                                                                                     
714
0004aa   ffe6                                                                                                               
715
0004ac   cfee     MOVFF     0xfee,0xfe6                                                                                     
716
0004ae   ffe6                                                                                                               
717
0004b0   cfee     MOVFF     0xfee,0xfe6                                                                                     
718
0004b2   ffe6                                                                                                               
719
0004b4   cfee     MOVFF     0xfee,0xfe6                                                                                     
720
0004b6   ffe6                                                                                                               
721
0004b8   cfee     MOVFF     0xfee,0xfe6                                                                                     
722
0004ba   ffe6                                                                                                               
723
0004bc   cfee     MOVFF     0xfee,0xfe6                                                                                     
724
0004be   ffe6                                                                                                               
725
0004c0   cfee     MOVFF     0xfee,0xfe6                                                                                     
726
0004c2   ffe6                                                                                                               
727
0004c4   cfee     MOVFF     0xfee,0xfe6                                                                                     
728
0004c6   ffe6                                                                                                               
729
0004c8   cfee     MOVFF     0xfee,0xfe6                                                                                     
730
0004ca   ffe6                                                                                                               
731
0004cc   cfee     MOVFF     0xfee,0xfe6                                                                                     
732
0004ce   ffe6                                                                                                               
733
0004d0   ec50     CALL      0x8a0,0x0                                                                                       
734
0004d2   f004                                                                                                               
735
0004d4   6e00     MOVWF     0x0,0x0                                                                                         
736
0004d6   0e0e     MOVLW     0xe                                                                                             
737
0004d8   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
738
0004da   5000     MOVF      0x0,0x0,0x0                                                                                     
739
0004dc   0900     IORLW     0x0                                                                                             
740
0004de   e0d7     BZ        0x48e                                                                                           
24 johboh 741
                                           	}                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
742
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 743
0004e0   0efe     MOVLW     0xfe           	if (c=='3')                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
744
0004e2   50db     MOVF      0xdb,0x0,0x0                                                                                    
745
0004e4   0833     SUBLW     0x33                                                                                            
746
0004e6   e159     BNZ       0x59a                                                                                           
24 johboh 747
                                           	{                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 748
                                           		CAN_MESSAGE cm;                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
749
0004e8   0e10     MOVLW     0x10           		cm.ident=0x00000010;                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
750
0004ea   6ef3     MOVWF     0xf3,0x0                                                                                        
751
0004ec   0e1c     MOVLW     0x1c                                                                                            
752
0004ee   cff3     MOVFF     0xff3,0xfdb                                                                                     
753
0004f0   ffdb                                                                                                               
754
0004f2   0e1d     MOVLW     0x1d                                                                                            
755
0004f4   6adb     CLRF      0xdb,0x0                                                                                        
756
0004f6   0e1e     MOVLW     0x1e                                                                                            
757
0004f8   6adb     CLRF      0xdb,0x0                                                                                        
758
0004fa   0e1f     MOVLW     0x1f                                                                                            
759
0004fc   6adb     CLRF      0xdb,0x0                                                                                        
760
0004fe   0e20     MOVLW     0x20           		cm.extended=FALSE;                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
761
000500   6adb     CLRF      0xdb,0x0                                                                                        
762
000502   0e06     MOVLW     0x6            		cm.data_length=6;                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
763
000504   6ef3     MOVWF     0xf3,0x0                                                                                        
764
000506   0e21     MOVLW     0x21                                                                                            
765
000508   cff3     MOVFF     0xff3,0xfdb                                                                                     
766
00050a   ffdb                                                                                                               
767
00050c   0e30     MOVLW     0x30           		cm.data[0]='0';                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
768
00050e   6ef3     MOVWF     0xf3,0x0                                                                                        
769
000510   0e22     MOVLW     0x22                                                                                            
770
000512   cff3     MOVFF     0xff3,0xfdb                                                                                     
771
000514   ffdb                                                                                                               
772
000516   0e31     MOVLW     0x31           		cm.data[1]='1';                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
773
000518   6ef3     MOVWF     0xf3,0x0                                                                                        
774
00051a   0e23     MOVLW     0x23                                                                                            
775
00051c   cff3     MOVFF     0xff3,0xfdb                                                                                     
776
00051e   ffdb                                                                                                               
777
000520   0e32     MOVLW     0x32           		cm.data[2]='2';                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
778
000522   6ef3     MOVWF     0xf3,0x0                                                                                        
779
000524   0e24     MOVLW     0x24                                                                                            
780
000526   cff3     MOVFF     0xff3,0xfdb                                                                                     
781
000528   ffdb                                                                                                               
782
00052a   0e33     MOVLW     0x33           		cm.data[3]='3';                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
783
00052c   6ef3     MOVWF     0xf3,0x0                                                                                        
784
00052e   0e25     MOVLW     0x25                                                                                            
785
000530   cff3     MOVFF     0xff3,0xfdb                                                                                     
786
000532   ffdb                                                                                                               
787
000534   0e34     MOVLW     0x34           		cm.data[4]='4';                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
788
000536   6ef3     MOVWF     0xf3,0x0                                                                                        
789
000538   0e26     MOVLW     0x26                                                                                            
790
00053a   cff3     MOVFF     0xff3,0xfdb                                                                                     
791
00053c   ffdb                                                                                                               
792
00053e   0e35     MOVLW     0x35           		cm.data[5]='5';                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
793
000540   6ef3     MOVWF     0xf3,0x0                                                                                        
794
000542   0e27     MOVLW     0x27                                                                                            
795
000544   cff3     MOVFF     0xff3,0xfdb                                                                                     
796
000546   ffdb                                                                                                               
797
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
798
000548   50d9     MOVF      0xd9,0x0,0x0   		while(!canSendMessage(cm));                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
799
00054a   0f1c     ADDLW     0x1c                                                                                            
800
00054c   6ee9     MOVWF     0xe9,0x0                                                                                        
801
00054e   cfda     MOVFF     0xfda,0xfea                                                                                     
802
000550   ffea                                                                                                               
803
000552   cfee     MOVFF     0xfee,0xfe6                                                                                     
804
000554   ffe6                                                                                                               
805
000556   cfee     MOVFF     0xfee,0xfe6                                                                                     
806
000558   ffe6                                                                                                               
807
00055a   cfee     MOVFF     0xfee,0xfe6                                                                                     
808
00055c   ffe6                                                                                                               
809
00055e   cfee     MOVFF     0xfee,0xfe6                                                                                     
810
000560   ffe6                                                                                                               
811
000562   cfee     MOVFF     0xfee,0xfe6                                                                                     
812
000564   ffe6                                                                                                               
813
000566   cfee     MOVFF     0xfee,0xfe6                                                                                     
814
000568   ffe6                                                                                                               
815
00056a   cfee     MOVFF     0xfee,0xfe6                                                                                     
816
00056c   ffe6                                                                                                               
817
00056e   cfee     MOVFF     0xfee,0xfe6                                                                                     
818
000570   ffe6                                                                                                               
819
000572   cfee     MOVFF     0xfee,0xfe6                                                                                     
820
000574   ffe6                                                                                                               
821
000576   cfee     MOVFF     0xfee,0xfe6                                                                                     
822
000578   ffe6                                                                                                               
823
00057a   cfee     MOVFF     0xfee,0xfe6                                                                                     
824
00057c   ffe6                                                                                                               
825
00057e   cfee     MOVFF     0xfee,0xfe6                                                                                     
826
000580   ffe6                                                                                                               
827
000582   cfee     MOVFF     0xfee,0xfe6                                                                                     
828
000584   ffe6                                                                                                               
829
000586   cfee     MOVFF     0xfee,0xfe6                                                                                     
830
000588   ffe6                                                                                                               
831
00058a   ec50     CALL      0x8a0,0x0                                                                                       
832
00058c   f004                                                                                                               
833
00058e   6e00     MOVWF     0x0,0x0                                                                                         
834
000590   0e0e     MOVLW     0xe                                                                                             
835
000592   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
836
000594   5000     MOVF      0x0,0x0,0x0                                                                                     
837
000596   0900     IORLW     0x0                                                                                             
838
000598   e0d7     BZ        0x548                                                                                           
24 johboh 839
                                           	}                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
840
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 841
00059a   0efe     MOVLW     0xfe           	if (c=='d')                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
842
00059c   50db     MOVF      0xdb,0x0,0x0                                                                                    
843
00059e   0864     SUBLW     0x64                                                                                            
26 johboh 844
                                           	{                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 845
                                           		//uartPutc('D');                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
26 johboh 846
                                           	}                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
847
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 848
0005a0   0efe     MOVLW     0xfe           	if (c=='D')                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
849
0005a2   50db     MOVF      0xdb,0x0,0x0                                                                                    
850
0005a4   0844     SUBLW     0x44                                                                                            
26 johboh 851
                                           	{                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 852
                                           		//uartPutrs("Debug? Debug!");                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
26 johboh 853
                                           	}                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
854
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 855
0005a6   0efe     MOVLW     0xfe           	if (c=='T')                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
856
0005a8   50db     MOVF      0xdb,0x0,0x0                                                                                    
857
0005aa   0854     SUBLW     0x54                                                                                            
858
0005ac   e107     BNZ       0x5bc                                                                                           
859
                                           	{                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
860
0005ae   0100     MOVLB     0x0            		heartBeatEnabled=(heartBeatEnabled==TRUE?FALSE:TRUE);                          F:\MCP\projects\CAN\canNode\Source\Main.c
861
0005b0   056a     DECF      0x6a,0x0,0x1                                                                                    
862
0005b2   e102     BNZ       0x5b8                                                                                           
863
0005b4   0e00     MOVLW     0x0                                                                                             
864
0005b6   d001     BRA       0x5ba                                                                                           
865
0005b8   0e01     MOVLW     0x1                                                                                             
866
0005ba   6f6a     MOVWF     0x6a,0x1                                                                                        
867
                                           	}                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
868
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
869
0005bc   0efe     MOVLW     0xfe           	if (c=='4')                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
870
0005be   50db     MOVF      0xdb,0x0,0x0                                                                                    
871
0005c0   0834     SUBLW     0x34                                                                                            
872
                                           	{                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
873
                                           		/*                                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
874
                                           		uartPutc(RXB0CON);                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
875
                                           		uartPutc(RXB1CON);                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
876
                                           		uartPutc(123);                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
877
                                           		uartPutc(B0CON);                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
878
                                           		uartPutc(B1CON);                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
879
                                           		uartPutc(B2CON);                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
880
                                           		uartPutc(123);	                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
881
                                           		uartPutc(B3CON);	                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
882
                                           		uartPutc(B4CON);	                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
883
                                           		uartPutc(B5CON);                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
884
                                           		uartPutc(123);	                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
885
                                           		uartPutc(CANSTAT);	                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
886
                                           		uartPutc(COMSTAT);	                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
887
                                           		uartPutc(ECANCON);                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
888
                                           		uartPutc(123);	                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
889
                                           		uartPutc(TXB0CON);	                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
890
                                           		uartPutc(TXB1CON);	                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
891
                                           		uartPutc(TXB2CON);	                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
892
                                           		uartPutc(123);                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
893
                                           		uartPutc(PIR3);	                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
894
                                           		uartPutc(PIE3);                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
895
                                           		uartPutc(123);                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
896
                                           		uartPutc(BRGCON1);                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
897
                                           		uartPutc(BRGCON2);                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
898
                                           		uartPutc(BRGCON3);                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
899
                                           		uartPutc(123);                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
900
                                           		uartPutc(RXFCON0);                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
901
                                           		uartPutc(RXFCON1);                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
902
                                           		uartPutc(123);                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
903
                                           		uartPutc(RXFBCON0);                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
904
                                           		uartPutc(RXFBCON1);                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
905
                                           		uartPutc(RXFBCON2);                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
906
                                           		uartPutc(RXFBCON3);                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
907
                                           		uartPutc(RXFBCON4);                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
908
                                           		uartPutc(RXFBCON5);                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
909
                                           		uartPutc(RXFBCON6);                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
910
                                           		uartPutc(RXFBCON7);                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
911
                                           		uartPutc(123);                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
912
                                           		uartPutc(TXBIE);                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
913
                                           		uartPutc(BIE0);	                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
914
                                           		*/                                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
915
                                           	}                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
916
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
917
0005c2   0e2a     MOVLW     0x2a           }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
918
0005c4   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
919
0005c6   e202     BC        0x5cc                                                                                           
920
0005c8   6ae1     CLRF      0xe1,0x0                                                                                        
921
0005ca   52e5     MOVF      0xe5,0x1,0x0                                                                                    
922
0005cc   6ee1     MOVWF     0xe1,0x0                                                                                        
923
0005ce   52e5     MOVF      0xe5,0x1,0x0                                                                                    
924
0005d0   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
925
0005d2   ffd9                                                                                                               
926
0005d4   0012     RETURN    0x0                                                                                             
24 johboh 927
                                           #endif                                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
26 johboh 928
                                           /*********************************************************************           F:\MCP\projects\CAN\canNode\Source\CAN.c
929
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
930
                                            *                  CAN driver                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
931
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
932
                                            *********************************************************************           F:\MCP\projects\CAN\canNode\Source\CAN.c
933
                                            * FileName:        CAN.c                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
934
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
935
                                            * Author               Date    Comment                                          F:\MCP\projects\CAN\canNode\Source\CAN.c
936
                                            *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~           F:\MCP\projects\CAN\canNode\Source\CAN.c
937
                                            * Johan Böhlin     21-10-06 	Original        (Rev 1.0)                          F:\MCP\projects\CAN\canNode\Source\CAN.c
938
                                            ********************************************************************/           F:\MCP\projects\CAN\canNode\Source\CAN.c
939
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 940
                                           #include "../Include/CANdefs.h"                                                  F:\MCP\projects\CAN\canNode\Source\CAN.c
941
                                           #include "../Include/stackTasks.h"                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
942
                                           #include "../Include/CAN.h"                                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
943
                                           #include "../Include/uart.h"                                                     F:\MCP\projects\CAN\canNode\Source\CAN.c
944
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
945
                                           static void canGetPacket(void);                                                  F:\MCP\projects\CAN\canNode\Source\CAN.c
946
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
947
                                           #ifdef USE_CAN                                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
948
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
949
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
950
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
951
                                           *	Function: canInit                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
952
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
953
                                           *	Input:	none                                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
954
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
955
                                           *	Pre-conditions: none                                                           F:\MCP\projects\CAN\canNode\Source\CAN.c
956
                                           *	Affects: Changes can registers.                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
957
                                           *	Depends: none.                                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
958
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
959
                                           void canInit()                                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
960
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 961
0005d6   0e80     MOVLW     0x80           	CANCON = 0x80; //request config mode                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
962
0005d8   6e6f     MOVWF     0x6f,0x0                                                                                        
963
0005da   0ee0     MOVLW     0xe0           	while ((CANSTAT & 0xE0) != 0x80 ); //wait for config mode request               F:\MCP\projects\CAN\canNode\Source\CAN.c
964
0005dc   146e     ANDWF     0x6e,0x0,0x0                                                                                    
965
0005de   0880     SUBLW     0x80                                                                                            
966
0005e0   e1fc     BNZ       0x5da                                                                                           
24 johboh 967
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
968
                                           	// BAUD AND TQS                                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
969
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 970
0005e2   6a70     CLRF      0x70,0x0       	BRGCON1=0;                                                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 971
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
972
                                           	// Sync_Seq = 2 x TQ = 1                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 973
0005e4   9e70     BCF       0x70,0x7,0x0   	BRGCON1bits.SJW1=0;                                                             F:\MCP\projects\CAN\canNode\Source\CAN.c
974
0005e6   8c70     BSF       0x70,0x6,0x0   	BRGCON1bits.SJW0=1;                                                             F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 975
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
976
                                           	// Setting BRP.                                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 977
0005e8   0e09     MOVLW     0x9            	BRGCON1=BRGCON1|CAN_BRP;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
978
0005ea   1070     IORWF     0x70,0x0,0x0                                                                                    
979
0005ec   6e70     MOVWF     0x70,0x0                                                                                        
24 johboh 980
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
981
                                           	// Maximum PHEG1                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 982
0005ee   8e71     BSF       0x71,0x7,0x0   	BRGCON2bits.SEG2PHTS = 1;                                                       F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 983
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
984
                                           	// Phase_Seg1 = 2 x TQ = 1                                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 985
0005f0   9a71     BCF       0x71,0x5,0x0   	BRGCON2bits.SEG1PH2 = 0;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
986
0005f2   9871     BCF       0x71,0x4,0x0   	BRGCON2bits.SEG1PH1 = 0;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
987
0005f4   8671     BSF       0x71,0x3,0x0   	BRGCON2bits.SEG1PH0 = 1;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 988
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
989
                                           	// Prop_Seq = 2 x TQ = 1                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 990
0005f6   9471     BCF       0x71,0x2,0x0   	BRGCON2bits.PRSEG2 = 0;                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
991
0005f8   9271     BCF       0x71,0x1,0x0   	BRGCON2bits.PRSEG1 = 0;                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
992
0005fa   8071     BSF       0x71,0x0,0x0   	BRGCON2bits.PRSEG0 = 1;                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 993
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
994
                                           	//  Enableing bus wake-up                                                       F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 995
0005fc   9e72     BCF       0x72,0x7,0x0   	BRGCON3bits.WAKDIS = 0;                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 996
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
997
                                           	// Dont use filter when wakeup                                                  F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 998
0005fe   9c72     BCF       0x72,0x6,0x0   	BRGCON3bits.WAKFIL = 0;                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 999
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1000
                                           	// Phase_Seg2 = 2 x TQ = 1                                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1001
000600   9472     BCF       0x72,0x2,0x0   	BRGCON3bits.SEG2PH2 = 0;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
1002
000602   9272     BCF       0x72,0x1,0x0   	BRGCON3bits.SEG2PH1 = 0;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
1003
000604   8072     BSF       0x72,0x0,0x0   	BRGCON3bits.SEG2PH0 = 1;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1004
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1005
000606   6a77     CLRF      0x77,0x0       	ECANCON=0;                                                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1006
000608   9e77     BCF       0x77,0x7,0x0   	ECANCONbits.MDSEL1 = 0;                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
1007
00060a   8c77     BSF       0x77,0x6,0x0   	ECANCONbits.MDSEL0 = 1;                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1008
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1009
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1010
                                           	// FILTERS AND MASKS                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1011
00060c   8c60     BSF       0x60,0x6,0x0   	RXB0CONbits.RXM1=1;                                                             F:\MCP\projects\CAN\canNode\Source\CAN.c
1012
00060e   9a60     BCF       0x60,0x5,0x0   	RXB0CONbits.RXM0=0;                                                             F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1013
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1014
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1015
                                           	// INTERRUPTS                                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
1016
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1017
                                           	// Diable transmit interrupt                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1018
000610   010d     MOVLB     0xd            	TXBIE = 0;                                                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1019
000612   6bfc     CLRF      0xfc,0x1                                                                                        
24 johboh 1020
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1021
                                           	//rx any interrupt                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1022
000614   6aa4     CLRF      0xa4,0x0       	PIR3 = 0;                                                                       F:\MCP\projects\CAN\canNode\Source\CAN.c
1023
000616   0e03     MOVLW     0x3            	PIE3 = 0b00000011;                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
1024
000618   6ea3     MOVWF     0xa3,0x0                                                                                        
24 johboh 1025
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1026
                                           	// High interrupt                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1027
00061a   6ea5     MOVWF     0xa5,0x0       	IPR3 =0b00000011;                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1028
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1029
                                           	// Programmable buffers interrupt                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1030
00061c   69fa     SETF      0xfa,0x1       	BIE0  = 0xFF;	                                                                  F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1031
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1032
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1033
                                           	//loopback mode or not                                                          F:\MCP\projects\CAN\canNode\Source\CAN.c
1034
                                           	#ifdef CAN_LOOPBACK_MODE                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1035
00061e   0e40     MOVLW     0x40           		CANCON = 0x40;//request loopback mode                                          F:\MCP\projects\CAN\canNode\Source\CAN.c
1036
000620   6e6f     MOVWF     0x6f,0x0                                                                                        
1037
000622   0ee0     MOVLW     0xe0           		while ((CANSTAT & 0xE0) != 0x40 );//wait for loopback mode                     F:\MCP\projects\CAN\canNode\Source\CAN.c
1038
000624   146e     ANDWF     0x6e,0x0,0x0                                                                                    
1039
000626   0840     SUBLW     0x40                                                                                            
1040
000628   e1fc     BNZ       0x622                                                                                           
24 johboh 1041
                                           	#else                                                                           F:\MCP\projects\CAN\canNode\Source\CAN.c
1042
                                           		CANCON = 0x00;//request normal mode                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1043
                                           		while ((CANSTAT & 0xE0) != 0x00 );//wait for normal mode                       F:\MCP\projects\CAN\canNode\Source\CAN.c
1044
                                           	#endif                                                                          F:\MCP\projects\CAN\canNode\Source\CAN.c
1045
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1046
00062a   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1047
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1048
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1049
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
1050
                                           *	Function: canISR                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
1051
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1052
                                           *	Input:	none                                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
1053
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
1054
                                           *	Pre-conditions: a call to canInit()                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1055
                                           *	Affects: interrupt registers and receive data buffers                          F:\MCP\projects\CAN\canNode\Source\CAN.c
1056
                                           *	Depends: ..                                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
1057
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
1058
                                           void canISR()                                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
1059
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1060
00062c   50a4     MOVF      0xa4,0x0,0x0   	if (PIR3bits.RXBnIF || PIR3bits.RXB1IF || PIR3bits.RXB0IF)                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1061
00062e   0b02     ANDLW     0x2                                                                                             
1062
000630   e106     BNZ       0x63e                                                                                           
1063
000632   50a4     MOVF      0xa4,0x0,0x0                                                                                    
1064
000634   0b02     ANDLW     0x2                                                                                             
1065
000636   e103     BNZ       0x63e                                                                                           
1066
000638   50a4     MOVF      0xa4,0x0,0x0                                                                                    
1067
00063a   0b01     ANDLW     0x1                                                                                             
1068
00063c   e03a     BZ        0x6b2                                                                                           
24 johboh 1069
                                           	{                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
1070
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1071
                                           		// Get which buffer that is ful.                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1072
00063e   ae60     BTFSS     0x60,0x7,0x0   			 if (RXB0CONbits.RXFUL) { ECANCON=(ECANCON&0b00000)|0b10000; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
1073
000640   d004     BRA       0x64a                                                                                           
1074
000642   0e00     MOVLW     0x0                                                                                             
1075
000644   1477     ANDWF     0x77,0x0,0x0                                                                                    
1076
000646   0910     IORLW     0x10                                                                                            
1077
000648   d02b     BRA       0x6a0          		else if (RXB1CONbits.RXFUL) { ECANCON=(ECANCON&0b00000)|0b10001; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
1078
00064a   010f     MOVLB     0xf                                                                                             
1079
00064c   af50     BTFSS     0x50,0x7,0x1                                                                                    
1080
00064e   d004     BRA       0x658                                                                                           
1081
000650   0e00     MOVLW     0x0                                                                                             
1082
000652   1477     ANDWF     0x77,0x0,0x0                                                                                    
1083
000654   0911     IORLW     0x11                                                                                            
1084
000656   d024     BRA       0x6a0          		else if (B0CONbits.RXFUL) 	{ ECANCON=(ECANCON&0b00000)|0b10010; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
1085
000658   010e     MOVLB     0xe                                                                                             
1086
00065a   af20     BTFSS     0x20,0x7,0x1                                                                                    
1087
00065c   d004     BRA       0x666                                                                                           
1088
00065e   0e00     MOVLW     0x0                                                                                             
1089
000660   1477     ANDWF     0x77,0x0,0x0                                                                                    
1090
000662   0912     IORLW     0x12                                                                                            
1091
000664   d01d     BRA       0x6a0          		else if (B1CONbits.RXFUL) 	{ ECANCON=(ECANCON&0b00000)|0b10011; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
1092
000666   af30     BTFSS     0x30,0x7,0x1                                                                                    
1093
000668   d004     BRA       0x672                                                                                           
1094
00066a   0e00     MOVLW     0x0                                                                                             
1095
00066c   1477     ANDWF     0x77,0x0,0x0                                                                                    
1096
00066e   0913     IORLW     0x13                                                                                            
1097
000670   d017     BRA       0x6a0          		else if (B2CONbits.RXFUL) 	{ ECANCON=(ECANCON&0b00000)|0b10100; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
1098
000672   af40     BTFSS     0x40,0x7,0x1                                                                                    
1099
000674   d004     BRA       0x67e                                                                                           
1100
000676   0e00     MOVLW     0x0                                                                                             
1101
000678   1477     ANDWF     0x77,0x0,0x0                                                                                    
1102
00067a   0914     IORLW     0x14                                                                                            
1103
00067c   d011     BRA       0x6a0          		else if (B3CONbits.RXFUL) 	{ ECANCON=(ECANCON&0b00000)|0b10101; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
1104
00067e   af50     BTFSS     0x50,0x7,0x1                                                                                    
1105
000680   d004     BRA       0x68a                                                                                           
1106
000682   0e00     MOVLW     0x0                                                                                             
1107
000684   1477     ANDWF     0x77,0x0,0x0                                                                                    
1108
000686   0915     IORLW     0x15                                                                                            
1109
000688   d00b     BRA       0x6a0          		else if (B4CONbits.RXFUL) 	{ ECANCON=(ECANCON&0b00000)|0b10110; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
1110
00068a   af60     BTFSS     0x60,0x7,0x1                                                                                    
1111
00068c   d004     BRA       0x696                                                                                           
1112
00068e   0e00     MOVLW     0x0                                                                                             
1113
000690   1477     ANDWF     0x77,0x0,0x0                                                                                    
1114
000692   0916     IORLW     0x16                                                                                            
1115
000694   d005     BRA       0x6a0          		else if (B5CONbits.RXFUL) 	{ ECANCON=(ECANCON&0b00000)|0b10111; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
1116
000696   af70     BTFSS     0x70,0x7,0x1                                                                                    
1117
000698   d005     BRA       0x6a4                                                                                           
1118
00069a   0e00     MOVLW     0x0                                                                                             
1119
00069c   1477     ANDWF     0x77,0x0,0x0                                                                                    
1120
00069e   0917     IORLW     0x17                                                                                            
1121
0006a0   6e77     MOVWF     0x77,0x0                                                                                        
1122
0006a2   d808     RCALL     0x6b4                                                                                           
24 johboh 1123
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1124
0006a4   a2a4     BTFSS     0xa4,0x1,0x0   		if (PIR3bits.RXBnIF) {PIR3bits.RXBnIF = 0;}                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
1125
0006a6   d003     BRA       0x6ae                                                                                           
1126
0006a8   92a4     BCF       0xa4,0x1,0x0                                                                                    
1127
0006aa   b2a4     BTFSC     0xa4,0x1,0x0   		if (PIR3bits.RXB1IF) {PIR3bits.RXB1IF = 0;}                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
1128
0006ac   92a4     BCF       0xa4,0x1,0x0                                                                                    
1129
0006ae   b0a4     BTFSC     0xa4,0x0,0x0   		if (PIR3bits.RXB0IF) {PIR3bits.RXB0IF = 0;}                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
1130
0006b0   90a4     BCF       0xa4,0x0,0x0                                                                                    
24 johboh 1131
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1132
                                           	}                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1133
0006b2   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1134
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1135
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1136
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
1137
                                           *	Function: canGetPacket                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
1138
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1139
                                           *	Input:	none                                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
1140
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
1141
                                           *	Pre-conditions: a call to canISR and an packet is available and banked to RXB0 F:\MCP\projects\CAN\canNode\Source\CAN.c
1142
                                           *	Affects: Calls canParse() function in main for parsing received packet.        F:\MCP\projects\CAN\canNode\Source\CAN.c
1143
                                           *	Depends: none.                                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
1144
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1145
0006b4   cfd9     MOVFF     0xfd9,0xfe6    void canGetPacket()                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
1146
0006b6   ffe6                                                                                                               
1147
0006b8   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
1148
0006ba   ffd9                                                                                                               
1149
0006bc   0e0e     MOVLW     0xe                                                                                             
1150
0006be   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
24 johboh 1151
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1152
                                           		CAN_MESSAGE cm;                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1153
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1154
                                           		// Set extended mode or not.                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1155
0006c0   5062     MOVF      0x62,0x0,0x0   		cm.extended=(RXB0SIDLbits.EXID==0?FALSE:TRUE);                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
1156
0006c2   0b08     ANDLW     0x8                                                                                             
1157
0006c4   e102     BNZ       0x6ca                                                                                           
1158
0006c6   0e00     MOVLW     0x0                                                                                             
1159
0006c8   d001     BRA       0x6cc                                                                                           
1160
0006ca   0e01     MOVLW     0x1                                                                                             
1161
0006cc   6ee7     MOVWF     0xe7,0x0                                                                                        
1162
0006ce   0e04     MOVLW     0x4                                                                                             
1163
0006d0   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
1164
0006d2   ffdb                                                                                                               
24 johboh 1165
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1166
                                           		// Clear                                                                       F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1167
0006d4   6ade     CLRF      0xde,0x0       		cm.ident=0;                                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
1168
0006d6   6ade     CLRF      0xde,0x0                                                                                        
1169
0006d8   6ade     CLRF      0xde,0x0                                                                                        
1170
0006da   6add     CLRF      0xdd,0x0                                                                                        
1171
0006dc   52dd     MOVF      0xdd,0x1,0x0                                                                                    
1172
0006de   52dd     MOVF      0xdd,0x1,0x0                                                                                    
24 johboh 1173
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1174
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1175
0006e0   04db     DECF      0xdb,0x0,0x0   		if (cm.extended==TRUE)                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
1176
0006e2   e163     BNZ       0x7aa                                                                                           
24 johboh 1177
                                           		{                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
1178
                                           			//Read extended ident.                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
1179
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1180
                                           			//xx xx xx 28 27 26 25 24   23 22 21 20 19 18 17 16   15 14 13 12 11 10 09 08   07 06 05 04 03 02 01 00 F:\MCP\projects\CAN\canNode\Source\CAN.c
1181
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1182
                                                   	//RXB0SIDH 28 27 26 25 24 23 22 21                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1183
                                                   	//RXB0SIDL 20 19 18 xx xx xx 17 16                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1184
                                                   	//RXB0EIDH 15 14 13 12 11 10 09 08                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1185
                                                   	//RXB0EIDL 07 06 05 04 03 02 01 00                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1186
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1187
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1188
0006e4   5061     MOVF      0x61,0x0,0x0           	cm.ident = (((DWORD)RXB0SIDH)<<21) + (((DWORD)(RXB0SIDL & 0xE0))<<13) + (((DWORD)(RXB0SIDL & 0x03))<<16) + (((DWORD)RXB0EIDH)<<8) + (BYTE)RXB0EIDL; F:\MCP\projects\CAN\canNode\Source\CAN.c
1189
0006e6   6e00     MOVWF     0x0,0x0                                                                                         
1190
0006e8   6a01     CLRF      0x1,0x0                                                                                         
1191
0006ea   6a02     CLRF      0x2,0x0                                                                                         
1192
0006ec   6a03     CLRF      0x3,0x0                                                                                         
1193
0006ee   0e15     MOVLW     0x15                                                                                            
1194
0006f0   0b1f     ANDLW     0x1f                                                                                            
1195
0006f2   e007     BZ        0x702                                                                                           
1196
0006f4   90d8     BCF       0xd8,0x0,0x0                                                                                    
1197
0006f6   3600     RLCF      0x0,0x1,0x0                                                                                     
1198
0006f8   3601     RLCF      0x1,0x1,0x0                                                                                     
1199
0006fa   3602     RLCF      0x2,0x1,0x0                                                                                     
1200
0006fc   3603     RLCF      0x3,0x1,0x0                                                                                     
1201
0006fe   06e8     DECF      0xe8,0x1,0x0                                                                                    
1202
000700   e1f9     BNZ       0x6f4                                                                                           
1203
000702   0ee0     MOVLW     0xe0                                                                                            
1204
000704   1462     ANDWF     0x62,0x0,0x0                                                                                    
1205
000706   6e04     MOVWF     0x4,0x0                                                                                         
1206
000708   6a05     CLRF      0x5,0x0                                                                                         
1207
00070a   6a06     CLRF      0x6,0x0                                                                                         
1208
00070c   6a07     CLRF      0x7,0x0                                                                                         
1209
00070e   0e0d     MOVLW     0xd                                                                                             
1210
000710   0b1f     ANDLW     0x1f                                                                                            
1211
000712   e007     BZ        0x722                                                                                           
1212
000714   90d8     BCF       0xd8,0x0,0x0                                                                                    
1213
000716   3604     RLCF      0x4,0x1,0x0                                                                                     
1214
000718   3605     RLCF      0x5,0x1,0x0                                                                                     
1215
00071a   3606     RLCF      0x6,0x1,0x0                                                                                     
1216
00071c   3607     RLCF      0x7,0x1,0x0                                                                                     
1217
00071e   06e8     DECF      0xe8,0x1,0x0                                                                                    
1218
000720   e1f9     BNZ       0x714                                                                                           
1219
000722   5004     MOVF      0x4,0x0,0x0                                                                                     
1220
000724   2600     ADDWF     0x0,0x1,0x0                                                                                     
1221
000726   5005     MOVF      0x5,0x0,0x0                                                                                     
1222
000728   2201     ADDWFC    0x1,0x1,0x0                                                                                     
1223
00072a   5006     MOVF      0x6,0x0,0x0                                                                                     
1224
00072c   2202     ADDWFC    0x2,0x1,0x0                                                                                     
1225
00072e   5007     MOVF      0x7,0x0,0x0                                                                                     
1226
000730   2203     ADDWFC    0x3,0x1,0x0                                                                                     
1227
000732   0e03     MOVLW     0x3                                                                                             
1228
000734   1462     ANDWF     0x62,0x0,0x0                                                                                    
1229
000736   6e08     MOVWF     0x8,0x0                                                                                         
1230
000738   6a09     CLRF      0x9,0x0                                                                                         
1231
00073a   6a0a     CLRF      0xa,0x0                                                                                         
1232
00073c   6a0b     CLRF      0xb,0x0                                                                                         
1233
00073e   0e10     MOVLW     0x10                                                                                            
1234
000740   0b1f     ANDLW     0x1f                                                                                            
1235
000742   e007     BZ        0x752                                                                                           
1236
000744   90d8     BCF       0xd8,0x0,0x0                                                                                    
1237
000746   3608     RLCF      0x8,0x1,0x0                                                                                     
1238
000748   3609     RLCF      0x9,0x1,0x0                                                                                     
1239
00074a   360a     RLCF      0xa,0x1,0x0                                                                                     
1240
00074c   360b     RLCF      0xb,0x1,0x0                                                                                     
1241
00074e   06e8     DECF      0xe8,0x1,0x0                                                                                    
1242
000750   e1f9     BNZ       0x744                                                                                           
1243
000752   5008     MOVF      0x8,0x0,0x0                                                                                     
1244
000754   2600     ADDWF     0x0,0x1,0x0                                                                                     
1245
000756   5009     MOVF      0x9,0x0,0x0                                                                                     
1246
000758   2201     ADDWFC    0x1,0x1,0x0                                                                                     
1247
00075a   500a     MOVF      0xa,0x0,0x0                                                                                     
1248
00075c   2202     ADDWFC    0x2,0x1,0x0                                                                                     
1249
00075e   500b     MOVF      0xb,0x0,0x0                                                                                     
1250
000760   2203     ADDWFC    0x3,0x1,0x0                                                                                     
1251
000762   5063     MOVF      0x63,0x0,0x0                                                                                    
1252
000764   6e0c     MOVWF     0xc,0x0                                                                                         
1253
000766   6a0d     CLRF      0xd,0x0                                                                                         
1254
000768   6a0e     CLRF      0xe,0x0                                                                                         
1255
00076a   6a0f     CLRF      0xf,0x0                                                                                         
1256
00076c   0e08     MOVLW     0x8                                                                                             
1257
00076e   0b1f     ANDLW     0x1f                                                                                            
1258
000770   e007     BZ        0x780                                                                                           
1259
000772   90d8     BCF       0xd8,0x0,0x0                                                                                    
1260
000774   360c     RLCF      0xc,0x1,0x0                                                                                     
1261
000776   360d     RLCF      0xd,0x1,0x0                                                                                     
1262
000778   360e     RLCF      0xe,0x1,0x0                                                                                     
1263
00077a   360f     RLCF      0xf,0x1,0x0                                                                                     
1264
00077c   06e8     DECF      0xe8,0x1,0x0                                                                                    
1265
00077e   e1f9     BNZ       0x772                                                                                           
1266
000780   500c     MOVF      0xc,0x0,0x0                                                                                     
1267
000782   2600     ADDWF     0x0,0x1,0x0                                                                                     
1268
000784   500d     MOVF      0xd,0x0,0x0                                                                                     
1269
000786   2201     ADDWFC    0x1,0x1,0x0                                                                                     
1270
000788   500e     MOVF      0xe,0x0,0x0                                                                                     
1271
00078a   2202     ADDWFC    0x2,0x1,0x0                                                                                     
1272
00078c   500f     MOVF      0xf,0x0,0x0                                                                                     
1273
00078e   2203     ADDWFC    0x3,0x1,0x0                                                                                     
1274
000790   5064     MOVF      0x64,0x0,0x0                                                                                    
1275
000792   6e10     MOVWF     0x10,0x0                                                                                        
1276
000794   6a11     CLRF      0x11,0x0                                                                                        
1277
000796   6a12     CLRF      0x12,0x0                                                                                        
1278
000798   6a13     CLRF      0x13,0x0                                                                                        
1279
00079a   50e8     MOVF      0xe8,0x0,0x0                                                                                    
1280
00079c   2600     ADDWF     0x0,0x1,0x0                                                                                     
1281
00079e   5011     MOVF      0x11,0x0,0x0                                                                                    
1282
0007a0   2201     ADDWFC    0x1,0x1,0x0                                                                                     
1283
0007a2   5012     MOVF      0x12,0x0,0x0                                                                                    
1284
0007a4   2202     ADDWFC    0x2,0x1,0x0                                                                                     
1285
0007a6   5013     MOVF      0x13,0x0,0x0                                                                                    
24 johboh 1286
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1287
                                           		}                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1288
0007a8   d023     BRA       0x7f0          		else                                                                           F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1289
                                           		{                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
1290
                                           			//Read standard ident.                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
1291
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1292
                                           			//xx xx xx xx xx 10 09 08   07 06 05 04 03 02 01 00                           F:\MCP\projects\CAN\canNode\Source\CAN.c
1293
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1294
                                                   	//RXB0SIDH 10 09 08 07 06 05 04 03                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1295
                                                   	//RXB0SIDL 02 01 00 xx xx xx xx xx                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1296
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1297
0007aa   5061     MOVF      0x61,0x0,0x0   			cm.ident = (((DWORD)RXB0SIDH)<<3) + (((DWORD)RXB0SIDL)>>5);                   F:\MCP\projects\CAN\canNode\Source\CAN.c
1298
0007ac   6e00     MOVWF     0x0,0x0                                                                                         
1299
0007ae   6a01     CLRF      0x1,0x0                                                                                         
1300
0007b0   6a02     CLRF      0x2,0x0                                                                                         
1301
0007b2   6a03     CLRF      0x3,0x0                                                                                         
1302
0007b4   0e03     MOVLW     0x3                                                                                             
1303
0007b6   0b1f     ANDLW     0x1f                                                                                            
1304
0007b8   e007     BZ        0x7c8                                                                                           
1305
0007ba   90d8     BCF       0xd8,0x0,0x0                                                                                    
1306
0007bc   3600     RLCF      0x0,0x1,0x0                                                                                     
1307
0007be   3601     RLCF      0x1,0x1,0x0                                                                                     
1308
0007c0   3602     RLCF      0x2,0x1,0x0                                                                                     
1309
0007c2   3603     RLCF      0x3,0x1,0x0                                                                                     
1310
0007c4   06e8     DECF      0xe8,0x1,0x0                                                                                    
1311
0007c6   e1f9     BNZ       0x7ba                                                                                           
1312
0007c8   5062     MOVF      0x62,0x0,0x0                                                                                    
1313
0007ca   6e04     MOVWF     0x4,0x0                                                                                         
1314
0007cc   6a05     CLRF      0x5,0x0                                                                                         
1315
0007ce   6a06     CLRF      0x6,0x0                                                                                         
1316
0007d0   6a07     CLRF      0x7,0x0                                                                                         
1317
0007d2   0e05     MOVLW     0x5                                                                                             
1318
0007d4   90d8     BCF       0xd8,0x0,0x0                                                                                    
1319
0007d6   3207     RRCF      0x7,0x1,0x0                                                                                     
1320
0007d8   3206     RRCF      0x6,0x1,0x0                                                                                     
1321
0007da   3205     RRCF      0x5,0x1,0x0                                                                                     
1322
0007dc   3204     RRCF      0x4,0x1,0x0                                                                                     
1323
0007de   06e8     DECF      0xe8,0x1,0x0                                                                                    
1324
0007e0   e1f9     BNZ       0x7d4                                                                                           
1325
0007e2   5004     MOVF      0x4,0x0,0x0                                                                                     
1326
0007e4   2600     ADDWF     0x0,0x1,0x0                                                                                     
1327
0007e6   5005     MOVF      0x5,0x0,0x0                                                                                     
1328
0007e8   2201     ADDWFC    0x1,0x1,0x0                                                                                     
1329
0007ea   5006     MOVF      0x6,0x0,0x0                                                                                     
1330
0007ec   2202     ADDWFC    0x2,0x1,0x0                                                                                     
1331
0007ee   5007     MOVF      0x7,0x0,0x0                                                                                     
1332
0007f0   2203     ADDWFC    0x3,0x1,0x0                                                                                     
1333
0007f2   c000     MOVFF     0x0,0xfdf                                                                                       
1334
0007f4   ffdf                                                                                                               
1335
0007f6   0e01     MOVLW     0x1                                                                                             
1336
0007f8   c001     MOVFF     0x1,0xfdb                                                                                       
1337
0007fa   ffdb                                                                                                               
1338
0007fc   0e02     MOVLW     0x2                                                                                             
1339
0007fe   c002     MOVFF     0x2,0xfdb                                                                                       
1340
000800   ffdb                                                                                                               
1341
000802   0e03     MOVLW     0x3                                                                                             
1342
000804   c003     MOVFF     0x3,0xfdb                                                                                       
1343
000806   ffdb                                                                                                               
24 johboh 1344
                                           		}                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
1345
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1346
                                           		// Data length                                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1347
000808   0e05     MOVLW     0x5            		cm.data_length=RXB0DLC;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
1348
00080a   cf65     MOVFF     0xf65,0xfdb                                                                                     
1349
00080c   ffdb                                                                                                               
24 johboh 1350
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1351
                                           		// Data one bye one, for speed                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1352
00080e   0e06     MOVLW     0x6            		cm.data[0]=RXB0D0;	cm.data[1]=RXB0D1;                                          F:\MCP\projects\CAN\canNode\Source\CAN.c
1353
000810   cf66     MOVFF     0xf66,0xfdb                                                                                     
1354
000812   ffdb                                                                                                               
1355
000814   0e07     MOVLW     0x7                                                                                             
1356
000816   cf67     MOVFF     0xf67,0xfdb                                                                                     
1357
000818   ffdb                                                                                                               
1358
00081a   0e08     MOVLW     0x8            		cm.data[2]=RXB0D2; 	cm.data[3]=RXB0D3;                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
1359
00081c   cf68     MOVFF     0xf68,0xfdb                                                                                     
1360
00081e   ffdb                                                                                                               
1361
000820   0e09     MOVLW     0x9                                                                                             
1362
000822   cf69     MOVFF     0xf69,0xfdb                                                                                     
1363
000824   ffdb                                                                                                               
1364
000826   0e0a     MOVLW     0xa            		cm.data[4]=RXB0D4; 	cm.data[5]=RXB0D5;                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
1365
000828   cf6a     MOVFF     0xf6a,0xfdb                                                                                     
1366
00082a   ffdb                                                                                                               
1367
00082c   0e0b     MOVLW     0xb                                                                                             
1368
00082e   cf6b     MOVFF     0xf6b,0xfdb                                                                                     
1369
000830   ffdb                                                                                                               
1370
000832   0e0c     MOVLW     0xc            		cm.data[6]=RXB0D6; 	cm.data[7]=RXB0D7;                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
1371
000834   cf6c     MOVFF     0xf6c,0xfdb                                                                                     
1372
000836   ffdb                                                                                                               
1373
000838   0e0d     MOVLW     0xd                                                                                             
1374
00083a   cf6d     MOVFF     0xf6d,0xfdb                                                                                     
1375
00083c   ffdb                                                                                                               
24 johboh 1376
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1377
                                           		// Clear ful status                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1378
00083e   9e60     BCF       0x60,0x7,0x0   		RXB0CONbits.RXFUL=0;                                                           F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1379
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1380
                                           		//Call main parser                                                             F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1381
000840   cfd9     MOVFF     0xfd9,0xfe9    		canParse(cm);                                                                  F:\MCP\projects\CAN\canNode\Source\CAN.c
1382
000842   ffe9                                                                                                               
1383
000844   cfda     MOVFF     0xfda,0xfea                                                                                     
1384
000846   ffea                                                                                                               
1385
000848   cfee     MOVFF     0xfee,0xfe6                                                                                     
1386
00084a   ffe6                                                                                                               
1387
00084c   cfee     MOVFF     0xfee,0xfe6                                                                                     
1388
00084e   ffe6                                                                                                               
1389
000850   cfee     MOVFF     0xfee,0xfe6                                                                                     
1390
000852   ffe6                                                                                                               
1391
000854   cfee     MOVFF     0xfee,0xfe6                                                                                     
1392
000856   ffe6                                                                                                               
1393
000858   cfee     MOVFF     0xfee,0xfe6                                                                                     
1394
00085a   ffe6                                                                                                               
1395
00085c   cfee     MOVFF     0xfee,0xfe6                                                                                     
1396
00085e   ffe6                                                                                                               
1397
000860   cfee     MOVFF     0xfee,0xfe6                                                                                     
1398
000862   ffe6                                                                                                               
1399
000864   cfee     MOVFF     0xfee,0xfe6                                                                                     
1400
000866   ffe6                                                                                                               
1401
000868   cfee     MOVFF     0xfee,0xfe6                                                                                     
1402
00086a   ffe6                                                                                                               
1403
00086c   cfee     MOVFF     0xfee,0xfe6                                                                                     
1404
00086e   ffe6                                                                                                               
1405
000870   cfee     MOVFF     0xfee,0xfe6                                                                                     
1406
000872   ffe6                                                                                                               
1407
000874   cfee     MOVFF     0xfee,0xfe6                                                                                     
1408
000876   ffe6                                                                                                               
1409
000878   cfee     MOVFF     0xfee,0xfe6                                                                                     
1410
00087a   ffe6                                                                                                               
1411
00087c   cfee     MOVFF     0xfee,0xfe6                                                                                     
1412
00087e   ffe6                                                                                                               
1413
000880   ecff     CALL      0x1fe,0x0                                                                                       
1414
000882   f000                                                                                                               
1415
000884   6e00     MOVWF     0x0,0x0                                                                                         
1416
000886   0e0e     MOVLW     0xe                                                                                             
1417
000888   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
1418
00088a   5000     MOVF      0x0,0x0,0x0                                                                                     
1419
00088c   0e0e     MOVLW     0xe            }                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1420
00088e   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
1421
000890   e202     BC        0x896                                                                                           
1422
000892   6ae1     CLRF      0xe1,0x0                                                                                        
1423
000894   52e5     MOVF      0xe5,0x1,0x0                                                                                    
1424
000896   6ee1     MOVWF     0xe1,0x0                                                                                        
1425
000898   52e5     MOVF      0xe5,0x1,0x0                                                                                    
1426
00089a   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
1427
00089c   ffd9                                                                                                               
1428
00089e   0012     RETURN    0x0                                                                                             
24 johboh 1429
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1430
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1431
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
1432
                                           *	Function: canSendMessage                                                       F:\MCP\projects\CAN\canNode\Source\CAN.c
1433
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1434
                                           *	Input:	CAN_MESSAGE to send                                                     F:\MCP\projects\CAN\canNode\Source\CAN.c
1435
                                           *	Output: True if packet scheduled sucess, false otherwise.                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1436
                                           *	Pre-conditions: canInit                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
1437
                                           *	Affects: ..                                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
1438
                                           *	Depends: ..                                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
1439
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1440
0008a0   cfd9     MOVFF     0xfd9,0xfe6    BOOL canSendMessage(CAN_MESSAGE cm)                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
1441
0008a2   ffe6                                                                                                               
1442
0008a4   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
1443
0008a6   ffd9                                                                                                               
24 johboh 1444
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1445
0008a8   010f     MOVLB     0xf            	if ( TXB0CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00011; }           F:\MCP\projects\CAN\canNode\Source\CAN.c
1446
0008aa   b740     BTFSC     0x40,0x3,0x1                                                                                    
1447
0008ac   d004     BRA       0x8b6                                                                                           
1448
0008ae   0e00     MOVLW     0x0                                                                                             
1449
0008b0   1477     ANDWF     0x77,0x0,0x0                                                                                    
1450
0008b2   0903     IORLW     0x3                                                                                             
1451
0008b4   6e77     MOVWF     0x77,0x0                                                                                        
1452
0008b6   010f     MOVLB     0xf            	if ( TXB1CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00100; }           F:\MCP\projects\CAN\canNode\Source\CAN.c
1453
0008b8   b730     BTFSC     0x30,0x3,0x1                                                                                    
1454
0008ba   d004     BRA       0x8c4                                                                                           
1455
0008bc   0e00     MOVLW     0x0                                                                                             
1456
0008be   1477     ANDWF     0x77,0x0,0x0                                                                                    
1457
0008c0   0904     IORLW     0x4                                                                                             
1458
0008c2   6e77     MOVWF     0x77,0x0                                                                                        
1459
0008c4   010f     MOVLB     0xf            	if ( TXB2CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00101; }           F:\MCP\projects\CAN\canNode\Source\CAN.c
1460
0008c6   b720     BTFSC     0x20,0x3,0x1                                                                                    
1461
0008c8   d005     BRA       0x8d4                                                                                           
1462
0008ca   0e00     MOVLW     0x0                                                                                             
1463
0008cc   1477     ANDWF     0x77,0x0,0x0                                                                                    
1464
0008ce   0905     IORLW     0x5                                                                                             
1465
0008d0   6e77     MOVWF     0x77,0x0                                                                                        
24 johboh 1466
                                           	// None of the transmit buffers were empty.                                     F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1467
0008d2   d002     BRA       0x8d8          	else { return FALSE;}                                                           F:\MCP\projects\CAN\canNode\Source\CAN.c
1468
0008d4   0e00     MOVLW     0x0                                                                                             
1469
0008d6   d0c0     BRA       0xa58                                                                                           
24 johboh 1470
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1471
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1472
0008d8   0ef5     MOVLW     0xf5           		if (cm.extended==TRUE)                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
1473
0008da   04db     DECF      0xdb,0x0,0x0                                                                                    
1474
0008dc   e15f     BNZ       0x99c                                                                                           
24 johboh 1475
                                           		{                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
1476
                                           			//Write extended ident.                                                       F:\MCP\projects\CAN\canNode\Source\CAN.c
1477
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1478
                                           			//xx xx xx 28 27 26 25 24   23 22 21 20 19 18 17 16   15 14 13 12 11 10 09 08   07 06 05 04 03 02 01 00 F:\MCP\projects\CAN\canNode\Source\CAN.c
1479
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1480
                                                   	//RXB0SIDH 28 27 26 25 24 23 22 21                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1481
                                                   	//RXB0SIDL 20 19 18 xx xx xx 17 16                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1482
                                                   	//RXB0EIDH 15 14 13 12 11 10 09 08                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1483
                                                   	//RXB0EIDL 07 06 05 04 03 02 01 00                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1484
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1485
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1486
0008de   0ef1     MOVLW     0xf1                   	RXB0SIDH =  (BYTE)((cm.ident>>21));                                     F:\MCP\projects\CAN\canNode\Source\CAN.c
1487
0008e0   cfdb     MOVFF     0xfdb,0x0                                                                                       
1488
0008e2   f000                                                                                                               
1489
0008e4   0ef2     MOVLW     0xf2                                                                                            
1490
0008e6   cfdb     MOVFF     0xfdb,0x1                                                                                       
1491
0008e8   f001                                                                                                               
1492
0008ea   0ef3     MOVLW     0xf3                                                                                            
1493
0008ec   cfdb     MOVFF     0xfdb,0x2                                                                                       
1494
0008ee   f002                                                                                                               
1495
0008f0   0ef4     MOVLW     0xf4                                                                                            
1496
0008f2   cfdb     MOVFF     0xfdb,0x3                                                                                       
1497
0008f4   f003                                                                                                               
1498
0008f6   0e15     MOVLW     0x15                                                                                            
1499
0008f8   90d8     BCF       0xd8,0x0,0x0                                                                                    
1500
0008fa   3203     RRCF      0x3,0x1,0x0                                                                                     
1501
0008fc   3202     RRCF      0x2,0x1,0x0                                                                                     
1502
0008fe   3201     RRCF      0x1,0x1,0x0                                                                                     
1503
000900   3200     RRCF      0x0,0x1,0x0                                                                                     
1504
000902   06e8     DECF      0xe8,0x1,0x0                                                                                    
1505
000904   e1f9     BNZ       0x8f8                                                                                           
1506
000906   5000     MOVF      0x0,0x0,0x0                                                                                     
1507
000908   6e61     MOVWF     0x61,0x0                                                                                        
1508
00090a   0ef1     MOVLW     0xf1                   	RXB0SIDL = ((BYTE)(cm.ident>>16) & 0x03) + ((BYTE)(cm.ident>>13) & 0xE0); F:\MCP\projects\CAN\canNode\Source\CAN.c
1509
00090c   cfdb     MOVFF     0xfdb,0x5                                                                                       
1510
00090e   f005                                                                                                               
1511
000910   0ef2     MOVLW     0xf2                                                                                            
1512
000912   cfdb     MOVFF     0xfdb,0x6                                                                                       
1513
000914   f006                                                                                                               
1514
000916   0ef3     MOVLW     0xf3                                                                                            
1515
000918   cfdb     MOVFF     0xfdb,0x7                                                                                       
1516
00091a   f007                                                                                                               
1517
00091c   0ef4     MOVLW     0xf4                                                                                            
1518
00091e   cfdb     MOVFF     0xfdb,0x8                                                                                       
1519
000920   f008                                                                                                               
1520
000922   0e0d     MOVLW     0xd                                                                                             
1521
000924   90d8     BCF       0xd8,0x0,0x0                                                                                    
1522
000926   3208     RRCF      0x8,0x1,0x0                                                                                     
1523
000928   3207     RRCF      0x7,0x1,0x0                                                                                     
1524
00092a   3206     RRCF      0x6,0x1,0x0                                                                                     
1525
00092c   3205     RRCF      0x5,0x1,0x0                                                                                     
1526
00092e   06e8     DECF      0xe8,0x1,0x0                                                                                    
1527
000930   e1f9     BNZ       0x924                                                                                           
1528
000932   0ee0     MOVLW     0xe0                                                                                            
1529
000934   1405     ANDWF     0x5,0x0,0x0                                                                                     
1530
000936   6e04     MOVWF     0x4,0x0                                                                                         
1531
000938   0ef1     MOVLW     0xf1                                                                                            
1532
00093a   cfdb     MOVFF     0xfdb,0x0                                                                                       
1533
00093c   f000                                                                                                               
1534
00093e   0ef2     MOVLW     0xf2                                                                                            
1535
000940   cfdb     MOVFF     0xfdb,0x1                                                                                       
1536
000942   f001                                                                                                               
1537
000944   0ef3     MOVLW     0xf3                                                                                            
1538
000946   cfdb     MOVFF     0xfdb,0x2                                                                                       
1539
000948   f002                                                                                                               
1540
00094a   0ef4     MOVLW     0xf4                                                                                            
1541
00094c   cfdb     MOVFF     0xfdb,0x3                                                                                       
1542
00094e   f003                                                                                                               
1543
000950   0e10     MOVLW     0x10                                                                                            
1544
000952   90d8     BCF       0xd8,0x0,0x0                                                                                    
1545
000954   3203     RRCF      0x3,0x1,0x0                                                                                     
1546
000956   3202     RRCF      0x2,0x1,0x0                                                                                     
1547
000958   3201     RRCF      0x1,0x1,0x0                                                                                     
1548
00095a   3200     RRCF      0x0,0x1,0x0                                                                                     
1549
00095c   06e8     DECF      0xe8,0x1,0x0                                                                                    
1550
00095e   e1f9     BNZ       0x952                                                                                           
1551
000960   0e03     MOVLW     0x3                                                                                             
1552
000962   1400     ANDWF     0x0,0x0,0x0                                                                                     
1553
000964   2404     ADDWF     0x4,0x0,0x0                                                                                     
1554
000966   6e62     MOVWF     0x62,0x0                                                                                        
1555
000968   0ef1     MOVLW     0xf1                   	RXB0EIDH =  (BYTE)(cm.ident>>8);                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
1556
00096a   cfdb     MOVFF     0xfdb,0x0                                                                                       
1557
00096c   f000                                                                                                               
1558
00096e   0ef2     MOVLW     0xf2                                                                                            
1559
000970   cfdb     MOVFF     0xfdb,0x1                                                                                       
1560
000972   f001                                                                                                               
1561
000974   0ef3     MOVLW     0xf3                                                                                            
1562
000976   cfdb     MOVFF     0xfdb,0x2                                                                                       
1563
000978   f002                                                                                                               
1564
00097a   0ef4     MOVLW     0xf4                                                                                            
1565
00097c   cfdb     MOVFF     0xfdb,0x3                                                                                       
1566
00097e   f003                                                                                                               
1567
000980   0e08     MOVLW     0x8                                                                                             
1568
000982   90d8     BCF       0xd8,0x0,0x0                                                                                    
1569
000984   3203     RRCF      0x3,0x1,0x0                                                                                     
1570
000986   3202     RRCF      0x2,0x1,0x0                                                                                     
1571
000988   3201     RRCF      0x1,0x1,0x0                                                                                     
1572
00098a   3200     RRCF      0x0,0x1,0x0                                                                                     
1573
00098c   06e8     DECF      0xe8,0x1,0x0                                                                                    
1574
00098e   e1f9     BNZ       0x982                                                                                           
1575
000990   5000     MOVF      0x0,0x0,0x0                                                                                     
1576
000992   6e63     MOVWF     0x63,0x0                                                                                        
1577
000994   0ef1     MOVLW     0xf1                   	RXB0EIDL =  (BYTE)cm.ident;                                             F:\MCP\projects\CAN\canNode\Source\CAN.c
1578
000996   50db     MOVF      0xdb,0x0,0x0                                                                                    
1579
000998   6e64     MOVWF     0x64,0x0                                                                                        
24 johboh 1580
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1581
                                           		}                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1582
00099a   d02f     BRA       0x9fa          		else                                                                           F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1583
                                           		{                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
1584
                                           			//Write standard ident.                                                       F:\MCP\projects\CAN\canNode\Source\CAN.c
1585
                                           		                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
1586
                                           			//xx xx xx xx xx 10 09 08   07 06 05 04 03 02 01 00                           F:\MCP\projects\CAN\canNode\Source\CAN.c
1587
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1588
                                                   	//RXB0SIDH 10 09 08 07 06 05 04 03                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1589
                                                   	//RXB0SIDL 02 01 00 xx xx xx xx xx                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1590
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1591
00099c   0ef1     MOVLW     0xf1                  		RXB0SIDH=  (BYTE)(cm.ident>>3);                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
1592
00099e   cfdb     MOVFF     0xfdb,0x0                                                                                       
1593
0009a0   f000                                                                                                               
1594
0009a2   0ef2     MOVLW     0xf2                                                                                            
1595
0009a4   cfdb     MOVFF     0xfdb,0x1                                                                                       
1596
0009a6   f001                                                                                                               
1597
0009a8   0ef3     MOVLW     0xf3                                                                                            
1598
0009aa   cfdb     MOVFF     0xfdb,0x2                                                                                       
1599
0009ac   f002                                                                                                               
1600
0009ae   0ef4     MOVLW     0xf4                                                                                            
1601
0009b0   cfdb     MOVFF     0xfdb,0x3                                                                                       
1602
0009b2   f003                                                                                                               
1603
0009b4   0e03     MOVLW     0x3                                                                                             
1604
0009b6   90d8     BCF       0xd8,0x0,0x0                                                                                    
1605
0009b8   3203     RRCF      0x3,0x1,0x0                                                                                     
1606
0009ba   3202     RRCF      0x2,0x1,0x0                                                                                     
1607
0009bc   3201     RRCF      0x1,0x1,0x0                                                                                     
1608
0009be   3200     RRCF      0x0,0x1,0x0                                                                                     
1609
0009c0   06e8     DECF      0xe8,0x1,0x0                                                                                    
1610
0009c2   e1f9     BNZ       0x9b6                                                                                           
1611
0009c4   5000     MOVF      0x0,0x0,0x0                                                                                     
1612
0009c6   6e61     MOVWF     0x61,0x0                                                                                        
1613
0009c8   0ef1     MOVLW     0xf1                   	RXB0SIDL= ((BYTE)(cm.ident<<5) & 0xE0);                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
1614
0009ca   cfdb     MOVFF     0xfdb,0x0                                                                                       
1615
0009cc   f000                                                                                                               
1616
0009ce   0ef2     MOVLW     0xf2                                                                                            
1617
0009d0   cfdb     MOVFF     0xfdb,0x1                                                                                       
1618
0009d2   f001                                                                                                               
1619
0009d4   0ef3     MOVLW     0xf3                                                                                            
1620
0009d6   cfdb     MOVFF     0xfdb,0x2                                                                                       
1621
0009d8   f002                                                                                                               
1622
0009da   0ef4     MOVLW     0xf4                                                                                            
1623
0009dc   cfdb     MOVFF     0xfdb,0x3                                                                                       
1624
0009de   f003                                                                                                               
1625
0009e0   0e05     MOVLW     0x5                                                                                             
1626
0009e2   0b1f     ANDLW     0x1f                                                                                            
1627
0009e4   e007     BZ        0x9f4                                                                                           
1628
0009e6   90d8     BCF       0xd8,0x0,0x0                                                                                    
1629
0009e8   3600     RLCF      0x0,0x1,0x0                                                                                     
1630
0009ea   3601     RLCF      0x1,0x1,0x0                                                                                     
1631
0009ec   3602     RLCF      0x2,0x1,0x0                                                                                     
1632
0009ee   3603     RLCF      0x3,0x1,0x0                                                                                     
1633
0009f0   06e8     DECF      0xe8,0x1,0x0                                                                                    
1634
0009f2   e1f9     BNZ       0x9e6                                                                                           
1635
0009f4   0ee0     MOVLW     0xe0                                                                                            
1636
0009f6   1400     ANDWF     0x0,0x0,0x0                                                                                     
1637
0009f8   6e62     MOVWF     0x62,0x0                                                                                        
24 johboh 1638
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1639
                                           		}                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
1640
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1641
                                           		// Data length                                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1642
0009fa   0ef6     MOVLW     0xf6           		if (cm.data_length>8) RXB0DLC=8; else RXB0DLC=cm.data_length;                  F:\MCP\projects\CAN\canNode\Source\CAN.c
1643
0009fc   50db     MOVF      0xdb,0x0,0x0                                                                                    
1644
0009fe   0808     SUBLW     0x8                                                                                             
1645
000a00   e203     BC        0xa08                                                                                           
1646
000a02   0e08     MOVLW     0x8                                                                                             
1647
000a04   6e65     MOVWF     0x65,0x0                                                                                        
1648
000a06   d003     BRA       0xa0e                                                                                           
1649
000a08   0ef6     MOVLW     0xf6                                                                                            
1650
000a0a   50db     MOVF      0xdb,0x0,0x0                                                                                    
1651
000a0c   6e65     MOVWF     0x65,0x0                                                                                        
24 johboh 1652
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1653
                                           		// Data one bye one, for speed                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1654
000a0e   0ef7     MOVLW     0xf7           		RXB0D0=cm.data[0];	RXB0D1=cm.data[1];                                          F:\MCP\projects\CAN\canNode\Source\CAN.c
1655
000a10   50db     MOVF      0xdb,0x0,0x0                                                                                    
1656
000a12   6e66     MOVWF     0x66,0x0                                                                                        
1657
000a14   0ef8     MOVLW     0xf8                                                                                            
1658
000a16   50db     MOVF      0xdb,0x0,0x0                                                                                    
1659
000a18   6e67     MOVWF     0x67,0x0                                                                                        
1660
000a1a   0ef9     MOVLW     0xf9           		RXB0D2=cm.data[2]; 	RXB0D3=cm.data[3];                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
1661
000a1c   50db     MOVF      0xdb,0x0,0x0                                                                                    
1662
000a1e   6e68     MOVWF     0x68,0x0                                                                                        
1663
000a20   0efa     MOVLW     0xfa                                                                                            
1664
000a22   50db     MOVF      0xdb,0x0,0x0                                                                                    
1665
000a24   6e69     MOVWF     0x69,0x0                                                                                        
1666
000a26   0efb     MOVLW     0xfb           		RXB0D4=cm.data[4]; 	RXB0D5=cm.data[5];                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
1667
000a28   50db     MOVF      0xdb,0x0,0x0                                                                                    
1668
000a2a   6e6a     MOVWF     0x6a,0x0                                                                                        
1669
000a2c   0efc     MOVLW     0xfc                                                                                            
1670
000a2e   50db     MOVF      0xdb,0x0,0x0                                                                                    
1671
000a30   6e6b     MOVWF     0x6b,0x0                                                                                        
1672
000a32   0efd     MOVLW     0xfd           		RXB0D6=cm.data[6]; 	RXB0D7=cm.data[7];                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
1673
000a34   50db     MOVF      0xdb,0x0,0x0                                                                                    
1674
000a36   6e6c     MOVWF     0x6c,0x0                                                                                        
1675
000a38   0efe     MOVLW     0xfe                                                                                            
1676
000a3a   50db     MOVF      0xdb,0x0,0x0                                                                                    
1677
000a3c   6e6d     MOVWF     0x6d,0x0                                                                                        
24 johboh 1678
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
26 johboh 1679
                                           		// set extended or not                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1680
000a3e   0ef5     MOVLW     0xf5           		RXB0SIDLbits.EXID=(cm.extended==TRUE?1:0);                                     F:\MCP\projects\CAN\canNode\Source\CAN.c
1681
000a40   04db     DECF      0xdb,0x0,0x0                                                                                    
1682
000a42   e102     BNZ       0xa48                                                                                           
1683
000a44   0e01     MOVLW     0x1                                                                                             
1684
000a46   d001     BRA       0xa4a                                                                                           
1685
000a48   0e00     MOVLW     0x0                                                                                             
1686
000a4a   b0e8     BTFSC     0xe8,0x0,0x0                                                                                    
1687
000a4c   8662     BSF       0x62,0x3,0x0                                                                                    
1688
000a4e   a0e8     BTFSS     0xe8,0x0,0x0                                                                                    
1689
000a50   9662     BCF       0x62,0x3,0x0                                                                                    
26 johboh 1690
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1691
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1692
                                           		// mark as redy to transmit                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
1693
                                           		_asm                                                                           F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1694
000a52   8660     BSF       0x60,0x3,0x0   			bsf RXB0CON, 3, 0                                                             F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1695
                                           		_endasm                                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
1696
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1697
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1698
000a54   0e01     MOVLW     0x1            		return TRUE;                                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
1699
000a56   d000     BRA       0xa58                                                                                           
24 johboh 1700
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
31 johboh 1701
000a58   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1702
000a5a   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
1703
000a5c   ffd9                                                                                                               
1704
000a5e   0012     RETURN    0x0                                                                                             
24 johboh 1705
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1706
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1707
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1708
                                           #endif //USE_CAN                                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
26 johboh 1709
                                           /*********************************************************************           F:\MCP\projects\CAN\canNode\Source\uart.c
1710
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1711
                                            *                  UART                                                         F:\MCP\projects\CAN\canNode\Source\uart.c
1712
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1713
                                            *********************************************************************           F:\MCP\projects\CAN\canNode\Source\uart.c
1714
                                            * FileName:        uart.c                                                       F:\MCP\projects\CAN\canNode\Source\uart.c
1715
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1716
                                            * Author               Date    Comment                                          F:\MCP\projects\CAN\canNode\Source\uart.c
1717
                                            *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~           F:\MCP\projects\CAN\canNode\Source\uart.c
1718
                                            * Johan Böhlin     21-10-06 	Original        (Rev 1.0)                          F:\MCP\projects\CAN\canNode\Source\uart.c
1719
                                            ********************************************************************/           F:\MCP\projects\CAN\canNode\Source\uart.c
1720
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
24 johboh 1721
                                           #include "../Include/stackTasks.h"                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1722
                                           #include "../Include/uart.h"                                                     F:\MCP\projects\CAN\canNode\Source\uart.c
1723
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1724
                                           #ifdef USE_UART                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
1725
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1726
                                           static char uartBusy(void);                                                      F:\MCP\projects\CAN\canNode\Source\uart.c
1727
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1728
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1729
                                           *	Function: uartInit                                                             F:\MCP\projects\CAN\canNode\Source\uart.c
1730
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
1731
                                           *	Input:	none                                                                    F:\MCP\projects\CAN\canNode\Source\uart.c
1732
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\uart.c
1733
                                           *	Pre-conditions: none                                                           F:\MCP\projects\CAN\canNode\Source\uart.c
1734
                                           *	Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
1735
                                           *	Depends: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
1736
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1737
                                           void uartInit()                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
1738
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
1739
                                           		// Configure USART                                                             F:\MCP\projects\CAN\canNode\Source\uart.c
31 johboh 1740
000a60   8e94     BSF       0x94,0x7,0x0   		TRISCbits.TRISC7=1;                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1741
000a62   9c94     BCF       0x94,0x6,0x0   		TRISCbits.TRISC6=0;                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1742
000a64   0e20     MOVLW     0x20           		TXSTA=0b00100000; // Low BRG speed                                             F:\MCP\projects\CAN\canNode\Source\uart.c
1743
000a66   6eac     MOVWF     0xac,0x0                                                                                        
1744
000a68   0e90     MOVLW     0x90           		RCSTA=0b10010000;                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
1745
000a6a   6eab     MOVWF     0xab,0x0                                                                                        
1746
000a6c   0e1f     MOVLW     0x1f           		SPBRG = SPBRG_VAL;                                                             F:\MCP\projects\CAN\canNode\Source\uart.c
1747
000a6e   6eaf     MOVWF     0xaf,0x0                                                                                        
24 johboh 1748
                                           		// USART RX interrupt                                                          F:\MCP\projects\CAN\canNode\Source\uart.c
31 johboh 1749
000a70   9a9e     BCF       0x9e,0x5,0x0   		PIR1bits.RCIF=0;                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1750
000a72   8a9d     BSF       0x9d,0x5,0x0   		PIE1bits.RCIE=1;                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
24 johboh 1751
                                           		// High interrupt                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
31 johboh 1752
000a74   8a9f     BSF       0x9f,0x5,0x0   		IPR1bits.RCIP=1;                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1753
000a76   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
24 johboh 1754
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1755
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1756
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1757
                                           *	Function: uartPutc                                                             F:\MCP\projects\CAN\canNode\Source\uart.c
1758
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
1759
                                           *	Input:	BYTE c to send on uart                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
1760
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\uart.c
1761
                                           *	Pre-conditions: call to uartInit()                                             F:\MCP\projects\CAN\canNode\Source\uart.c
1762
                                           *	Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
1763
                                           *	Depends: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
1764
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
31 johboh 1765
000a78   cfd9     MOVFF     0xfd9,0xfe6    void uartPutc(BYTE c)                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1766
000a7a   ffe6                                                                                                               
1767
000a7c   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
1768
000a7e   ffd9                                                                                                               
24 johboh 1769
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
1770
                                           	// Write the data byte to the USART                                             F:\MCP\projects\CAN\canNode\Source\uart.c
31 johboh 1771
000a80   0efe     MOVLW     0xfe           	TXREG = c;                                                                      F:\MCP\projects\CAN\canNode\Source\uart.c
1772
000a82   50db     MOVF      0xdb,0x0,0x0                                                                                    
1773
000a84   6ead     MOVWF     0xad,0x0                                                                                        
1774
000a86   d848     RCALL     0xb18          	while(uartBusy());                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
1775
000a88   0900     IORLW     0x0                                                                                             
1776
000a8a   e1fd     BNZ       0xa86                                                                                           
1777
000a8c   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
1778
000a8e   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
1779
000a90   ffd9                                                                                                               
1780
000a92   0012     RETURN    0x0                                                                                             
24 johboh 1781
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1782
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1783
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1784
                                           *	Function: uartPuts                                                             F:\MCP\projects\CAN\canNode\Source\uart.c
1785
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
1786
                                           *	Input:	Byte array to send on uart                                              F:\MCP\projects\CAN\canNode\Source\uart.c
1787
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\uart.c
1788
                                           *	Pre-conditions: call to uartInit()                                             F:\MCP\projects\CAN\canNode\Source\uart.c
1789
                                           *	Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
1790
                                           *	Depends: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
1791
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
31 johboh 1792
000a94   cfd9     MOVFF     0xfd9,0xfe6    void uartPuts(BYTE c[])                                                          F:\MCP\projects\CAN\canNode\Source\uart.c
1793
000a96   ffe6                                                                                                               
1794
000a98   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
1795
000a9a   ffd9                                                                                                               
24 johboh 1796
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
1797
                                           	do                                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
1798
                                             	{  // Transmit a byte                                                         F:\MCP\projects\CAN\canNode\Source\uart.c
31 johboh 1799
000a9c   d83d     RCALL     0xb18              	while(uartBusy());                                                          F:\MCP\projects\CAN\canNode\Source\uart.c
1800
000a9e   0900     IORLW     0x0                                                                                             
1801
000aa0   e1fd     BNZ       0xa9c                                                                                           
1802
000aa2   0efd     MOVLW     0xfd               	uartPutc(*c);                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1803
000aa4   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
1804
000aa6   ffe9                                                                                                               
1805
000aa8   0efe     MOVLW     0xfe                                                                                            
1806
000aaa   cfdb     MOVFF     0xfdb,0xfea                                                                                     
1807
000aac   ffea                                                                                                               
1808
000aae   50ef     MOVF      0xef,0x0,0x0                                                                                    
1809
000ab0   6ee6     MOVWF     0xe6,0x0                                                                                        
1810
000ab2   dfe2     RCALL     0xa78                                                                                           
1811
000ab4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
1812
000ab6   0efd     MOVLW     0xfd             	} while( *c++ );                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
1813
000ab8   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
1814
000aba   ffe9                                                                                                               
1815
000abc   2adb     INCF      0xdb,0x1,0x0                                                                                    
1816
000abe   0efe     MOVLW     0xfe                                                                                            
1817
000ac0   cfdb     MOVFF     0xfdb,0xfea                                                                                     
1818
000ac2   ffea                                                                                                               
1819
000ac4   e301     BNC       0xac8                                                                                           
1820
000ac6   2adb     INCF      0xdb,0x1,0x0                                                                                    
1821
000ac8   50ef     MOVF      0xef,0x0,0x0                                                                                    
1822
000aca   e1e8     BNZ       0xa9c                                                                                           
1823
000acc   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
1824
000ace   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
1825
000ad0   ffd9                                                                                                               
1826
000ad2   0012     RETURN    0x0                                                                                             
24 johboh 1827
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1828
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1829
                                           *	Function: uartPutrs                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1830
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
1831
                                           *	Input:	Byte array to send on uart (static)                                     F:\MCP\projects\CAN\canNode\Source\uart.c
1832
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\uart.c
1833
                                           *	Pre-conditions: call to uartInit()                                             F:\MCP\projects\CAN\canNode\Source\uart.c
1834
                                           *	Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
1835
                                           *	Depends: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
1836
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
31 johboh 1837
000ad4   cfd9     MOVFF     0xfd9,0xfe6    void uartPutrs(const rom char *c)                                                F:\MCP\projects\CAN\canNode\Source\uart.c
1838
000ad6   ffe6                                                                                                               
1839
000ad8   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
1840
000ada   ffd9                                                                                                               
24 johboh 1841
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
1842
                                           	do                                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
1843
                                             	{  // Transmit a byte                                                         F:\MCP\projects\CAN\canNode\Source\uart.c
31 johboh 1844
000adc   d81d     RCALL     0xb18              	while(uartBusy());                                                          F:\MCP\projects\CAN\canNode\Source\uart.c
1845
000ade   0900     IORLW     0x0                                                                                             
1846
000ae0   e1fd     BNZ       0xadc                                                                                           
1847
000ae2   0efd     MOVLW     0xfd               	uartPutc(*c);                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1848
000ae4   cfdb     MOVFF     0xfdb,0xff6                                                                                     
1849
000ae6   fff6                                                                                                               
1850
000ae8   0efe     MOVLW     0xfe                                                                                            
1851
000aea   cfdb     MOVFF     0xfdb,0xff7                                                                                     
1852
000aec   fff7                                                                                                               
1853
000aee   0008     TBLRD                                                                                                     
1854
000af0   50f5     MOVF      0xf5,0x0,0x0                                                                                    
1855
000af2   6ee6     MOVWF     0xe6,0x0                                                                                        
1856
000af4   dfc1     RCALL     0xa78                                                                                           
1857
000af6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
1858
000af8   0efd     MOVLW     0xfd             	} while( *c++ );                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
1859
000afa   cfdb     MOVFF     0xfdb,0xff6                                                                                     
1860
000afc   fff6                                                                                                               
1861
000afe   2adb     INCF      0xdb,0x1,0x0                                                                                    
1862
000b00   0efe     MOVLW     0xfe                                                                                            
1863
000b02   cfdb     MOVFF     0xfdb,0xff7                                                                                     
1864
000b04   fff7                                                                                                               
1865
000b06   e301     BNC       0xb0a                                                                                           
1866
000b08   2adb     INCF      0xdb,0x1,0x0                                                                                    
1867
000b0a   0008     TBLRD                                                                                                     
1868
000b0c   50f5     MOVF      0xf5,0x0,0x0                                                                                    
1869
000b0e   e1e6     BNZ       0xadc                                                                                           
1870
000b10   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
1871
000b12   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
1872
000b14   ffd9                                                                                                               
1873
000b16   0012     RETURN    0x0                                                                                             
24 johboh 1874
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1875
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1876
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1877
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1878
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1879
                                           *	Function: uartBusy                                                             F:\MCP\projects\CAN\canNode\Source\uart.c
1880
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
1881
                                           *	Input:	none.                                                                   F:\MCP\projects\CAN\canNode\Source\uart.c
1882
                                           *	Output: If usart busy or not.                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
1883
                                           *	Pre-conditions: call to uartInit()                                             F:\MCP\projects\CAN\canNode\Source\uart.c
1884
                                           *	Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
1885
                                           *	Depends: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
1886
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1887
                                           char uartBusy(void)                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
1888
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
31 johboh 1889
000b18   50ac     MOVF      0xac,0x0,0x0   	return !TXSTAbits.TRMT;                                                         F:\MCP\projects\CAN\canNode\Source\uart.c
1890
000b1a   0b02     ANDLW     0x2                                                                                             
1891
000b1c   0a02     XORLW     0x2                                                                                             
1892
000b1e   e001     BZ        0xb22                                                                                           
1893
000b20   0e01     MOVLW     0x1                                                                                             
1894
000b22   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
24 johboh 1895
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1896
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1897
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1898
                                           *	Function: uartGet                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
1899
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
1900
                                           *	Input:	none                                                                    F:\MCP\projects\CAN\canNode\Source\uart.c
1901
                                           *	Output: Byte read                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
1902
                                           *	Pre-conditions: call to uartInit()                                             F:\MCP\projects\CAN\canNode\Source\uart.c
1903
                                           *	Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
1904
                                           *	Depends: none.                                                                 F:\MCP\projects\CAN\canNode\Source\uart.c
1905
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1906
                                           BYTE uartGet(void)                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1907
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
1908
                                           	// Return the received data                                                     F:\MCP\projects\CAN\canNode\Source\uart.c
31 johboh 1909
000b24   50ae     MOVF      0xae,0x0,0x0   	return RCREG;	                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
1910
000b26   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
24 johboh 1911
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1912
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1913
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1914
                                           *	Function: uartISR                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
1915
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
1916
                                           *	Input:	none                                                                    F:\MCP\projects\CAN\canNode\Source\uart.c
1917
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\uart.c
1918
                                           *	Pre-conditions: call to uartInit()                                             F:\MCP\projects\CAN\canNode\Source\uart.c
1919
                                           *	Affects: call to uartParse                                                     F:\MCP\projects\CAN\canNode\Source\uart.c
1920
                                           *	Depends: none.                                                                 F:\MCP\projects\CAN\canNode\Source\uart.c
1921
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1922
                                           void uartISR(void)                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1923
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
31 johboh 1924
000b28   509e     MOVF      0x9e,0x0,0x0   	if (PIR1bits.RCIF==1 && PIE1bits.RCIE==1)                                       F:\MCP\projects\CAN\canNode\Source\uart.c
1925
000b2a   0b20     ANDLW     0x20                                                                                            
1926
000b2c   e009     BZ        0xb40                                                                                           
1927
000b2e   509d     MOVF      0x9d,0x0,0x0                                                                                    
1928
000b30   0b20     ANDLW     0x20                                                                                            
1929
000b32   e006     BZ        0xb40                                                                                           
24 johboh 1930
                                           	{                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
31 johboh 1931
000b34   dff7     RCALL     0xb24          		uartParse(uartGet());                                                          F:\MCP\projects\CAN\canNode\Source\uart.c
1932
000b36   6ee6     MOVWF     0xe6,0x0                                                                                        
1933
000b38   eca9     CALL      0x352,0x0                                                                                       
1934
000b3a   f001                                                                                                               
1935
000b3c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
1936
000b3e   9a9e     BCF       0x9e,0x5,0x0   		PIR1bits.RCIF=0;                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
24 johboh 1937
                                           	}                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
31 johboh 1938
000b40   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
24 johboh 1939
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1940
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1941
                                           #endif                                                                           F:\MCP\projects\CAN\canNode\Source\uart.c
26 johboh 1942
                                           /*********************************************************************           F:\MCP\projects\CAN\canNode\Source\Tick.c
1943
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
1944
                                            *                  Ticker service                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
1945
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
1946
                                            *********************************************************************           F:\MCP\projects\CAN\canNode\Source\Tick.c
1947
                                            * FileName:        Tick.c                                                       F:\MCP\projects\CAN\canNode\Source\Tick.c
1948
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
1949
                                            * Author               Date    Comment                                          F:\MCP\projects\CAN\canNode\Source\Tick.c
1950
                                            *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~           F:\MCP\projects\CAN\canNode\Source\Tick.c
1951
                                            * Johan Böhlin     21-10-06 	Original        (Rev 1.0)                          F:\MCP\projects\CAN\canNode\Source\Tick.c
1952
                                            ********************************************************************/           F:\MCP\projects\CAN\canNode\Source\Tick.c
1953
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
24 johboh 1954
                                           #define TICK_INCLUDE                                                             F:\MCP\projects\CAN\canNode\Source\Tick.c
1955
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
1956
                                           #include "..\Include\Tick.h"                                                     F:\MCP\projects\CAN\canNode\Source\Tick.c
1957
                                           #include "..\Include\Compiler.h"                                                 F:\MCP\projects\CAN\canNode\Source\Tick.c
1958
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
1959
                                           #define TICK_TEMP_VALUE_1 ((INSTR_FREQ) / (TICKS_PER_SECOND * TICK_PRESCALE_VALUE)) F:\MCP\projects\CAN\canNode\Source\Tick.c
1960
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
1961
                                           #if TICK_TEMP_VALUE_1 > 60000                                                    F:\MCP\projects\CAN\canNode\Source\Tick.c
1962
                                           #error TICK_PER_SECOND value cannot be programmed with current CLOCK_FREQ        F:\MCP\projects\CAN\canNode\Source\Tick.c
1963
                                           #error Either lower TICK_PER_SECOND or manually configure the Timer              F:\MCP\projects\CAN\canNode\Source\Tick.c
1964
                                           #endif                                                                           F:\MCP\projects\CAN\canNode\Source\Tick.c
1965
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
1966
                                           #define TICK_TEMP_VALUE         (65535 - TICK_TEMP_VALUE_1)                      F:\MCP\projects\CAN\canNode\Source\Tick.c
1967
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
1968
                                           #define TICK_COUNTER_HIGH       ((TICK_TEMP_VALUE >> 8) & 0xff)                  F:\MCP\projects\CAN\canNode\Source\Tick.c
1969
                                           #define TICK_COUNTER_LOW        (TICK_TEMP_VALUE & 0xff)                         F:\MCP\projects\CAN\canNode\Source\Tick.c
1970
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
1971
                                           #if (TICK_PRESCALE_VALUE == 2)                                                   F:\MCP\projects\CAN\canNode\Source\Tick.c
1972
                                               #define TIMER_PRESCALE  (0)                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
1973
                                           #elif ( TICK_PRESCALE_VALUE == 4 )                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
1974
                                               #define TIMER_PRESCALE  (1)                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
1975
                                           #elif ( TICK_PRESCALE_VALUE == 8 )                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
1976
                                               #define TIMER_PRESCALE  (2)                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
1977
                                           #elif ( TICK_PRESCALE_VALUE == 16 )                                              F:\MCP\projects\CAN\canNode\Source\Tick.c
1978
                                               #define TIMER_PRESCALE  (3)                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
1979
                                           #elif ( TICK_PRESCALE_VALUE == 32 )                                              F:\MCP\projects\CAN\canNode\Source\Tick.c
1980
                                               #define TIMER_PRESCALE  (4)                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
1981
                                           #elif ( TICK_PRESCALE_VALUE == 64 )                                              F:\MCP\projects\CAN\canNode\Source\Tick.c
1982
                                               #define TIMER_PRESCALE  (5)                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
1983
                                           #elif ( TICK_PRESCALE_VALUE == 128 )                                             F:\MCP\projects\CAN\canNode\Source\Tick.c
1984
                                               #define TIMER_PRESCALE  (6)                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
1985
                                           #elif ( TICK_PRESCALE_VALUE == 256 )                                             F:\MCP\projects\CAN\canNode\Source\Tick.c
1986
                                               #define TIMER_PRESCALE  (7)                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
1987
                                           #else                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
1988
                                               #error Invalid TICK_PRESCALE_VALUE specified.                                F:\MCP\projects\CAN\canNode\Source\Tick.c
1989
                                           #endif                                                                           F:\MCP\projects\CAN\canNode\Source\Tick.c
1990
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
1991
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
1992
                                           TICK TickCount = 0;	// 10ms/unit                                                 F:\MCP\projects\CAN\canNode\Source\Tick.c
1993
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
1994
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
1995
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
1996
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
1997
                                           *	Function: TickInit                                                             F:\MCP\projects\CAN\canNode\Source\Tick.c
1998
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
1999
                                           *	Input:	none                                                                    F:\MCP\projects\CAN\canNode\Source\Tick.c
2000
                                           *	Output: Tick manager is initialized.                                           F:\MCP\projects\CAN\canNode\Source\Tick.c
2001
                                           *	Pre-conditions: TickInit                                                       F:\MCP\projects\CAN\canNode\Source\Tick.c
2002
                                           *	Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
2003
                                           *	Depends: none                                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
2004
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
2005
                                           #define PERIOD (INSTR_FREQ/256/1000)*TICK_PERIOD_MS                              F:\MCP\projects\CAN\canNode\Source\Tick.c
2006
                                           void tickInit(void)                                                              F:\MCP\projects\CAN\canNode\Source\Tick.c
2007
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
2008
                                               // Start the timer.                                                          F:\MCP\projects\CAN\canNode\Source\Tick.c
31 johboh 2009
000be0   0e79     MOVLW     0x79               TMR0L = TICK_COUNTER_LOW;                                                    F:\MCP\projects\CAN\canNode\Source\Tick.c
2010
000be2   6ed6     MOVWF     0xd6,0x0                                                                                        
2011
000be4   0efe     MOVLW     0xfe               TMR0H = TICK_COUNTER_HIGH;                                                   F:\MCP\projects\CAN\canNode\Source\Tick.c
2012
000be6   6ed7     MOVWF     0xd7,0x0                                                                                        
24 johboh 2013
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
2014
                                               // 16-BIT, internal timer, PSA set to 1:256                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
31 johboh 2015
000be8   0e07     MOVLW     0x7                T0CON = 0b00000000 | TIMER_PRESCALE;                                         F:\MCP\projects\CAN\canNode\Source\Tick.c
2016
000bea   6ed5     MOVWF     0xd5,0x0                                                                                        
24 johboh 2017
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
2018
                                               // Start the timer.                                                          F:\MCP\projects\CAN\canNode\Source\Tick.c
31 johboh 2019
000bec   8ed5     BSF       0xd5,0x7,0x0       T0CONbits.TMR0ON = 1;                                                        F:\MCP\projects\CAN\canNode\Source\Tick.c
24 johboh 2020
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
31 johboh 2021
000bee   84f2     BSF       0xf2,0x2,0x0       INTCONbits.TMR0IF = 1;                                                       F:\MCP\projects\CAN\canNode\Source\Tick.c
2022
000bf0   8af2     BSF       0xf2,0x5,0x0       INTCONbits.TMR0IE = 1;                                                       F:\MCP\projects\CAN\canNode\Source\Tick.c
2023
000bf2   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
24 johboh 2024
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
2025
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
2026
                                           *	Function: TickGet                                                              F:\MCP\projects\CAN\canNode\Source\Tick.c
2027
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
2028
                                           *	Input:	none                                                                    F:\MCP\projects\CAN\canNode\Source\Tick.c
2029
                                           *	Output: Current tick value is given, 1 tick represents approximately 10ms      F:\MCP\projects\CAN\canNode\Source\Tick.c
2030
                                           *	Pre-conditions: TickInit                                                       F:\MCP\projects\CAN\canNode\Source\Tick.c
2031
                                           *	Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
2032
                                           *	Depends: none                                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
2033
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
2034
                                           TICK tickGet(void)                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
2035
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
31 johboh 2036
000bf4   c06f     MOVFF     0x6f,0x18          return TickCount;                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
2037
000bf6   f018                                                                                                               
2038
000bf8   c070     MOVFF     0x70,0x19                                                                                       
2039
000bfa   f019                                                                                                               
2040
000bfc   c071     MOVFF     0x71,0x1a                                                                                       
2041
000bfe   f01a                                                                                                               
2042
000c00   c072     MOVFF     0x72,0x1b                                                                                       
2043
000c02   f01b                                                                                                               
2044
000c04   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
24 johboh 2045
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
2046
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
2047
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
2048
                                           *	Function: tickUpdate                                                           F:\MCP\projects\CAN\canNode\Source\Tick.c
2049
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
2050
                                           *	Input:	none                                                                    F:\MCP\projects\CAN\canNode\Source\Tick.c
2051
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\Tick.c
2052
                                           *	Pre-conditions: TickInit                                                       F:\MCP\projects\CAN\canNode\Source\Tick.c
2053
                                           *	Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
2054
                                           *	Depends: none                                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
2055
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
2056
                                           void tickUpdate(void)                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
2057
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
31 johboh 2058
000c06   a4f2     BTFSS     0xf2,0x2,0x0       if(INTCONbits.TMR0IF)                                                        F:\MCP\projects\CAN\canNode\Source\Tick.c
2059
000c08   d00b     BRA       0xc20                                                                                           
24 johboh 2060
                                               {                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
31 johboh 2061
000c0a   0efe     MOVLW     0xfe                   TMR0H = TICK_COUNTER_HIGH;                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
2062
000c0c   6ed7     MOVWF     0xd7,0x0                                                                                        
2063
000c0e   0e79     MOVLW     0x79                   TMR0L = TICK_COUNTER_LOW;                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
2064
000c10   6ed6     MOVWF     0xd6,0x0                                                                                        
24 johboh 2065
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
31 johboh 2066
000c12   0100     MOVLB     0x0                    TickCount++;                                                             F:\MCP\projects\CAN\canNode\Source\Tick.c
2067
000c14   2b6f     INCF      0x6f,0x1,0x1                                                                                    
2068
000c16   0e00     MOVLW     0x0                                                                                             
2069
000c18   2370     ADDWFC    0x70,0x1,0x1                                                                                    
2070
000c1a   2371     ADDWFC    0x71,0x1,0x1                                                                                    
2071
000c1c   2372     ADDWFC    0x72,0x1,0x1                                                                                    
24 johboh 2072
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
31 johboh 2073
000c1e   94f2     BCF       0xf2,0x2,0x0           INTCONbits.TMR0IF = 0;                                                   F:\MCP\projects\CAN\canNode\Source\Tick.c
24 johboh 2074
                                               }                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
31 johboh 2075
000c20   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c