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