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