Subversion Repositories HomeAutomation

Rev

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

Rev Author Line No. Line
117 johboh 1
MP2COD 4.02, COFF to COD File Converter
2
Copyright (c) 2006 Microchip Technology Inc.
3
Listing File Generated: Sat Nov 18 14:20:08 2006
4
 
5
 
6
Address  Value    Disassembly              Source                                                                           File
7
-------  -------  -----------------------  -------------------------------------------------------------------------------  -----
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:        $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canBase/Source/Main.c $ F:\MCP\projects\CAN\canNode\Source\Main.c
14
                                            * Last changed:	$LastChangedDate: 2006-11-15 18:49:55 +0100 (on, 15 nov 2006) $ F:\MCP\projects\CAN\canNode\Source\Main.c
15
                                            * By:				$LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canNode\Source\Main.c
16
                                            * Revision:		$Revision: 109 $                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
17
                                            ********************************************************************/           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
20
                                           #include <compiler.h>                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
21
                                           #include <stackTasks.h>                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
22
                                           #include <Tick.h>                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
23
                                           #include <funcdefs.h>                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
24
                                           #include <EEaccess.h>                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
25
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
26
                                           #ifdef USE_CAN                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
27
                                           	#include <CAN.h>                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
28
                                           #endif                                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
29
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
30
                                           static void mainInit(void);                                                      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
                                           static int MY_ID = DEFAULT_ID;                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
34
                                           static BYTE MY_NID = DEFAULT_NID;                                                F:\MCP\projects\CAN\canNode\Source\Main.c
35
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
36
001044   cfd9     MOVFF     0xfd9,0xfe6    void main()                                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
37
001046   ffe6                                                                                                               
38
001048   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
39
00104a   ffd9                                                                                                               
40
00104c   0e0f     MOVLW     0xf                                                                                             
41
00104e   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
                                           	CAN_MESSAGE outCm;                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
45
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
46
                                           	// Inits                                                                        F:\MCP\projects\CAN\canNode\Source\Main.c
47
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
48
001050   d971     RCALL     0x1334         	mainInit();                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
49
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
50
                                           	#ifdef USE_CAN                                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
51
001052   ec66     CALL      0x14cc,0x0     		canInit();                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
52
001054   f00a                                                                                                               
53
                                           	#endif                                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
54
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
55
001056   ecf1     CALL      0x19e2,0x0     	tickInit();                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
56
001058   f00c                                                                                                               
57
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
58
                                           	// Read ID and NID if exist.                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
59
00105a   0e00     MOVLW     0x0            	if (EERead(NODE_ID_EE)==NODE_HAS_ID)                                            F:\MCP\projects\CAN\canNode\Source\Main.c
60
00105c   6ee6     MOVWF     0xe6,0x0                                                                                        
61
00105e   6ae6     CLRF      0xe6,0x0                                                                                        
62
001060   ec4c     CALL      0x1898,0x0                                                                                      
63
001062   f00c                                                                                                               
64
001064   52e5     MOVF      0xe5,0x1,0x0                                                                                    
65
001066   52e5     MOVF      0xe5,0x1,0x0                                                                                    
66
001068   082a     SUBLW     0x2a                                                                                            
67
00106a   e12b     BNZ       0x10c2                                                                                          
68
                                           	{                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
69
00106c   0e01     MOVLW     0x1            		MY_ID=(((WORD)EERead(NODE_ID_EE + 1))<<8)+EERead(NODE_ID_EE + 2);              F:\MCP\projects\CAN\canNode\Source\Main.c
70
00106e   6ee6     MOVWF     0xe6,0x0                                                                                        
71
001070   6ae6     CLRF      0xe6,0x0                                                                                        
72
001072   ec4c     CALL      0x1898,0x0                                                                                      
73
001074   f00c                                                                                                               
74
001076   52e5     MOVF      0xe5,0x1,0x0                                                                                    
75
001078   52e5     MOVF      0xe5,0x1,0x0                                                                                    
76
00107a   6e00     MOVWF     0x0,0x0                                                                                         
77
00107c   c000     MOVFF     0x0,0x1                                                                                         
78
00107e   f001                                                                                                               
79
001080   6a00     CLRF      0x0,0x0                                                                                         
80
001082   c000     MOVFF     0x0,0xfe6                                                                                       
81
001084   ffe6                                                                                                               
82
001086   c001     MOVFF     0x1,0xfe6                                                                                       
83
001088   ffe6                                                                                                               
84
00108a   0e02     MOVLW     0x2                                                                                             
85
00108c   6ee6     MOVWF     0xe6,0x0                                                                                        
86
00108e   6ae6     CLRF      0xe6,0x0                                                                                        
87
001090   ec4c     CALL      0x1898,0x0                                                                                      
88
001092   f00c                                                                                                               
89
001094   52e5     MOVF      0xe5,0x1,0x0                                                                                    
90
001096   52e5     MOVF      0xe5,0x1,0x0                                                                                    
91
001098   52e5     MOVF      0xe5,0x1,0x0                                                                                    
92
00109a   cfe7     MOVFF     0xfe7,0x1                                                                                       
93
00109c   f001                                                                                                               
94
00109e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
95
0010a0   cfe7     MOVFF     0xfe7,0x0                                                                                       
96
0010a2   f000                                                                                                               
97
0010a4   0100     MOVLB     0x0                                                                                             
98
0010a6   2400     ADDWF     0x0,0x0,0x0                                                                                     
99
0010a8   6f60     MOVWF     0x60,0x1                                                                                        
100
0010aa   0e00     MOVLW     0x0                                                                                             
101
0010ac   2001     ADDWFC    0x1,0x0,0x0                                                                                     
102
0010ae   6f61     MOVWF     0x61,0x1                                                                                        
103
0010b0   0e03     MOVLW     0x3            		MY_NID=EERead(NODE_ID_EE + 3);                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
104
0010b2   6ee6     MOVWF     0xe6,0x0                                                                                        
105
0010b4   6ae6     CLRF      0xe6,0x0                                                                                        
106
0010b6   ec4c     CALL      0x1898,0x0                                                                                      
107
0010b8   f00c                                                                                                               
108
0010ba   52e5     MOVF      0xe5,0x1,0x0                                                                                    
109
0010bc   52e5     MOVF      0xe5,0x1,0x0                                                                                    
110
0010be   0100     MOVLB     0x0                                                                                             
111
0010c0   6f62     MOVWF     0x62,0x1                                                                                        
112
                                           	}                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
113
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
114
                                           	// Send user program startup heatbeat                                           F:\MCP\projects\CAN\canNode\Source\Main.c
115
0010c2   6adf     CLRF      0xdf,0x0       	outCm.funct 					= FUNCT_BOOTLOADER;                                            F:\MCP\projects\CAN\canNode\Source\Main.c
116
0010c4   0e08     MOVLW     0x8            	outCm.funcc 					= FUNCC_BOOT_HEARTBEAT;                                        F:\MCP\projects\CAN\canNode\Source\Main.c
117
0010c6   6ef3     MOVWF     0xf3,0x0                                                                                        
118
0010c8   0e01     MOVLW     0x1                                                                                             
119
0010ca   cff3     MOVFF     0xff3,0xfdb                                                                                     
120
0010cc   ffdb                                                                                                               
121
0010ce   0e02     MOVLW     0x2                                                                                             
122
0010d0   6adb     CLRF      0xdb,0x0                                                                                        
123
0010d2   0e03     MOVLW     0x3            	outCm.nid   					= MY_NID;                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
124
0010d4   c062     MOVFF     0x62,0xfdb                                                                                      
125
0010d6   ffdb                                                                                                               
126
0010d8   0e04     MOVLW     0x4            	outCm.sid   					= MY_ID;                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
127
0010da   c060     MOVFF     0x60,0xfdb                                                                                      
128
0010dc   ffdb                                                                                                               
129
0010de   0e05     MOVLW     0x5                                                                                             
130
0010e0   c061     MOVFF     0x61,0xfdb                                                                                      
131
0010e2   ffdb                                                                                                               
132
0010e4   0e01     MOVLW     0x1            	outCm.data_length 				= 1;                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
133
0010e6   6ef3     MOVWF     0xf3,0x0                                                                                        
134
0010e8   0e06     MOVLW     0x6                                                                                             
135
0010ea   cff3     MOVFF     0xff3,0xfdb                                                                                     
136
0010ec   ffdb                                                                                                               
137
0010ee   0e01     MOVLW     0x1            	outCm.data[BOOT_DATA_HEARTBEAT_INDEX] = HEARTBEAT_USER_STARTUP;                 F:\MCP\projects\CAN\canNode\Source\Main.c
138
0010f0   6ef3     MOVWF     0xf3,0x0                                                                                        
139
0010f2   0e07     MOVLW     0x7                                                                                             
140
0010f4   cff3     MOVFF     0xff3,0xfdb                                                                                     
141
0010f6   ffdb                                                                                                               
142
0010f8   0e02     MOVLW     0x2            	while(!canSendMessage(outCm,PRIO_HIGH));                                        F:\MCP\projects\CAN\canNode\Source\Main.c
143
0010fa   6ee6     MOVWF     0xe6,0x0                                                                                        
144
0010fc   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
145
0010fe   ffe9                                                                                                               
146
001100   cfda     MOVFF     0xfda,0xfea                                                                                     
147
001102   ffea                                                                                                               
148
001104   cfee     MOVFF     0xfee,0xfe6                                                                                     
149
001106   ffe6                                                                                                               
150
001108   cfee     MOVFF     0xfee,0xfe6                                                                                     
151
00110a   ffe6                                                                                                               
152
00110c   cfee     MOVFF     0xfee,0xfe6                                                                                     
153
00110e   ffe6                                                                                                               
154
001110   cfee     MOVFF     0xfee,0xfe6                                                                                     
155
001112   ffe6                                                                                                               
156
001114   cfee     MOVFF     0xfee,0xfe6                                                                                     
157
001116   ffe6                                                                                                               
158
001118   cfee     MOVFF     0xfee,0xfe6                                                                                     
159
00111a   ffe6                                                                                                               
160
00111c   cfee     MOVFF     0xfee,0xfe6                                                                                     
161
00111e   ffe6                                                                                                               
162
001120   cfee     MOVFF     0xfee,0xfe6                                                                                     
163
001122   ffe6                                                                                                               
164
001124   cfee     MOVFF     0xfee,0xfe6                                                                                     
165
001126   ffe6                                                                                                               
166
001128   cfee     MOVFF     0xfee,0xfe6                                                                                     
167
00112a   ffe6                                                                                                               
168
00112c   cfee     MOVFF     0xfee,0xfe6                                                                                     
169
00112e   ffe6                                                                                                               
170
001130   cfee     MOVFF     0xfee,0xfe6                                                                                     
171
001132   ffe6                                                                                                               
172
001134   cfee     MOVFF     0xfee,0xfe6                                                                                     
173
001136   ffe6                                                                                                               
174
001138   cfee     MOVFF     0xfee,0xfe6                                                                                     
175
00113a   ffe6                                                                                                               
176
00113c   cfee     MOVFF     0xfee,0xfe6                                                                                     
177
00113e   ffe6                                                                                                               
178
001140   ec7c     CALL      0x16f8,0x0                                                                                      
179
001142   f00b                                                                                                               
180
001144   6e00     MOVWF     0x0,0x0                                                                                         
181
001146   0e10     MOVLW     0x10                                                                                            
182
001148   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
183
00114a   5000     MOVF      0x0,0x0,0x0                                                                                     
184
00114c   0900     IORLW     0x0                                                                                             
185
00114e   e101     BNZ       0x1152                                                                                          
186
001150   d7d3     BRA       0x10f8                                                                                          
187
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
188
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
189
001270   d770     BRA       0x1152         	while(1)                                                                        F:\MCP\projects\CAN\canNode\Source\Main.c
190
                                           	{                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
191
                                           		static TICK t = 0;                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
192
                                           		static TICK heartbeat = 0;                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
193
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
194
                                           		                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
195
001152   ecfb     CALL      0x19f6,0x0     		if ((tickGet()-heartbeat)>TICK_SECOND*5)                                       F:\MCP\projects\CAN\canNode\Source\Main.c
196
001154   f00c                                                                                                               
197
001156   0100     MOVLB     0x0                                                                                             
198
001158   516b     MOVF      0x6b,0x0,0x1                                                                                    
199
00115a   5c12     SUBWF     0x12,0x0,0x0                                                                                    
200
00115c   6e00     MOVWF     0x0,0x0                                                                                         
201
00115e   516c     MOVF      0x6c,0x0,0x1                                                                                    
202
001160   5813     SUBWFB    0x13,0x0,0x0                                                                                    
203
001162   6e01     MOVWF     0x1,0x0                                                                                         
204
001164   516d     MOVF      0x6d,0x0,0x1                                                                                    
205
001166   5814     SUBWFB    0x14,0x0,0x0                                                                                    
206
001168   6e02     MOVWF     0x2,0x0                                                                                         
207
00116a   516e     MOVF      0x6e,0x0,0x1                                                                                    
208
00116c   5815     SUBWFB    0x15,0x0,0x0                                                                                    
209
00116e   6e03     MOVWF     0x3,0x0                                                                                         
210
001170   80d8     BSF       0xd8,0x0,0x0                                                                                    
211
001172   0ef4     MOVLW     0xf4                                                                                            
212
001174   5400     SUBFWB    0x0,0x0,0x0                                                                                     
213
001176   0e01     MOVLW     0x1                                                                                             
214
001178   5401     SUBFWB    0x1,0x0,0x0                                                                                     
215
00117a   0e00     MOVLW     0x0                                                                                             
216
00117c   5402     SUBFWB    0x2,0x0,0x0                                                                                     
217
00117e   0e00     MOVLW     0x0                                                                                             
218
001180   5403     SUBFWB    0x3,0x0,0x0                                                                                     
219
001182   e252     BC        0x1228                                                                                          
220
                                           		{                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
221
                                           			// Send alive heartbeat                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
222
001184   6adf     CLRF      0xdf,0x0       			outCm.funct 					= FUNCT_BOOTLOADER;                                          F:\MCP\projects\CAN\canNode\Source\Main.c
223
001186   0e08     MOVLW     0x8            			outCm.funcc 					= FUNCC_BOOT_HEARTBEAT;                                      F:\MCP\projects\CAN\canNode\Source\Main.c
224
001188   6ef3     MOVWF     0xf3,0x0                                                                                        
225
00118a   0e01     MOVLW     0x1                                                                                             
226
00118c   cff3     MOVFF     0xff3,0xfdb                                                                                     
227
00118e   ffdb                                                                                                               
228
001190   0e02     MOVLW     0x2                                                                                             
229
001192   6adb     CLRF      0xdb,0x0                                                                                        
230
001194   0e03     MOVLW     0x3            			outCm.nid   					= MY_NID;                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
231
001196   c062     MOVFF     0x62,0xfdb                                                                                      
232
001198   ffdb                                                                                                               
233
00119a   0e04     MOVLW     0x4            			outCm.sid   					= MY_ID;                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
234
00119c   c060     MOVFF     0x60,0xfdb                                                                                      
235
00119e   ffdb                                                                                                               
236
0011a0   0e05     MOVLW     0x5                                                                                             
237
0011a2   c061     MOVFF     0x61,0xfdb                                                                                      
238
0011a4   ffdb                                                                                                               
239
0011a6   0e01     MOVLW     0x1            			outCm.data_length 				= 1;                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
240
0011a8   6ef3     MOVWF     0xf3,0x0                                                                                        
241
0011aa   0e06     MOVLW     0x6                                                                                             
242
0011ac   cff3     MOVFF     0xff3,0xfdb                                                                                     
243
0011ae   ffdb                                                                                                               
244
0011b0   0e02     MOVLW     0x2            			outCm.data[BOOT_DATA_HEARTBEAT_INDEX] = HEARTBEAT_ALIVE;                      F:\MCP\projects\CAN\canNode\Source\Main.c
245
0011b2   6ef3     MOVWF     0xf3,0x0                                                                                        
246
0011b4   0e07     MOVLW     0x7                                                                                             
247
0011b6   cff3     MOVFF     0xff3,0xfdb                                                                                     
248
0011b8   ffdb                                                                                                               
249
0011ba   0e02     MOVLW     0x2            			while(!canSendMessage(outCm,PRIO_HIGH));                                      F:\MCP\projects\CAN\canNode\Source\Main.c
250
0011bc   6ee6     MOVWF     0xe6,0x0                                                                                        
251
0011be   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
252
0011c0   ffe9                                                                                                               
253
0011c2   cfda     MOVFF     0xfda,0xfea                                                                                     
254
0011c4   ffea                                                                                                               
255
0011c6   cfee     MOVFF     0xfee,0xfe6                                                                                     
256
0011c8   ffe6                                                                                                               
257
0011ca   cfee     MOVFF     0xfee,0xfe6                                                                                     
258
0011cc   ffe6                                                                                                               
259
0011ce   cfee     MOVFF     0xfee,0xfe6                                                                                     
260
0011d0   ffe6                                                                                                               
261
0011d2   cfee     MOVFF     0xfee,0xfe6                                                                                     
262
0011d4   ffe6                                                                                                               
263
0011d6   cfee     MOVFF     0xfee,0xfe6                                                                                     
264
0011d8   ffe6                                                                                                               
265
0011da   cfee     MOVFF     0xfee,0xfe6                                                                                     
266
0011dc   ffe6                                                                                                               
267
0011de   cfee     MOVFF     0xfee,0xfe6                                                                                     
268
0011e0   ffe6                                                                                                               
269
0011e2   cfee     MOVFF     0xfee,0xfe6                                                                                     
270
0011e4   ffe6                                                                                                               
271
0011e6   cfee     MOVFF     0xfee,0xfe6                                                                                     
272
0011e8   ffe6                                                                                                               
273
0011ea   cfee     MOVFF     0xfee,0xfe6                                                                                     
274
0011ec   ffe6                                                                                                               
275
0011ee   cfee     MOVFF     0xfee,0xfe6                                                                                     
276
0011f0   ffe6                                                                                                               
277
0011f2   cfee     MOVFF     0xfee,0xfe6                                                                                     
278
0011f4   ffe6                                                                                                               
279
0011f6   cfee     MOVFF     0xfee,0xfe6                                                                                     
280
0011f8   ffe6                                                                                                               
281
0011fa   cfee     MOVFF     0xfee,0xfe6                                                                                     
282
0011fc   ffe6                                                                                                               
283
0011fe   cfee     MOVFF     0xfee,0xfe6                                                                                     
284
001200   ffe6                                                                                                               
285
001202   ec7c     CALL      0x16f8,0x0                                                                                      
286
001204   f00b                                                                                                               
287
001206   6e00     MOVWF     0x0,0x0                                                                                         
288
001208   0e10     MOVLW     0x10                                                                                            
289
00120a   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
290
00120c   5000     MOVF      0x0,0x0,0x0                                                                                     
291
00120e   0900     IORLW     0x0                                                                                             
292
001210   e101     BNZ       0x1214                                                                                          
293
001212   d7d3     BRA       0x11ba                                                                                          
294
                                           			                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
295
001214   ecfb     CALL      0x19f6,0x0     			heartbeat = tickGet();                                                        F:\MCP\projects\CAN\canNode\Source\Main.c
296
001216   f00c                                                                                                               
297
001218   c012     MOVFF     0x12,0x6b                                                                                       
298
00121a   f06b                                                                                                               
299
00121c   c013     MOVFF     0x13,0x6c                                                                                       
300
00121e   f06c                                                                                                               
301
001220   c014     MOVFF     0x14,0x6d                                                                                       
302
001222   f06d                                                                                                               
303
001224   c015     MOVFF     0x15,0x6e                                                                                       
304
001226   f06e                                                                                                               
305
                                           		}                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
306
001228   ecfb     CALL      0x19f6,0x0     		if ((tickGet()-t)>TICK_SECOND)                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
307
00122a   f00c                                                                                                               
308
00122c   0100     MOVLB     0x0                                                                                             
309
00122e   5167     MOVF      0x67,0x0,0x1                                                                                    
310
001230   5c12     SUBWF     0x12,0x0,0x0                                                                                    
311
001232   6e00     MOVWF     0x0,0x0                                                                                         
312
001234   5168     MOVF      0x68,0x0,0x1                                                                                    
313
001236   5813     SUBWFB    0x13,0x0,0x0                                                                                    
314
001238   6e01     MOVWF     0x1,0x0                                                                                         
315
00123a   5169     MOVF      0x69,0x0,0x1                                                                                    
316
00123c   5814     SUBWFB    0x14,0x0,0x0                                                                                    
317
00123e   6e02     MOVWF     0x2,0x0                                                                                         
318
001240   516a     MOVF      0x6a,0x0,0x1                                                                                    
319
001242   5815     SUBWFB    0x15,0x0,0x0                                                                                    
320
001244   6e03     MOVWF     0x3,0x0                                                                                         
321
001246   80d8     BSF       0xd8,0x0,0x0                                                                                    
322
001248   0e64     MOVLW     0x64                                                                                            
323
00124a   5400     SUBFWB    0x0,0x0,0x0                                                                                     
324
00124c   0e00     MOVLW     0x0                                                                                             
325
00124e   5401     SUBFWB    0x1,0x0,0x0                                                                                     
326
001250   0e00     MOVLW     0x0                                                                                             
327
001252   5402     SUBFWB    0x2,0x0,0x0                                                                                     
328
001254   0e00     MOVLW     0x0                                                                                             
329
001256   5403     SUBFWB    0x3,0x0,0x0                                                                                     
330
001258   e20b     BC        0x1270                                                                                          
331
                                           		{                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
332
00125a   7282     BTG       0x82,0x1,0x0   			LED0_IO=~LED0_IO;                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
333
00125c   ecfb     CALL      0x19f6,0x0     			t = tickGet();                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
334
00125e   f00c                                                                                                               
335
001260   c012     MOVFF     0x12,0x67                                                                                       
336
001262   f067                                                                                                               
337
001264   c013     MOVFF     0x13,0x68                                                                                       
338
001266   f068                                                                                                               
339
001268   c014     MOVFF     0x14,0x69                                                                                       
340
00126a   f069                                                                                                               
341
00126c   c015     MOVFF     0x15,0x6a                                                                                       
342
00126e   f06a                                                                                                               
343
                                           		}                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
344
                                           	}                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
345
001272   0e0f     MOVLW     0xf            }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
346
001274   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
347
001276   e202     BC        0x127c                                                                                          
348
001278   6ae1     CLRF      0xe1,0x0                                                                                        
349
00127a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
350
00127c   6ee1     MOVWF     0xe1,0x0                                                                                        
351
00127e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
352
001280   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
353
001282   ffd9                                                                                                               
354
001284   0012     RETURN    0x0                                                                                             
355
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
356
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
357
                                           #pragma interrupt high_isr                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
358
001286   cfda     MOVFF     0xfda,0xfe4    void high_isr(void)                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
359
001288   ffe4                                                                                                               
360
00128a   cfe2     MOVFF     0xfe2,0xfda                                                                                     
361
00128c   ffda                                                                                                               
362
00128e   cfe9     MOVFF     0xfe9,0xfe4                                                                                     
363
001290   ffe4                                                                                                               
364
001292   cfea     MOVFF     0xfea,0xfe4                                                                                     
365
001294   ffe4                                                                                                               
366
001296   cff6     MOVFF     0xff6,0xfe4                                                                                     
367
001298   ffe4                                                                                                               
368
00129a   cff7     MOVFF     0xff7,0xfe4                                                                                     
369
00129c   ffe4                                                                                                               
370
00129e   cff5     MOVFF     0xff5,0xfe4                                                                                     
371
0012a0   ffe4                                                                                                               
372
0012a2   cff3     MOVFF     0xff3,0xfe4                                                                                     
373
0012a4   ffe4                                                                                                               
374
0012a6   cff4     MOVFF     0xff4,0xfe4                                                                                     
375
0012a8   ffe4                                                                                                               
376
0012aa   cffa     MOVFF     0xffa,0xfe4                                                                                     
377
0012ac   ffe4                                                                                                               
378
0012ae   ee00     LFSR      0x0,0xe                                                                                         
379
0012b0   f00e                                                                                                               
380
0012b2   0e0b     MOVLW     0xb                                                                                             
381
0012b4   04e8     DECF      0xe8,0x0,0x0                                                                                    
382
0012b6   e303     BNC       0x12be                                                                                          
383
0012b8   cfee     MOVFF     0xfee,0xfe4                                                                                     
384
0012ba   ffe4                                                                                                               
385
0012bc   d7fb     BRA       0x12b4                                                                                          
386
0012be   ee00     LFSR      0x0,0x0                                                                                         
387
0012c0   f000                                                                                                               
388
0012c2   0e0e     MOVLW     0xe                                                                                             
389
0012c4   04e8     DECF      0xe8,0x0,0x0                                                                                    
390
0012c6   e303     BNC       0x12ce                                                                                          
391
0012c8   cfee     MOVFF     0xfee,0xfe4                                                                                     
392
0012ca   ffe4                                                                                                               
393
0012cc   d7fb     BRA       0x12c4                                                                                          
394
0012ce   52e6     MOVF      0xe6,0x1,0x0                                                                                    
395
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
396
0012d0   0004     CLRWDT                   	ClrWdt();                                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
397
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
398
                                           	#ifdef USE_CAN                                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
399
0012d2   ec91     CALL      0x1522,0x0     		canISR();                                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
400
0012d4   f00a                                                                                                               
401
                                           	#endif                                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
402
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
403
0012d6   ec05     CALL      0x1a0a,0x0     	tickUpdate();                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
404
0012d8   f00d                                                                                                               
405
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
406
0012da   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
407
0012dc   ee00     LFSR      0x0,0xd                                                                                         
408
0012de   f00d                                                                                                               
409
0012e0   0e0e     MOVLW     0xe                                                                                             
410
0012e2   04e8     DECF      0xe8,0x0,0x0                                                                                    
411
0012e4   e303     BNC       0x12ec                                                                                          
412
0012e6   cfe5     MOVFF     0xfe5,0xfed                                                                                     
413
0012e8   ffed                                                                                                               
414
0012ea   d7fb     BRA       0x12e2                                                                                          
415
0012ec   ee00     LFSR      0x0,0x18                                                                                        
416
0012ee   f018                                                                                                               
417
0012f0   0e0b     MOVLW     0xb                                                                                             
418
0012f2   04e8     DECF      0xe8,0x0,0x0                                                                                    
419
0012f4   e303     BNC       0x12fc                                                                                          
420
0012f6   cfe5     MOVFF     0xfe5,0xfed                                                                                     
421
0012f8   ffed                                                                                                               
422
0012fa   d7fb     BRA       0x12f2                                                                                          
423
0012fc   cfe5     MOVFF     0xfe5,0xffa                                                                                     
424
0012fe   fffa                                                                                                               
425
001300   cfe5     MOVFF     0xfe5,0xff4                                                                                     
426
001302   fff4                                                                                                               
427
001304   cfe5     MOVFF     0xfe5,0xff3                                                                                     
428
001306   fff3                                                                                                               
429
001308   cfe5     MOVFF     0xfe5,0xff5                                                                                     
430
00130a   fff5                                                                                                               
431
00130c   cfe5     MOVFF     0xfe5,0xff7                                                                                     
432
00130e   fff7                                                                                                               
433
001310   cfe5     MOVFF     0xfe5,0xff6                                                                                     
434
001312   fff6                                                                                                               
435
001314   cfe5     MOVFF     0xfe5,0xfea                                                                                     
436
001316   ffea                                                                                                               
437
001318   cfe5     MOVFF     0xfe5,0xfe9                                                                                     
438
00131a   ffe9                                                                                                               
439
00131c   cfe5     MOVFF     0xfe5,0xfda                                                                                     
440
00131e   ffda                                                                                                               
441
001320   0011     RETFIE    0x1                                                                                             
442
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
443
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
444
                                           #pragma interrupt low_isr                                                        F:\MCP\projects\CAN\canNode\Source\Main.c
445
001322   cfda     MOVFF     0xfda,0xfe4    void low_isr(void)                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
446
001324   ffe4                                                                                                               
447
001326   cfe2     MOVFF     0xfe2,0xfda                                                                                     
448
001328   ffda                                                                                                               
449
00132a   52e6     MOVF      0xe6,0x1,0x0                                                                                    
450
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
451
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
452
00132c   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
453
00132e   cfe5     MOVFF     0xfe5,0xfda                                                                                     
454
001330   ffda                                                                                                               
455
001332   0011     RETFIE    0x1                                                                                             
456
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
457
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
458
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
459
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
460
                                           *	Function: mainInit                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
461
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
462
                                           *	Input:	none                                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
463
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
464
                                           *	Pre-conditions: none                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
465
                                           *	Affects: Se code                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
466
                                           *	Depends: none.                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
467
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
468
                                           void mainInit()                                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
469
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
470
001334   9294     BCF       0x94,0x1,0x0   	LED0_TRIS=0;	                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
471
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
472
                                           	// Enable Interrupts                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
473
001336   8ef2     BSF       0xf2,0x7,0x0       INTCONbits.GIEH = 1;                                                         F:\MCP\projects\CAN\canNode\Source\Main.c
474
001338   8cf2     BSF       0xf2,0x6,0x0       INTCONbits.GIEL = 1;                                                         F:\MCP\projects\CAN\canNode\Source\Main.c
475
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
476
                                           	// Enable interrupt prirority                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
477
00133a   8ed0     BSF       0xd0,0x7,0x0   	RCONbits.IPEN=1;                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
478
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
479
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
480
00133c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
481
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
482
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
483
                                           *	Function: canParse                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
484
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
485
                                           *	Input:	Received can message                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
486
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
487
                                           *	Pre-conditions: canInit and received packet.                                   F:\MCP\projects\CAN\canNode\Source\Main.c
488
                                           *	Affects: Sensors/actuators/etc. See code.                                      F:\MCP\projects\CAN\canNode\Source\Main.c
489
                                           *	Depends: none.                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
490
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
491
                                           #ifdef USE_CAN                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
492
00133e   cfd9     MOVFF     0xfd9,0xfe6    void canParse(CAN_MESSAGE cm)                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
493
001340   ffe6                                                                                                               
494
001342   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
495
001344   ffd9                                                                                                               
496
001346   0e0f     MOVLW     0xf                                                                                             
497
001348   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
498
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
499
                                           	CAN_MESSAGE outCm;                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
500
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
501
00134a   0004     CLRWDT                   	ClrWdt();                                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
502
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
503
00134c   0ef0     MOVLW     0xf0           	switch(cm.funct)                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
504
00134e   50db     MOVF      0xdb,0x0,0x0                                                                                    
505
001350   e001     BZ        0x1354                                                                                          
506
001352   d0b2     BRA       0x14b8                                                                                          
507
                                           	{                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
508
                                           		case FUNCT_BOOTLOADER:                                                         F:\MCP\projects\CAN\canNode\Source\Main.c
509
001354   0ef3     MOVLW     0xf3           			if (cm.nid==MY_NID && ((((unsigned int)cm.data[BOOT_DATA_RID_HIGH_INDEX])<<8)+cm.data[BOOT_DATA_RID_LOW_INDEX])==MY_ID)  F:\MCP\projects\CAN\canNode\Source\Main.c
510
001356   50db     MOVF      0xdb,0x0,0x0                                                                                    
511
001358   0100     MOVLB     0x0                                                                                             
512
00135a   5d62     SUBWF     0x62,0x0,0x1                                                                                    
513
00135c   e001     BZ        0x1360                                                                                          
514
00135e   d0ab     BRA       0x14b6                                                                                          
515
001360   0efc     MOVLW     0xfc                                                                                            
516
001362   cfdb     MOVFF     0xfdb,0x2                                                                                       
517
001364   f002                                                                                                               
518
001366   c002     MOVFF     0x2,0x3                                                                                         
519
001368   f003                                                                                                               
520
00136a   6a02     CLRF      0x2,0x0                                                                                         
521
00136c   0efb     MOVLW     0xfb                                                                                            
522
00136e   50db     MOVF      0xdb,0x0,0x0                                                                                    
523
001370   0100     MOVLB     0x0                                                                                             
524
001372   2402     ADDWF     0x2,0x0,0x0                                                                                     
525
001374   6e00     MOVWF     0x0,0x0                                                                                         
526
001376   0e00     MOVLW     0x0                                                                                             
527
001378   2003     ADDWFC    0x3,0x0,0x0                                                                                     
528
00137a   6e01     MOVWF     0x1,0x0                                                                                         
529
00137c   0100     MOVLB     0x0                                                                                             
530
00137e   5160     MOVF      0x60,0x0,0x1                                                                                    
531
001380   1800     XORWF     0x0,0x0,0x0                                                                                     
532
001382   e102     BNZ       0x1388                                                                                          
533
001384   5161     MOVF      0x61,0x0,0x1                                                                                    
534
001386   1801     XORWF     0x1,0x0,0x0                                                                                     
535
001388   e001     BZ        0x138c                                                                                          
536
00138a   d095     BRA       0x14b6                                                                                          
537
                                           			{                                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
538
00138c   0ef1     MOVLW     0xf1           				switch(cm.funcc)                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
539
00138e   cfdb     MOVFF     0xfdb,0x14                                                                                      
540
001390   f014                                                                                                               
541
001392   0ef2     MOVLW     0xf2                                                                                            
542
001394   cfdb     MOVFF     0xfdb,0x15                                                                                      
543
001396   f015                                                                                                               
544
001398   0e06     MOVLW     0x6                                                                                             
545
00139a   1814     XORWF     0x14,0x0,0x0                                                                                    
546
00139c   e101     BNZ       0x13a0                                                                                          
547
00139e   5015     MOVF      0x15,0x0,0x0                                                                                    
548
0013a0   e008     BZ        0x13b2                                                                                          
549
0013a2   0e01     MOVLW     0x1                                                                                             
550
0013a4   1814     XORWF     0x14,0x0,0x0                                                                                    
551
0013a6   e101     BNZ       0x13aa                                                                                          
552
0013a8   5015     MOVF      0x15,0x0,0x0                                                                                    
553
0013aa   e001     BZ        0x13ae                                                                                          
554
0013ac   d084     BRA       0x14b6                                                                                          
555
                                           				{                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
556
0013ae   00ff     RESET                    					case FUNCC_BOOT_INIT: Reset(); break; //User whant to program me, reset me. F:\MCP\projects\CAN\canNode\Source\Main.c
557
0013b0   d082     BRA       0x14b6                                                                                          
558
                                           					case FUNCC_BOOT_SET_ID:                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
559
                                           						// Change my ID and NID                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
560
0013b2   0ef8     MOVLW     0xf8           						MY_ID=(((WORD)cm.data[BOOT_DATA_NEW_ID_HIGH_INDEX])<<8)+cm.data[BOOT_DATA_NEW_ID_LOW_INDEX]; F:\MCP\projects\CAN\canNode\Source\Main.c
561
0013b4   cfdb     MOVFF     0xfdb,0x0                                                                                       
562
0013b6   f000                                                                                                               
563
0013b8   c000     MOVFF     0x0,0x1                                                                                         
564
0013ba   f001                                                                                                               
565
0013bc   6a00     CLRF      0x0,0x0                                                                                         
566
0013be   0ef7     MOVLW     0xf7                                                                                            
567
0013c0   50db     MOVF      0xdb,0x0,0x0                                                                                    
568
0013c2   0100     MOVLB     0x0                                                                                             
569
0013c4   2400     ADDWF     0x0,0x0,0x0                                                                                     
570
0013c6   6f60     MOVWF     0x60,0x1                                                                                        
571
0013c8   0e00     MOVLW     0x0                                                                                             
572
0013ca   2001     ADDWFC    0x1,0x0,0x0                                                                                     
573
0013cc   6f61     MOVWF     0x61,0x1                                                                                        
574
0013ce   0ef9     MOVLW     0xf9           						MY_NID=cm.data[BOOT_DATA_NEW_NID_INDEX];                                   F:\MCP\projects\CAN\canNode\Source\Main.c
575
0013d0   cfdb     MOVFF     0xfdb,0x62                                                                                      
576
0013d2   f062                                                                                                               
577
0013d4   0ef8     MOVLW     0xf8           						EEWrite(NODE_ID_EE+1,cm.data[BOOT_DATA_NEW_ID_HIGH_INDEX]);                F:\MCP\projects\CAN\canNode\Source\Main.c
578
0013d6   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
579
0013d8   ffe6                                                                                                               
580
0013da   0e01     MOVLW     0x1                                                                                             
581
0013dc   6ee6     MOVWF     0xe6,0x0                                                                                        
582
0013de   6ae6     CLRF      0xe6,0x0                                                                                        
583
0013e0   ec71     CALL      0x18e2,0x0                                                                                      
584
0013e2   f00c                                                                                                               
585
0013e4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
586
0013e6   52e5     MOVF      0xe5,0x1,0x0                                                                                    
587
0013e8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
588
0013ea   0ef7     MOVLW     0xf7           						EEWrite(NODE_ID_EE+2,cm.data[BOOT_DATA_NEW_ID_LOW_INDEX]);                 F:\MCP\projects\CAN\canNode\Source\Main.c
589
0013ec   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
590
0013ee   ffe6                                                                                                               
591
0013f0   0e02     MOVLW     0x2                                                                                             
592
0013f2   6ee6     MOVWF     0xe6,0x0                                                                                        
593
0013f4   6ae6     CLRF      0xe6,0x0                                                                                        
594
0013f6   ec71     CALL      0x18e2,0x0                                                                                      
595
0013f8   f00c                                                                                                               
596
0013fa   52e5     MOVF      0xe5,0x1,0x0                                                                                    
597
0013fc   52e5     MOVF      0xe5,0x1,0x0                                                                                    
598
0013fe   52e5     MOVF      0xe5,0x1,0x0                                                                                    
599
001400   0ef9     MOVLW     0xf9           						EEWrite(NODE_ID_EE+3,cm.data[BOOT_DATA_NEW_NID_INDEX]);                    F:\MCP\projects\CAN\canNode\Source\Main.c
600
001402   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
601
001404   ffe6                                                                                                               
602
001406   0e03     MOVLW     0x3                                                                                             
603
001408   6ee6     MOVWF     0xe6,0x0                                                                                        
604
00140a   6ae6     CLRF      0xe6,0x0                                                                                        
605
00140c   ec71     CALL      0x18e2,0x0                                                                                      
606
00140e   f00c                                                                                                               
607
001410   52e5     MOVF      0xe5,0x1,0x0                                                                                    
608
001412   52e5     MOVF      0xe5,0x1,0x0                                                                                    
609
001414   52e5     MOVF      0xe5,0x1,0x0                                                                                    
610
001416   0e2a     MOVLW     0x2a           						EEWrite(NODE_ID_EE,NODE_HAS_ID);                                           F:\MCP\projects\CAN\canNode\Source\Main.c
611
001418   6ee6     MOVWF     0xe6,0x0                                                                                        
612
00141a   0e00     MOVLW     0x0                                                                                             
613
00141c   6ee6     MOVWF     0xe6,0x0                                                                                        
614
00141e   6ae6     CLRF      0xe6,0x0                                                                                        
615
001420   ec71     CALL      0x18e2,0x0                                                                                      
616
001422   f00c                                                                                                               
617
001424   52e5     MOVF      0xe5,0x1,0x0                                                                                    
618
001426   52e5     MOVF      0xe5,0x1,0x0                                                                                    
619
001428   52e5     MOVF      0xe5,0x1,0x0                                                                                    
620
                                           						// Send ack with new id.                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
621
00142a   6adf     CLRF      0xdf,0x0       						outCm.funct 					= FUNCT_BOOTLOADER;                                       F:\MCP\projects\CAN\canNode\Source\Main.c
622
00142c   0e04     MOVLW     0x4            						outCm.funcc 					= FUNCC_BOOT_ACK;                                         F:\MCP\projects\CAN\canNode\Source\Main.c
623
00142e   6ef3     MOVWF     0xf3,0x0                                                                                        
624
001430   0e01     MOVLW     0x1                                                                                             
625
001432   cff3     MOVFF     0xff3,0xfdb                                                                                     
626
001434   ffdb                                                                                                               
627
001436   0e02     MOVLW     0x2                                                                                             
628
001438   6adb     CLRF      0xdb,0x0                                                                                        
629
00143a   0e03     MOVLW     0x3            						outCm.nid   					= MY_NID;                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
630
00143c   c062     MOVFF     0x62,0xfdb                                                                                      
631
00143e   ffdb                                                                                                               
632
001440   0e04     MOVLW     0x4            						outCm.sid   					= MY_ID;                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
633
001442   c060     MOVFF     0x60,0xfdb                                                                                      
634
001444   ffdb                                                                                                               
635
001446   0e05     MOVLW     0x5                                                                                             
636
001448   c061     MOVFF     0x61,0xfdb                                                                                      
637
00144a   ffdb                                                                                                               
638
00144c   0e08     MOVLW     0x8            						outCm.data_length 				= 8;                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
639
00144e   6ef3     MOVWF     0xf3,0x0                                                                                        
640
001450   0e06     MOVLW     0x6                                                                                             
641
001452   cff3     MOVFF     0xff3,0xfdb                                                                                     
642
001454   ffdb                                                                                                               
643
001456   0e0b     MOVLW     0xb            						outCm.data[BOOT_DATA_ERR_INDEX]	= ACK_ERR_NO_ERROR;                        F:\MCP\projects\CAN\canNode\Source\Main.c
644
001458   6adb     CLRF      0xdb,0x0                                                                                        
645
00145a   0e02     MOVLW     0x2            						while(!canSendMessage(outCm,PRIO_HIGH));                                   F:\MCP\projects\CAN\canNode\Source\Main.c
646
00145c   6ee6     MOVWF     0xe6,0x0                                                                                        
647
00145e   cfd9     MOVFF     0xfd9,0xfe9                                                                                     
648
001460   ffe9                                                                                                               
649
001462   cfda     MOVFF     0xfda,0xfea                                                                                     
650
001464   ffea                                                                                                               
651
001466   cfee     MOVFF     0xfee,0xfe6                                                                                     
652
001468   ffe6                                                                                                               
653
00146a   cfee     MOVFF     0xfee,0xfe6                                                                                     
654
00146c   ffe6                                                                                                               
655
00146e   cfee     MOVFF     0xfee,0xfe6                                                                                     
656
001470   ffe6                                                                                                               
657
001472   cfee     MOVFF     0xfee,0xfe6                                                                                     
658
001474   ffe6                                                                                                               
659
001476   cfee     MOVFF     0xfee,0xfe6                                                                                     
660
001478   ffe6                                                                                                               
661
00147a   cfee     MOVFF     0xfee,0xfe6                                                                                     
662
00147c   ffe6                                                                                                               
663
00147e   cfee     MOVFF     0xfee,0xfe6                                                                                     
664
001480   ffe6                                                                                                               
665
001482   cfee     MOVFF     0xfee,0xfe6                                                                                     
666
001484   ffe6                                                                                                               
667
001486   cfee     MOVFF     0xfee,0xfe6                                                                                     
668
001488   ffe6                                                                                                               
669
00148a   cfee     MOVFF     0xfee,0xfe6                                                                                     
670
00148c   ffe6                                                                                                               
671
00148e   cfee     MOVFF     0xfee,0xfe6                                                                                     
672
001490   ffe6                                                                                                               
673
001492   cfee     MOVFF     0xfee,0xfe6                                                                                     
674
001494   ffe6                                                                                                               
675
001496   cfee     MOVFF     0xfee,0xfe6                                                                                     
676
001498   ffe6                                                                                                               
677
00149a   cfee     MOVFF     0xfee,0xfe6                                                                                     
678
00149c   ffe6                                                                                                               
679
00149e   cfee     MOVFF     0xfee,0xfe6                                                                                     
680
0014a0   ffe6                                                                                                               
681
0014a2   ec7c     CALL      0x16f8,0x0                                                                                      
682
0014a4   f00b                                                                                                               
683
0014a6   6e00     MOVWF     0x0,0x0                                                                                         
684
0014a8   0e10     MOVLW     0x10                                                                                            
685
0014aa   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
686
0014ac   5000     MOVF      0x0,0x0,0x0                                                                                     
687
0014ae   0900     IORLW     0x0                                                                                             
688
0014b0   e101     BNZ       0x14b4                                                                                          
689
0014b2   d7d3     BRA       0x145a                                                                                          
690
0014b4   d000     BRA       0x14b6         					break;                                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
691
                                           				}                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
692
                                           			}                                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
693
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
694
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
695
0014b6   d000     BRA       0x14b8         		break;                                                                         F:\MCP\projects\CAN\canNode\Source\Main.c
696
                                           	}                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
697
0014b8   0e0f     MOVLW     0xf            }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
698
0014ba   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
699
0014bc   e202     BC        0x14c2                                                                                          
700
0014be   6ae1     CLRF      0xe1,0x0                                                                                        
701
0014c0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
702
0014c2   6ee1     MOVWF     0xe1,0x0                                                                                        
703
0014c4   52e5     MOVF      0xe5,0x1,0x0                                                                                    
704
0014c6   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
705
0014c8   ffd9                                                                                                               
706
0014ca   0012     RETURN    0x0                                                                                             
707
                                           #endif                                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
708
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
709
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
710
                                           // Below are mandantory when using bootloader                                    F:\MCP\projects\CAN\canNode\Source\Main.c
711
                                           // define DEBUG_MODE to use without bootloader.                                  F:\MCP\projects\CAN\canNode\Source\Main.c
712
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
713
                                           #ifndef DEBUG_MODE                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
714
                                           extern void _startup (void);                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
715
                                           #pragma code _RESET_INTERRUPT_VECTOR = 0x001000                                  F:\MCP\projects\CAN\canNode\Source\Main.c
716
                                           void _reset (void)                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
717
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
718
001000   ef13     GOTO      0x1a26             _asm goto _startup _endasm                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
719
001002   f00d                                                                                                               
720
001004   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
721
                                           #pragma code                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
722
                                           #endif                                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
723
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
724
                                           #pragma code _HIGH_INTERRUPT_VECTOR = 0x001008                                   F:\MCP\projects\CAN\canNode\Source\Main.c
725
                                           void _high_ISR (void)                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
726
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
727
001008   ef43     GOTO      0x1286         	_asm GOTO high_isr _endasm                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
728
00100a   f009                                                                                                               
729
00100c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
730
                                           #pragma code                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
731
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
732
                                           #pragma code _LOW_INTERRUPT_VECTOR = 0x001018                                    F:\MCP\projects\CAN\canNode\Source\Main.c
733
                                           void _low_ISR (void)                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
734
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
735
001018   ef91     GOTO      0x1322             _asm GOTO low_isr _endasm                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
736
00101a   f009                                                                                                               
737
00101c   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
738
                                           #pragma code                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
739
                                           /*********************************************************************           F:\MCP\projects\CAN\canBase\Source\Tick.c
740
                                            *                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
741
                                            *                  Ticker module service                                        F:\MCP\projects\CAN\canBase\Source\Tick.c
742
                                            *                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
743
                                            *********************************************************************           F:\MCP\projects\CAN\canBase\Source\Tick.c
744
                                            * FileName:        $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canBase/Source/Tick.c $ F:\MCP\projects\CAN\canBase\Source\Tick.c
745
                                            * Last changed:	$LastChangedDate: 2006-11-14 10:55:38 +0100 (ti, 14 nov 2006) $ F:\MCP\projects\CAN\canBase\Source\Tick.c
746
                                            * By:				$LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
747
                                            * Revision:		$Revision: 86 $                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
748
                                            ********************************************************************/           F:\MCP\projects\CAN\canBase\Source\Tick.c
749
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
750
                                           #define TICK_INCLUDE                                                             F:\MCP\projects\CAN\canBase\Source\Tick.c
751
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
752
                                           #include <Tick.h>                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
753
                                           #include <Compiler.h>                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
754
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
755
                                           #define TICK_TEMP_VALUE_1 ((INSTR_FREQ) / (TICKS_PER_SECOND * TICK_PRESCALE_VALUE)) F:\MCP\projects\CAN\canBase\Source\Tick.c
756
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
757
                                           #if TICK_TEMP_VALUE_1 > 60000                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
758
                                           #error TICK_PER_SECOND value cannot be programmed with current CLOCK_FREQ        F:\MCP\projects\CAN\canBase\Source\Tick.c
759
                                           #error Either lower TICK_PER_SECOND or manually configure the Timer              F:\MCP\projects\CAN\canBase\Source\Tick.c
760
                                           #endif                                                                           F:\MCP\projects\CAN\canBase\Source\Tick.c
761
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
762
                                           #define TICK_TEMP_VALUE         (65535 - TICK_TEMP_VALUE_1)                      F:\MCP\projects\CAN\canBase\Source\Tick.c
763
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
764
                                           #define TICK_COUNTER_HIGH       ((TICK_TEMP_VALUE >> 8) & 0xff)                  F:\MCP\projects\CAN\canBase\Source\Tick.c
765
                                           #define TICK_COUNTER_LOW        (TICK_TEMP_VALUE & 0xff)                         F:\MCP\projects\CAN\canBase\Source\Tick.c
766
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
767
                                           #if (TICK_PRESCALE_VALUE == 2)                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
768
                                               #define TIMER_PRESCALE  (0)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
769
                                           #elif ( TICK_PRESCALE_VALUE == 4 )                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
770
                                               #define TIMER_PRESCALE  (1)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
771
                                           #elif ( TICK_PRESCALE_VALUE == 8 )                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
772
                                               #define TIMER_PRESCALE  (2)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
773
                                           #elif ( TICK_PRESCALE_VALUE == 16 )                                              F:\MCP\projects\CAN\canBase\Source\Tick.c
774
                                               #define TIMER_PRESCALE  (3)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
775
                                           #elif ( TICK_PRESCALE_VALUE == 32 )                                              F:\MCP\projects\CAN\canBase\Source\Tick.c
776
                                               #define TIMER_PRESCALE  (4)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
777
                                           #elif ( TICK_PRESCALE_VALUE == 64 )                                              F:\MCP\projects\CAN\canBase\Source\Tick.c
778
                                               #define TIMER_PRESCALE  (5)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
779
                                           #elif ( TICK_PRESCALE_VALUE == 128 )                                             F:\MCP\projects\CAN\canBase\Source\Tick.c
780
                                               #define TIMER_PRESCALE  (6)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
781
                                           #elif ( TICK_PRESCALE_VALUE == 256 )                                             F:\MCP\projects\CAN\canBase\Source\Tick.c
782
                                               #define TIMER_PRESCALE  (7)                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
783
                                           #else                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
784
                                               #error Invalid TICK_PRESCALE_VALUE specified.                                F:\MCP\projects\CAN\canBase\Source\Tick.c
785
                                           #endif                                                                           F:\MCP\projects\CAN\canBase\Source\Tick.c
786
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
787
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
788
                                           TICK TickCount = 0;	// 10ms/unit                                                 F:\MCP\projects\CAN\canBase\Source\Tick.c
789
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
790
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
791
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
792
                                           /*                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
793
                                           *	Function: TickInit                                                             F:\MCP\projects\CAN\canBase\Source\Tick.c
794
                                           *                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
795
                                           *	Input:	none                                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
796
                                           *	Output: Tick manager is initialized.                                           F:\MCP\projects\CAN\canBase\Source\Tick.c
797
                                           *	Pre-conditions: TickInit                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
798
                                           *	Affects: none                                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
799
                                           *	Depends: none                                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
800
                                           */                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
801
                                           #define PERIOD (INSTR_FREQ/256/1000)*TICK_PERIOD_MS                              F:\MCP\projects\CAN\canBase\Source\Tick.c
802
                                           void tickInit(void)                                                              F:\MCP\projects\CAN\canBase\Source\Tick.c
803
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
804
                                               // Start the timer.                                                          F:\MCP\projects\CAN\canBase\Source\Tick.c
805
0019e2   0e79     MOVLW     0x79               TMR0L = TICK_COUNTER_LOW;                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
806
0019e4   6ed6     MOVWF     0xd6,0x0                                                                                        
807
0019e6   0efe     MOVLW     0xfe               TMR0H = TICK_COUNTER_HIGH;                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
808
0019e8   6ed7     MOVWF     0xd7,0x0                                                                                        
809
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
810
                                               // 16-BIT, internal timer, PSA set to 1:256                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
811
0019ea   0e07     MOVLW     0x7                T0CON = 0b00000000 | TIMER_PRESCALE;                                         F:\MCP\projects\CAN\canBase\Source\Tick.c
812
0019ec   6ed5     MOVWF     0xd5,0x0                                                                                        
813
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
814
                                               // Start the timer.                                                          F:\MCP\projects\CAN\canBase\Source\Tick.c
815
0019ee   8ed5     BSF       0xd5,0x7,0x0       T0CONbits.TMR0ON = 1;                                                        F:\MCP\projects\CAN\canBase\Source\Tick.c
816
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
817
0019f0   84f2     BSF       0xf2,0x2,0x0       INTCONbits.TMR0IF = 1;                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
818
0019f2   8af2     BSF       0xf2,0x5,0x0       INTCONbits.TMR0IE = 1;                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
819
0019f4   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
820
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
821
                                           /*                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
822
                                           *	Function: TickGet                                                              F:\MCP\projects\CAN\canBase\Source\Tick.c
823
                                           *                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
824
                                           *	Input:	none                                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
825
                                           *	Output: Current tick value is given, 1 tick represents approximately 10ms      F:\MCP\projects\CAN\canBase\Source\Tick.c
826
                                           *	Pre-conditions: TickInit                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
827
                                           *	Affects: none                                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
828
                                           *	Depends: none                                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
829
                                           */                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
830
                                           TICK tickGet(void)                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
831
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
832
0019f6   c079     MOVFF     0x79,0x12          return TickCount;                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
833
0019f8   f012                                                                                                               
834
0019fa   c07a     MOVFF     0x7a,0x13                                                                                       
835
0019fc   f013                                                                                                               
836
0019fe   c07b     MOVFF     0x7b,0x14                                                                                       
837
001a00   f014                                                                                                               
838
001a02   c07c     MOVFF     0x7c,0x15                                                                                       
839
001a04   f015                                                                                                               
840
001a06   d000     BRA       0x1a08                                                                                          
841
001a08   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
842
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
843
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
844
                                           /*                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
845
                                           *	Function: tickUpdate                                                           F:\MCP\projects\CAN\canBase\Source\Tick.c
846
                                           *                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
847
                                           *	Input:	none                                                                    F:\MCP\projects\CAN\canBase\Source\Tick.c
848
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
849
                                           *	Pre-conditions: TickInit                                                       F:\MCP\projects\CAN\canBase\Source\Tick.c
850
                                           *	Affects: none                                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
851
                                           *	Depends: none                                                                  F:\MCP\projects\CAN\canBase\Source\Tick.c
852
                                           */                                                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
853
                                           void tickUpdate(void)                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
854
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
855
001a0a   a4f2     BTFSS     0xf2,0x2,0x0       if(INTCONbits.TMR0IF)                                                        F:\MCP\projects\CAN\canBase\Source\Tick.c
856
001a0c   d00b     BRA       0x1a24                                                                                          
857
                                               {                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
858
001a0e   0efe     MOVLW     0xfe                   TMR0H = TICK_COUNTER_HIGH;                                               F:\MCP\projects\CAN\canBase\Source\Tick.c
859
001a10   6ed7     MOVWF     0xd7,0x0                                                                                        
860
001a12   0e79     MOVLW     0x79                   TMR0L = TICK_COUNTER_LOW;                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
861
001a14   6ed6     MOVWF     0xd6,0x0                                                                                        
862
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
863
001a16   0100     MOVLB     0x0                    TickCount++;                                                             F:\MCP\projects\CAN\canBase\Source\Tick.c
864
001a18   2b79     INCF      0x79,0x1,0x1                                                                                    
865
001a1a   0e00     MOVLW     0x0                                                                                             
866
001a1c   237a     ADDWFC    0x7a,0x1,0x1                                                                                    
867
001a1e   237b     ADDWFC    0x7b,0x1,0x1                                                                                    
868
001a20   237c     ADDWFC    0x7c,0x1,0x1                                                                                    
869
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
870
001a22   94f2     BCF       0xf2,0x2,0x0           INTCONbits.TMR0IF = 0;                                                   F:\MCP\projects\CAN\canBase\Source\Tick.c
871
                                               }                                                                            F:\MCP\projects\CAN\canBase\Source\Tick.c
872
001a24   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBase\Source\Tick.c
873
                                           /*********************************************************************           F:\MCP\projects\CAN\canBase\Source\CAN.c
874
                                            *                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
875
                                            *                  CAN module                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
876
                                            *                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
877
                                            *********************************************************************           F:\MCP\projects\CAN\canBase\Source\CAN.c
878
                                            * FileName:        $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canBase/Source/CAN.c $ F:\MCP\projects\CAN\canBase\Source\CAN.c
879
                                            * Last changed:	$LastChangedDate: 2006-11-14 21:11:28 +0100 (ti, 14 nov 2006) $ F:\MCP\projects\CAN\canBase\Source\CAN.c
880
                                            * By:				$LastChangedBy: johboh $                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
881
                                            * Revision:		$Revision: 95 $                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
882
                                            ********************************************************************/           F:\MCP\projects\CAN\canBase\Source\CAN.c
883
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
884
                                           #include <CANdefs.h>                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
885
                                           #include <stackTasks.h>                                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
886
                                           #include <CAN.h>                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
887
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
888
                                           static void canGetPacket(void);                                                  F:\MCP\projects\CAN\canBase\Source\CAN.c
889
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
890
                                           #ifdef USE_CAN                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
891
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
892
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
893
                                           /*                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
894
                                           *	Function: canInit                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
895
                                           *                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
896
                                           *	Input:	none                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
897
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
898
                                           *	Pre-conditions: none                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
899
                                           *	Affects: Changes can registers.                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
900
                                           *	Depends: none.                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
901
                                           */                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
902
                                           void canInit()                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
903
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
904
0014cc   0e80     MOVLW     0x80           	CANCON = 0x80; //request config mode                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
905
0014ce   6e6f     MOVWF     0x6f,0x0                                                                                        
906
0014d0   0ee0     MOVLW     0xe0           	while ((CANSTAT & 0xE0) != 0x80 ); //wait for config mode request               F:\MCP\projects\CAN\canBase\Source\CAN.c
907
0014d2   146e     ANDWF     0x6e,0x0,0x0                                                                                    
908
0014d4   0880     SUBLW     0x80                                                                                            
909
0014d6   e001     BZ        0x14da                                                                                          
910
0014d8   d7fb     BRA       0x14d0                                                                                          
911
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
912
                                           	// BAUD AND TQS                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
913
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
914
0014da   6a70     CLRF      0x70,0x0       	BRGCON1=0;                                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
915
                                           	                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
916
                                           	// Sync_Seq = 2 x TQ = 1                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
917
0014dc   9e70     BCF       0x70,0x7,0x0   	BRGCON1bits.SJW1=0;                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
918
0014de   8c70     BSF       0x70,0x6,0x0   	BRGCON1bits.SJW0=1;                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
919
                                           	                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
920
                                           	// Setting BRP.                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
921
0014e0   0e04     MOVLW     0x4            	BRGCON1=BRGCON1|CAN_BRP;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
922
0014e2   1070     IORWF     0x70,0x0,0x0                                                                                    
923
0014e4   6e70     MOVWF     0x70,0x0                                                                                        
924
                                           	                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
925
                                           	// Maximum PHEG1                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
926
0014e6   8e71     BSF       0x71,0x7,0x0   	BRGCON2bits.SEG2PHTS = 1;                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
927
                                           	                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
928
                                           	// Phase_Seg1 = 2 x TQ = 1                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
929
0014e8   9a71     BCF       0x71,0x5,0x0   	BRGCON2bits.SEG1PH2 = 0;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
930
0014ea   9871     BCF       0x71,0x4,0x0   	BRGCON2bits.SEG1PH1 = 0;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
931
0014ec   8671     BSF       0x71,0x3,0x0   	BRGCON2bits.SEG1PH0 = 1;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
932
                                           	                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
933
                                           	// Prop_Seq = 2 x TQ = 1                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
934
0014ee   9471     BCF       0x71,0x2,0x0   	BRGCON2bits.PRSEG2 = 0;                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
935
0014f0   9271     BCF       0x71,0x1,0x0   	BRGCON2bits.PRSEG1 = 0;                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
936
0014f2   8071     BSF       0x71,0x0,0x0   	BRGCON2bits.PRSEG0 = 1;                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
937
                                           	                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
938
                                           	//  Enableing bus wake-up                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
939
0014f4   9e72     BCF       0x72,0x7,0x0   	BRGCON3bits.WAKDIS = 0;                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
940
                                           	                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
941
                                           	// Dont use filter when wakeup                                                  F:\MCP\projects\CAN\canBase\Source\CAN.c
942
0014f6   9c72     BCF       0x72,0x6,0x0   	BRGCON3bits.WAKFIL = 0;                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
943
                                           	                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
944
                                           	// Phase_Seg2 = 2 x TQ = 1                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
945
0014f8   9472     BCF       0x72,0x2,0x0   	BRGCON3bits.SEG2PH2 = 0;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
946
0014fa   9272     BCF       0x72,0x1,0x0   	BRGCON3bits.SEG2PH1 = 0;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
947
0014fc   8072     BSF       0x72,0x0,0x0   	BRGCON3bits.SEG2PH0 = 1;                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
948
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
949
0014fe   6a77     CLRF      0x77,0x0       	ECANCON=0;                                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
950
001500   8e77     BSF       0x77,0x7,0x0   	ECANCONbits.MDSEL1 = 1; // 0  For mode 1                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
951
001502   9c77     BCF       0x77,0x6,0x0   	ECANCONbits.MDSEL0 = 0; // 1  For mode 1                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
952
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
953
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
954
                                           	// FILTERS AND MASKS                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
955
001504   8c60     BSF       0x60,0x6,0x0   	RXB0CONbits.RXM1=1;                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
956
001506   9a60     BCF       0x60,0x5,0x0   	RXB0CONbits.RXM0=0;                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
957
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
958
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
959
                                           	// INTERRUPTS                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
960
                                           	                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
961
                                           	// Diable transmit interrupt                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
962
001508   010d     MOVLB     0xd            	TXBIE = 0;                                                                      F:\MCP\projects\CAN\canBase\Source\CAN.c
963
00150a   6bfc     CLRF      0xfc,0x1                                                                                        
964
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
965
                                           	//rx any interrupt                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
966
00150c   6aa4     CLRF      0xa4,0x0       	PIR3 = 0;                                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
967
00150e   0e03     MOVLW     0x3            	PIE3 = 0b00000011;                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
968
001510   6ea3     MOVWF     0xa3,0x0                                                                                        
969
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
970
                                           	// High interrupt                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
971
001512   6ea5     MOVWF     0xa5,0x0       	IPR3 =0b00000011;                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
972
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
973
                                           	// Programmable buffers interrupt                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
974
001514   69fa     SETF      0xfa,0x1       	BIE0  = 0xFF;	                                                                  F:\MCP\projects\CAN\canBase\Source\CAN.c
975
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
976
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
977
                                           	//loopback mode or not                                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
978
                                           	#ifdef CAN_LOOPBACK_MODE                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
979
                                           		CANCON = 0x40;//request loopback mode                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
980
                                           		while ((CANSTAT & 0xE0) != 0x40 );//wait for loopback mode                     F:\MCP\projects\CAN\canBase\Source\CAN.c
981
                                           	#else                                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
982
001516   6a6f     CLRF      0x6f,0x0       		CANCON = 0x00;//request normal mode                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
983
001518   0ee0     MOVLW     0xe0           		while ((CANSTAT & 0xE0) != 0x00 );//wait for normal mode                       F:\MCP\projects\CAN\canBase\Source\CAN.c
984
00151a   146e     ANDWF     0x6e,0x0,0x0                                                                                    
985
00151c   e001     BZ        0x1520                                                                                          
986
00151e   d7fc     BRA       0x1518                                                                                          
987
                                           	#endif                                                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
988
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
989
001520   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
990
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
991
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
992
                                           /*                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
993
                                           *	Function: canISR                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
994
                                           *                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
995
                                           *	Input:	none                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
996
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
997
                                           *	Pre-conditions: a call to canInit()                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
998
                                           *	Affects: interrupt registers and receive data buffers                          F:\MCP\projects\CAN\canBase\Source\CAN.c
999
                                           *	Depends: ..                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
1000
                                           */                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
1001
                                           void canISR()                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
1002
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
1003
001522   50a4     MOVF      0xa4,0x0,0x0   	if (PIR3bits.RXBnIF || PIR3bits.RXB1IF || PIR3bits.RXB0IF)                      F:\MCP\projects\CAN\canBase\Source\CAN.c
1004
001524   0b02     ANDLW     0x2                                                                                             
1005
001526   e106     BNZ       0x1534                                                                                          
1006
001528   50a4     MOVF      0xa4,0x0,0x0                                                                                    
1007
00152a   0b02     ANDLW     0x2                                                                                             
1008
00152c   e103     BNZ       0x1534                                                                                          
1009
00152e   50a4     MOVF      0xa4,0x0,0x0                                                                                    
1010
001530   0b01     ANDLW     0x1                                                                                             
1011
001532   e016     BZ        0x1560                                                                                          
1012
                                           	{                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
1013
001534   0e0f     MOVLW     0xf            		ECANCON=(ECANCON&0b00000)|(0b10000|(CANCON&0x0F));                             F:\MCP\projects\CAN\canBase\Source\CAN.c
1014
001536   146f     ANDWF     0x6f,0x0,0x0                                                                                    
1015
001538   0910     IORLW     0x10                                                                                            
1016
00153a   6e00     MOVWF     0x0,0x0                                                                                         
1017
00153c   0e00     MOVLW     0x0                                                                                             
1018
00153e   1477     ANDWF     0x77,0x0,0x0                                                                                    
1019
001540   1000     IORWF     0x0,0x0,0x0                                                                                     
1020
001542   6e77     MOVWF     0x77,0x0                                                                                        
1021
001544   be60     BTFSC     0x60,0x7,0x0   		if (RXB0CONbits.RXFUL) canGetPacket();                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
1022
001546   d80d     RCALL     0x1562                                                                                          
1023
                                           	                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
1024
001548   a2a4     BTFSS     0xa4,0x1,0x0   		if (PIR3bits.RXBnIF) {PIR3bits.RXBnIF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1025
00154a   d002     BRA       0x1550                                                                                          
1026
00154c   92a4     BCF       0xa4,0x1,0x0                                                                                    
1027
00154e   d008     BRA       0x1560                                                                                          
1028
001550   a2a4     BTFSS     0xa4,0x1,0x0   		if (PIR3bits.RXB1IF) {PIR3bits.RXB1IF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1029
001552   d002     BRA       0x1558                                                                                          
1030
001554   92a4     BCF       0xa4,0x1,0x0                                                                                    
1031
001556   d004     BRA       0x1560                                                                                          
1032
001558   a0a4     BTFSS     0xa4,0x0,0x0   		if (PIR3bits.RXB0IF) {PIR3bits.RXB0IF = 0; return;}                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1033
00155a   d002     BRA       0x1560                                                                                          
1034
00155c   90a4     BCF       0xa4,0x0,0x0                                                                                    
1035
00155e   d000     BRA       0x1560                                                                                          
1036
                                           	}                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
1037
001560   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
1038
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1039
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1040
                                           /*                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
1041
                                           *	Function: canGetPacket                                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
1042
                                           *                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
1043
                                           *	Input:	none                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
1044
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
1045
                                           *	Pre-conditions: a call to canISR and an packet is available and banked to RXB0 F:\MCP\projects\CAN\canBase\Source\CAN.c
1046
                                           *	Affects: Calls canParse() function in main for parsing received packet.        F:\MCP\projects\CAN\canBase\Source\CAN.c
1047
                                           *	Depends: none.                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
1048
                                           */                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
1049
001562   cfd9     MOVFF     0xfd9,0xfe6    void canGetPacket()                                                              F:\MCP\projects\CAN\canBase\Source\CAN.c
1050
001564   ffe6                                                                                                               
1051
001566   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
1052
001568   ffd9                                                                                                               
1053
00156a   0e0f     MOVLW     0xf                                                                                             
1054
00156c   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
1055
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
1056
                                           		CAN_MESSAGE cm;                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
1057
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1058
                                           		//RXB0SIDH 28 27 26 25 24 23 22 21                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
1059
                                                   //RXB0SIDL 20 19 18 xx xx xx 17 16                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
1060
                                                   //RXB0EIDH 15 14 13 12 11 10 09 08                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
1061
                                                   //RXB0EIDL 07 06 05 04 03 02 01 00                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
1062
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1063
                                           		//funct xx xx xx xx 28 27 26 25                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
1064
                                           		//funcc xx xx xx xx xx xx 24 23 22 21 20 19 18 17 16 15                        F:\MCP\projects\CAN\canBase\Source\CAN.c
1065
                                           		//nid   xx xx 14 13 12 11 10 09                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
1066
                                           		//sid   xx xx xx xx xx xx xx 08 07 06 05 04 03 02 01 00                        F:\MCP\projects\CAN\canBase\Source\CAN.c
1067
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1068
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1069
00156e   0ef0     MOVLW     0xf0                  	cm.funct=((RXB0SIDH & 0xF0)>>4);                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
1070
001570   1461     ANDWF     0x61,0x0,0x0                                                                                    
1071
001572   38e8     SWAPF     0xe8,0x0,0x0                                                                                    
1072
001574   0b0f     ANDLW     0xf                                                                                             
1073
001576   6edf     MOVWF     0xdf,0x0                                                                                        
1074
001578   0e0f     MOVLW     0xf                    cm.funcc=(((WORD)(RXB0SIDH & 0x0F))<<6)+(((WORD)(RXB0SIDL & 0xE0))>>2)+(((WORD)(RXB0SIDL & 0x03))<<1)+(((WORD)(RXB0EIDH & 0x80))>>7); F:\MCP\projects\CAN\canBase\Source\CAN.c
1075
00157a   1461     ANDWF     0x61,0x0,0x0                                                                                    
1076
00157c   6e06     MOVWF     0x6,0x0                                                                                         
1077
00157e   6a07     CLRF      0x7,0x0                                                                                         
1078
001580   0e06     MOVLW     0x6                                                                                             
1079
001582   90d8     BCF       0xd8,0x0,0x0                                                                                    
1080
001584   3606     RLCF      0x6,0x1,0x0                                                                                     
1081
001586   3607     RLCF      0x7,0x1,0x0                                                                                     
1082
001588   04e8     DECF      0xe8,0x0,0x0                                                                                    
1083
00158a   e1fb     BNZ       0x1582                                                                                          
1084
00158c   0ee0     MOVLW     0xe0                                                                                            
1085
00158e   1462     ANDWF     0x62,0x0,0x0                                                                                    
1086
001590   6e08     MOVWF     0x8,0x0                                                                                         
1087
001592   6a09     CLRF      0x9,0x0                                                                                         
1088
001594   90d8     BCF       0xd8,0x0,0x0                                                                                    
1089
001596   3209     RRCF      0x9,0x1,0x0                                                                                     
1090
001598   3208     RRCF      0x8,0x1,0x0                                                                                     
1091
00159a   90d8     BCF       0xd8,0x0,0x0                                                                                    
1092
00159c   3209     RRCF      0x9,0x1,0x0                                                                                     
1093
00159e   3208     RRCF      0x8,0x1,0x0                                                                                     
1094
0015a0   5006     MOVF      0x6,0x0,0x0                                                                                     
1095
0015a2   2408     ADDWF     0x8,0x0,0x0                                                                                     
1096
0015a4   6e04     MOVWF     0x4,0x0                                                                                         
1097
0015a6   5007     MOVF      0x7,0x0,0x0                                                                                     
1098
0015a8   2009     ADDWFC    0x9,0x0,0x0                                                                                     
1099
0015aa   6e05     MOVWF     0x5,0x0                                                                                         
1100
0015ac   0e03     MOVLW     0x3                                                                                             
1101
0015ae   1462     ANDWF     0x62,0x0,0x0                                                                                    
1102
0015b0   6e0a     MOVWF     0xa,0x0                                                                                         
1103
0015b2   6a0b     CLRF      0xb,0x0                                                                                         
1104
0015b4   90d8     BCF       0xd8,0x0,0x0                                                                                    
1105
0015b6   360a     RLCF      0xa,0x1,0x0                                                                                     
1106
0015b8   360b     RLCF      0xb,0x1,0x0                                                                                     
1107
0015ba   5004     MOVF      0x4,0x0,0x0                                                                                     
1108
0015bc   240a     ADDWF     0xa,0x0,0x0                                                                                     
1109
0015be   6e02     MOVWF     0x2,0x0                                                                                         
1110
0015c0   5005     MOVF      0x5,0x0,0x0                                                                                     
1111
0015c2   200b     ADDWFC    0xb,0x0,0x0                                                                                     
1112
0015c4   6e03     MOVWF     0x3,0x0                                                                                         
1113
0015c6   0e80     MOVLW     0x80                                                                                            
1114
0015c8   1463     ANDWF     0x63,0x0,0x0                                                                                    
1115
0015ca   6e0c     MOVWF     0xc,0x0                                                                                         
1116
0015cc   6a0d     CLRF      0xd,0x0                                                                                         
1117
0015ce   0e07     MOVLW     0x7                                                                                             
1118
0015d0   90d8     BCF       0xd8,0x0,0x0                                                                                    
1119
0015d2   320d     RRCF      0xd,0x1,0x0                                                                                     
1120
0015d4   320c     RRCF      0xc,0x1,0x0                                                                                     
1121
0015d6   04e8     DECF      0xe8,0x0,0x0                                                                                    
1122
0015d8   e1fb     BNZ       0x15d0                                                                                          
1123
0015da   5002     MOVF      0x2,0x0,0x0                                                                                     
1124
0015dc   240c     ADDWF     0xc,0x0,0x0                                                                                     
1125
0015de   6e00     MOVWF     0x0,0x0                                                                                         
1126
0015e0   5003     MOVF      0x3,0x0,0x0                                                                                     
1127
0015e2   200d     ADDWFC    0xd,0x0,0x0                                                                                     
1128
0015e4   6e01     MOVWF     0x1,0x0                                                                                         
1129
0015e6   0e01     MOVLW     0x1                                                                                             
1130
0015e8   c000     MOVFF     0x0,0xfdb                                                                                       
1131
0015ea   ffdb                                                                                                               
1132
0015ec   0e02     MOVLW     0x2                                                                                             
1133
0015ee   c001     MOVFF     0x1,0xfdb                                                                                       
1134
0015f0   ffdb                                                                                                               
1135
0015f2   0e7e     MOVLW     0x7e                   cm.nid=((RXB0EIDH & 0x7E)>>1);                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
1136
0015f4   1463     ANDWF     0x63,0x0,0x0                                                                                    
1137
0015f6   40e8     RRNCF     0xe8,0x0,0x0                                                                                    
1138
0015f8   0b7f     ANDLW     0x7f                                                                                            
1139
0015fa   6ee7     MOVWF     0xe7,0x0                                                                                        
1140
0015fc   0e03     MOVLW     0x3                                                                                             
1141
0015fe   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
1142
001600   ffdb                                                                                                               
1143
001602   0e01     MOVLW     0x1                    cm.sid=(((WORD)(RXB0EIDH & 0x01))<<8)+RXB0EIDL;                          F:\MCP\projects\CAN\canBase\Source\CAN.c
1144
001604   1463     ANDWF     0x63,0x0,0x0                                                                                    
1145
001606   6e02     MOVWF     0x2,0x0                                                                                         
1146
001608   c002     MOVFF     0x2,0x3                                                                                         
1147
00160a   f003                                                                                                               
1148
00160c   6a02     CLRF      0x2,0x0                                                                                         
1149
00160e   5064     MOVF      0x64,0x0,0x0                                                                                    
1150
001610   0100     MOVLB     0x0                                                                                             
1151
001612   2402     ADDWF     0x2,0x0,0x0                                                                                     
1152
001614   6e00     MOVWF     0x0,0x0                                                                                         
1153
001616   0e00     MOVLW     0x0                                                                                             
1154
001618   2003     ADDWFC    0x3,0x0,0x0                                                                                     
1155
00161a   6e01     MOVWF     0x1,0x0                                                                                         
1156
00161c   0e04     MOVLW     0x4                                                                                             
1157
00161e   c000     MOVFF     0x0,0xfdb                                                                                       
1158
001620   ffdb                                                                                                               
1159
001622   0e05     MOVLW     0x5                                                                                             
1160
001624   c001     MOVFF     0x1,0xfdb                                                                                       
1161
001626   ffdb                                                                                                               
1162
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1163
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1164
                                           		// Data length                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
1165
001628   5065     MOVF      0x65,0x0,0x0   		cm.data_length=(RXB0DLCbits.DLC3<<3)+(RXB0DLCbits.DLC2<<2)+(RXB0DLCbits.DLC1<<1)+RXB0DLCbits.DLC0; F:\MCP\projects\CAN\canBase\Source\CAN.c
1166
00162a   0b01     ANDLW     0x1                                                                                             
1167
00162c   6e02     MOVWF     0x2,0x0                                                                                         
1168
00162e   5065     MOVF      0x65,0x0,0x0                                                                                    
1169
001630   0b02     ANDLW     0x2                                                                                             
1170
001632   e001     BZ        0x1636                                                                                          
1171
001634   0e01     MOVLW     0x1                                                                                             
1172
001636   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
1173
001638   6e01     MOVWF     0x1,0x0                                                                                         
1174
00163a   5065     MOVF      0x65,0x0,0x0                                                                                    
1175
00163c   0b04     ANDLW     0x4                                                                                             
1176
00163e   e001     BZ        0x1642                                                                                          
1177
001640   0e01     MOVLW     0x1                                                                                             
1178
001642   0d04     MULLW     0x4                                                                                             
1179
001644   cff3     MOVFF     0xff3,0x0                                                                                       
1180
001646   f000                                                                                                               
1181
001648   5065     MOVF      0x65,0x0,0x0                                                                                    
1182
00164a   0b08     ANDLW     0x8                                                                                             
1183
00164c   e001     BZ        0x1650                                                                                          
1184
00164e   0e01     MOVLW     0x1                                                                                             
1185
001650   0d08     MULLW     0x8                                                                                             
1186
001652   50f3     MOVF      0xf3,0x0,0x0                                                                                    
1187
001654   2400     ADDWF     0x0,0x0,0x0                                                                                     
1188
001656   2401     ADDWF     0x1,0x0,0x0                                                                                     
1189
001658   2402     ADDWF     0x2,0x0,0x0                                                                                     
1190
00165a   6ee7     MOVWF     0xe7,0x0                                                                                        
1191
00165c   0e06     MOVLW     0x6                                                                                             
1192
00165e   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
1193
001660   ffdb                                                                                                               
1194
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1195
                                           		// Data one bye one, for speed                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
1196
001662   0e07     MOVLW     0x7            		cm.data[0]=RXB0D0;	cm.data[1]=RXB0D1;                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
1197
001664   cf66     MOVFF     0xf66,0xfdb                                                                                     
1198
001666   ffdb                                                                                                               
1199
001668   0e08     MOVLW     0x8                                                                                             
1200
00166a   cf67     MOVFF     0xf67,0xfdb                                                                                     
1201
00166c   ffdb                                                                                                               
1202
00166e   0e09     MOVLW     0x9            		cm.data[2]=RXB0D2; 	cm.data[3]=RXB0D3;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
1203
001670   cf68     MOVFF     0xf68,0xfdb                                                                                     
1204
001672   ffdb                                                                                                               
1205
001674   0e0a     MOVLW     0xa                                                                                             
1206
001676   cf69     MOVFF     0xf69,0xfdb                                                                                     
1207
001678   ffdb                                                                                                               
1208
00167a   0e0b     MOVLW     0xb            		cm.data[4]=RXB0D4; 	cm.data[5]=RXB0D5;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
1209
00167c   cf6a     MOVFF     0xf6a,0xfdb                                                                                     
1210
00167e   ffdb                                                                                                               
1211
001680   0e0c     MOVLW     0xc                                                                                             
1212
001682   cf6b     MOVFF     0xf6b,0xfdb                                                                                     
1213
001684   ffdb                                                                                                               
1214
001686   0e0d     MOVLW     0xd            		cm.data[6]=RXB0D6; 	cm.data[7]=RXB0D7;                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
1215
001688   cf6c     MOVFF     0xf6c,0xfdb                                                                                     
1216
00168a   ffdb                                                                                                               
1217
00168c   0e0e     MOVLW     0xe                                                                                             
1218
00168e   cf6d     MOVFF     0xf6d,0xfdb                                                                                     
1219
001690   ffdb                                                                                                               
1220
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1221
                                           		// Clear ful status                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1222
001692   9e60     BCF       0x60,0x7,0x0   		RXB0CONbits.RXFUL=0;                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
1223
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1224
                                           		//Call main parser                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
1225
001694   cfd9     MOVFF     0xfd9,0xfe9    		canParse(cm);                                                                  F:\MCP\projects\CAN\canBase\Source\CAN.c
1226
001696   ffe9                                                                                                               
1227
001698   cfda     MOVFF     0xfda,0xfea                                                                                     
1228
00169a   ffea                                                                                                               
1229
00169c   cfee     MOVFF     0xfee,0xfe6                                                                                     
1230
00169e   ffe6                                                                                                               
1231
0016a0   cfee     MOVFF     0xfee,0xfe6                                                                                     
1232
0016a2   ffe6                                                                                                               
1233
0016a4   cfee     MOVFF     0xfee,0xfe6                                                                                     
1234
0016a6   ffe6                                                                                                               
1235
0016a8   cfee     MOVFF     0xfee,0xfe6                                                                                     
1236
0016aa   ffe6                                                                                                               
1237
0016ac   cfee     MOVFF     0xfee,0xfe6                                                                                     
1238
0016ae   ffe6                                                                                                               
1239
0016b0   cfee     MOVFF     0xfee,0xfe6                                                                                     
1240
0016b2   ffe6                                                                                                               
1241
0016b4   cfee     MOVFF     0xfee,0xfe6                                                                                     
1242
0016b6   ffe6                                                                                                               
1243
0016b8   cfee     MOVFF     0xfee,0xfe6                                                                                     
1244
0016ba   ffe6                                                                                                               
1245
0016bc   cfee     MOVFF     0xfee,0xfe6                                                                                     
1246
0016be   ffe6                                                                                                               
1247
0016c0   cfee     MOVFF     0xfee,0xfe6                                                                                     
1248
0016c2   ffe6                                                                                                               
1249
0016c4   cfee     MOVFF     0xfee,0xfe6                                                                                     
1250
0016c6   ffe6                                                                                                               
1251
0016c8   cfee     MOVFF     0xfee,0xfe6                                                                                     
1252
0016ca   ffe6                                                                                                               
1253
0016cc   cfee     MOVFF     0xfee,0xfe6                                                                                     
1254
0016ce   ffe6                                                                                                               
1255
0016d0   cfee     MOVFF     0xfee,0xfe6                                                                                     
1256
0016d2   ffe6                                                                                                               
1257
0016d4   cfee     MOVFF     0xfee,0xfe6                                                                                     
1258
0016d6   ffe6                                                                                                               
1259
0016d8   ec9f     CALL      0x133e,0x0                                                                                      
1260
0016da   f009                                                                                                               
1261
0016dc   6e00     MOVWF     0x0,0x0                                                                                         
1262
0016de   0e0f     MOVLW     0xf                                                                                             
1263
0016e0   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
1264
0016e2   5000     MOVF      0x0,0x0,0x0                                                                                     
1265
0016e4   0e0f     MOVLW     0xf            }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
1266
0016e6   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
1267
0016e8   e202     BC        0x16ee                                                                                          
1268
0016ea   6ae1     CLRF      0xe1,0x0                                                                                        
1269
0016ec   52e5     MOVF      0xe5,0x1,0x0                                                                                    
1270
0016ee   6ee1     MOVWF     0xe1,0x0                                                                                        
1271
0016f0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
1272
0016f2   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
1273
0016f4   ffd9                                                                                                               
1274
0016f6   0012     RETURN    0x0                                                                                             
1275
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1276
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1277
                                           /*                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
1278
                                           *	Function: canSendMessage                                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
1279
                                           *                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
1280
                                           *	Input:	CAN_MESSAGE to send                                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
1281
                                           *	Output: True if packet scheduled sucess, false otherwise.                      F:\MCP\projects\CAN\canBase\Source\CAN.c
1282
                                           *	Pre-conditions: canInit                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
1283
                                           *	Affects: ..                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
1284
                                           *	Depends: ..                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
1285
                                           */                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
1286
0016f8   cfd9     MOVFF     0xfd9,0xfe6    BOOL canSendMessage(CAN_MESSAGE cm,CAN_PRIORITY prio)                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1287
0016fa   ffe6                                                                                                               
1288
0016fc   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
1289
0016fe   ffd9                                                                                                               
1290
                                           {                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
1291
                                           	                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
1292
001700   010f     MOVLB     0xf            	if ( TXB0CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00011; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
1293
001702   b740     BTFSC     0x40,0x3,0x1                                                                                    
1294
001704   d004     BRA       0x170e                                                                                          
1295
001706   0e00     MOVLW     0x0                                                                                             
1296
001708   1477     ANDWF     0x77,0x0,0x0                                                                                    
1297
00170a   0903     IORLW     0x3                                                                                             
1298
00170c   6e77     MOVWF     0x77,0x0                                                                                        
1299
00170e   010f     MOVLB     0xf            	if ( TXB1CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00100; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
1300
001710   b730     BTFSC     0x30,0x3,0x1                                                                                    
1301
001712   d004     BRA       0x171c                                                                                          
1302
001714   0e00     MOVLW     0x0                                                                                             
1303
001716   1477     ANDWF     0x77,0x0,0x0                                                                                    
1304
001718   0904     IORLW     0x4                                                                                             
1305
00171a   6e77     MOVWF     0x77,0x0                                                                                        
1306
00171c   010f     MOVLB     0xf            	if ( TXB2CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00101; }           F:\MCP\projects\CAN\canBase\Source\CAN.c
1307
00171e   b720     BTFSC     0x20,0x3,0x1                                                                                    
1308
001720   d005     BRA       0x172c                                                                                          
1309
001722   0e00     MOVLW     0x0                                                                                             
1310
001724   1477     ANDWF     0x77,0x0,0x0                                                                                    
1311
001726   0905     IORLW     0x5                                                                                             
1312
001728   6e77     MOVWF     0x77,0x0                                                                                        
1313
                                           	// None of the transmit buffers were empty.                                     F:\MCP\projects\CAN\canBase\Source\CAN.c
1314
00172a   d002     BRA       0x1730         	else { return FALSE;}                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
1315
00172c   0e00     MOVLW     0x0                                                                                             
1316
00172e   d0b0     BRA       0x1890                                                                                          
1317
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1318
001730   0eef     MOVLW     0xef           	if (prio<0 || prio>3) prio = 0;                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
1319
001732   cfdb     MOVFF     0xfdb,0x0                                                                                       
1320
001734   f000                                                                                                               
1321
001736   3400     RLCF      0x0,0x0,0x0                                                                                     
1322
001738   e20e     BC        0x1756                                                                                          
1323
00173a   0eef     MOVLW     0xef                                                                                            
1324
00173c   cfdb     MOVFF     0xfdb,0x1                                                                                       
1325
00173e   f001                                                                                                               
1326
001740   0e03     MOVLW     0x3                                                                                             
1327
001742   6ee7     MOVWF     0xe7,0x0                                                                                        
1328
001744   1801     XORWF     0x1,0x0,0x0                                                                                     
1329
001746   aee8     BTFSS     0xe8,0x7,0x0                                                                                    
1330
001748   d002     BRA       0x174e                                                                                          
1331
00174a   3401     RLCF      0x1,0x0,0x0                                                                                     
1332
00174c   d003     BRA       0x1754                                                                                          
1333
00174e   50e7     MOVF      0xe7,0x0,0x0                                                                                    
1334
001750   80d8     BSF       0xd8,0x0,0x0                                                                                    
1335
001752   5401     SUBFWB    0x1,0x0,0x0                                                                                     
1336
001754   e202     BC        0x175a                                                                                          
1337
001756   0eef     MOVLW     0xef                                                                                            
1338
001758   6adb     CLRF      0xdb,0x0                                                                                        
1339
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1340
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1341
                                           		//RXB0SIDH 28 27 26 25 24 23 22 21                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
1342
                                                   //RXB0SIDL 20 19 18 xx xx xx 17 16                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
1343
                                                   //RXB0EIDH 15 14 13 12 11 10 09 08                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
1344
                                                   //RXB0EIDL 07 06 05 04 03 02 01 00                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
1345
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1346
                                           		//funct xx xx xx xx 28 27 26 25                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
1347
                                           		//funcc xx xx xx xx xx xx 24 23 22 21 20 19 18 17 16 15                        F:\MCP\projects\CAN\canBase\Source\CAN.c
1348
                                           		//nid   xx xx 14 13 12 11 10 09                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
1349
                                           		//sid   xx xx xx xx xx xx xx 08 07 06 05 04 03 02 01 00                        F:\MCP\projects\CAN\canBase\Source\CAN.c
1350
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1351
00175a   0ef1     MOVLW     0xf1           		RXB0SIDH = (BYTE)((cm.funct & 0x0F)<<4)+(BYTE)((cm.funcc & 0x03C0)>>6);        F:\MCP\projects\CAN\canBase\Source\CAN.c
1352
00175c   cfdb     MOVFF     0xfdb,0x0                                                                                       
1353
00175e   f000                                                                                                               
1354
001760   0ef2     MOVLW     0xf2                                                                                            
1355
001762   cfdb     MOVFF     0xfdb,0x1                                                                                       
1356
001764   f001                                                                                                               
1357
001766   0ec0     MOVLW     0xc0                                                                                            
1358
001768   1600     ANDWF     0x0,0x1,0x0                                                                                     
1359
00176a   0e03     MOVLW     0x3                                                                                             
1360
00176c   1601     ANDWF     0x1,0x1,0x0                                                                                     
1361
00176e   0e06     MOVLW     0x6                                                                                             
1362
001770   90d8     BCF       0xd8,0x0,0x0                                                                                    
1363
001772   3201     RRCF      0x1,0x1,0x0                                                                                     
1364
001774   3200     RRCF      0x0,0x1,0x0                                                                                     
1365
001776   04e8     DECF      0xe8,0x0,0x0                                                                                    
1366
001778   e1fb     BNZ       0x1770                                                                                          
1367
00177a   0ef0     MOVLW     0xf0                                                                                            
1368
00177c   50db     MOVF      0xdb,0x0,0x0                                                                                    
1369
00177e   0b0f     ANDLW     0xf                                                                                             
1370
001780   0d10     MULLW     0x10                                                                                            
1371
001782   50f3     MOVF      0xf3,0x0,0x0                                                                                    
1372
001784   2400     ADDWF     0x0,0x0,0x0                                                                                     
1373
001786   6e61     MOVWF     0x61,0x0                                                                                        
1374
001788   0e06     MOVLW     0x6            		RXB0SIDL = (BYTE)((cm.funcc & 0x003F)<<2)+(BYTE)((cm.funcc & 0x0006)>>1);      F:\MCP\projects\CAN\canBase\Source\CAN.c
1375
00178a   6ee7     MOVWF     0xe7,0x0                                                                                        
1376
00178c   0ef1     MOVLW     0xf1                                                                                            
1377
00178e   cfdb     MOVFF     0xfdb,0x2                                                                                       
1378
001790   f002                                                                                                               
1379
001792   0ef2     MOVLW     0xf2                                                                                            
1380
001794   cfdb     MOVFF     0xfdb,0x3                                                                                       
1381
001796   f003                                                                                                               
1382
001798   50e7     MOVF      0xe7,0x0,0x0                                                                                    
1383
00179a   1602     ANDWF     0x2,0x1,0x0                                                                                     
1384
00179c   6a03     CLRF      0x3,0x0                                                                                         
1385
00179e   90d8     BCF       0xd8,0x0,0x0                                                                                    
1386
0017a0   3203     RRCF      0x3,0x1,0x0                                                                                     
1387
0017a2   3202     RRCF      0x2,0x1,0x0                                                                                     
1388
0017a4   0e3f     MOVLW     0x3f                                                                                            
1389
0017a6   6ee7     MOVWF     0xe7,0x0                                                                                        
1390
0017a8   0ef1     MOVLW     0xf1                                                                                            
1391
0017aa   cfdb     MOVFF     0xfdb,0x0                                                                                       
1392
0017ac   f000                                                                                                               
1393
0017ae   0ef2     MOVLW     0xf2                                                                                            
1394
0017b0   cfdb     MOVFF     0xfdb,0x1                                                                                       
1395
0017b2   f001                                                                                                               
1396
0017b4   50e7     MOVF      0xe7,0x0,0x0                                                                                    
1397
0017b6   1600     ANDWF     0x0,0x1,0x0                                                                                     
1398
0017b8   6a01     CLRF      0x1,0x0                                                                                         
1399
0017ba   90d8     BCF       0xd8,0x0,0x0                                                                                    
1400
0017bc   3600     RLCF      0x0,0x1,0x0                                                                                     
1401
0017be   3601     RLCF      0x1,0x1,0x0                                                                                     
1402
0017c0   90d8     BCF       0xd8,0x0,0x0                                                                                    
1403
0017c2   3600     RLCF      0x0,0x1,0x0                                                                                     
1404
0017c4   3601     RLCF      0x1,0x1,0x0                                                                                     
1405
0017c6   5000     MOVF      0x0,0x0,0x0                                                                                     
1406
0017c8   2402     ADDWF     0x2,0x0,0x0                                                                                     
1407
0017ca   6e62     MOVWF     0x62,0x0                                                                                        
1408
0017cc   0ef4     MOVLW     0xf4           		RXB0EIDH = (BYTE)((cm.funcc & 0x0001)<<7)+(BYTE)((cm.nid & 0x3F)<<1)+(BYTE)((cm.sid & 0x0100)>>8); F:\MCP\projects\CAN\canBase\Source\CAN.c
1409
0017ce   cfdb     MOVFF     0xfdb,0x2                                                                                       
1410
0017d0   f002                                                                                                               
1411
0017d2   0ef5     MOVLW     0xf5                                                                                            
1412
0017d4   cfdb     MOVFF     0xfdb,0x3                                                                                       
1413
0017d6   f003                                                                                                               
1414
0017d8   0e00     MOVLW     0x0                                                                                             
1415
0017da   1602     ANDWF     0x2,0x1,0x0                                                                                     
1416
0017dc   0e01     MOVLW     0x1                                                                                             
1417
0017de   1603     ANDWF     0x3,0x1,0x0                                                                                     
1418
0017e0   c003     MOVFF     0x3,0x2                                                                                         
1419
0017e2   f002                                                                                                               
1420
0017e4   6a03     CLRF      0x3,0x0                                                                                         
1421
0017e6   0e01     MOVLW     0x1                                                                                             
1422
0017e8   6ee7     MOVWF     0xe7,0x0                                                                                        
1423
0017ea   0ef1     MOVLW     0xf1                                                                                            
1424
0017ec   cfdb     MOVFF     0xfdb,0x0                                                                                       
1425
0017ee   f000                                                                                                               
1426
0017f0   0ef2     MOVLW     0xf2                                                                                            
1427
0017f2   cfdb     MOVFF     0xfdb,0x1                                                                                       
1428
0017f4   f001                                                                                                               
1429
0017f6   50e7     MOVF      0xe7,0x0,0x0                                                                                    
1430
0017f8   1600     ANDWF     0x0,0x1,0x0                                                                                     
1431
0017fa   6a01     CLRF      0x1,0x0                                                                                         
1432
0017fc   0e07     MOVLW     0x7                                                                                             
1433
0017fe   90d8     BCF       0xd8,0x0,0x0                                                                                    
1434
001800   3600     RLCF      0x0,0x1,0x0                                                                                     
1435
001802   3601     RLCF      0x1,0x1,0x0                                                                                     
1436
001804   04e8     DECF      0xe8,0x0,0x0                                                                                    
1437
001806   e1fb     BNZ       0x17fe                                                                                          
1438
001808   0ef3     MOVLW     0xf3                                                                                            
1439
00180a   50db     MOVF      0xdb,0x0,0x0                                                                                    
1440
00180c   0b3f     ANDLW     0x3f                                                                                            
1441
00180e   24e8     ADDWF     0xe8,0x0,0x0                                                                                    
1442
001810   2400     ADDWF     0x0,0x0,0x0                                                                                     
1443
001812   2402     ADDWF     0x2,0x0,0x0                                                                                     
1444
001814   6e63     MOVWF     0x63,0x0                                                                                        
1445
001816   0eff     MOVLW     0xff           		RXB0EIDL = (BYTE)((cm.sid & 0x00FF));                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
1446
001818   6ee7     MOVWF     0xe7,0x0                                                                                        
1447
00181a   0ef4     MOVLW     0xf4                                                                                            
1448
00181c   cfdb     MOVFF     0xfdb,0x0                                                                                       
1449
00181e   f000                                                                                                               
1450
001820   0ef5     MOVLW     0xf5                                                                                            
1451
001822   cfdb     MOVFF     0xfdb,0x1                                                                                       
1452
001824   f001                                                                                                               
1453
001826   50e7     MOVF      0xe7,0x0,0x0                                                                                    
1454
001828   1600     ANDWF     0x0,0x1,0x0                                                                                     
1455
00182a   6a01     CLRF      0x1,0x0                                                                                         
1456
00182c   5000     MOVF      0x0,0x0,0x0                                                                                     
1457
00182e   6e64     MOVWF     0x64,0x0                                                                                        
1458
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1459
                                           		// Data length                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
1460
001830   6a65     CLRF      0x65,0x0       		RXB0DLC = 0;                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
1461
001832   0ef6     MOVLW     0xf6           		if (cm.data_length>8) RXB0DLC=8; else RXB0DLC=cm.data_length;                  F:\MCP\projects\CAN\canBase\Source\CAN.c
1462
001834   50db     MOVF      0xdb,0x0,0x0                                                                                    
1463
001836   0808     SUBLW     0x8                                                                                             
1464
001838   e203     BC        0x1840                                                                                          
1465
00183a   0e08     MOVLW     0x8                                                                                             
1466
00183c   6e65     MOVWF     0x65,0x0                                                                                        
1467
00183e   d003     BRA       0x1846                                                                                          
1468
001840   0ef6     MOVLW     0xf6                                                                                            
1469
001842   50db     MOVF      0xdb,0x0,0x0                                                                                    
1470
001844   6e65     MOVWF     0x65,0x0                                                                                        
1471
                                           		                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
1472
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1473
                                           		// NOT Remote request                                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
1474
                                           		_asm                                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
1475
001846   9c65     BCF       0x65,0x6,0x0   			bcf RXB0DLC, 6, 0                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
1476
                                           		_endasm                                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
1477
                                           		                                                                               F:\MCP\projects\CAN\canBase\Source\CAN.c
1478
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1479
                                           		// Data one bye one, for speed                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
1480
001848   0ef7     MOVLW     0xf7           		RXB0D0=cm.data[0];	RXB0D1=cm.data[1];                                          F:\MCP\projects\CAN\canBase\Source\CAN.c
1481
00184a   50db     MOVF      0xdb,0x0,0x0                                                                                    
1482
00184c   6e66     MOVWF     0x66,0x0                                                                                        
1483
00184e   0ef8     MOVLW     0xf8                                                                                            
1484
001850   50db     MOVF      0xdb,0x0,0x0                                                                                    
1485
001852   6e67     MOVWF     0x67,0x0                                                                                        
1486
001854   0ef9     MOVLW     0xf9           		RXB0D2=cm.data[2]; 	RXB0D3=cm.data[3];                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
1487
001856   50db     MOVF      0xdb,0x0,0x0                                                                                    
1488
001858   6e68     MOVWF     0x68,0x0                                                                                        
1489
00185a   0efa     MOVLW     0xfa                                                                                            
1490
00185c   50db     MOVF      0xdb,0x0,0x0                                                                                    
1491
00185e   6e69     MOVWF     0x69,0x0                                                                                        
1492
001860   0efb     MOVLW     0xfb           		RXB0D4=cm.data[4]; 	RXB0D5=cm.data[5];                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
1493
001862   50db     MOVF      0xdb,0x0,0x0                                                                                    
1494
001864   6e6a     MOVWF     0x6a,0x0                                                                                        
1495
001866   0efc     MOVLW     0xfc                                                                                            
1496
001868   50db     MOVF      0xdb,0x0,0x0                                                                                    
1497
00186a   6e6b     MOVWF     0x6b,0x0                                                                                        
1498
00186c   0efd     MOVLW     0xfd           		RXB0D6=cm.data[6]; 	RXB0D7=cm.data[7];                                         F:\MCP\projects\CAN\canBase\Source\CAN.c
1499
00186e   50db     MOVF      0xdb,0x0,0x0                                                                                    
1500
001870   6e6c     MOVWF     0x6c,0x0                                                                                        
1501
001872   0efe     MOVLW     0xfe                                                                                            
1502
001874   50db     MOVF      0xdb,0x0,0x0                                                                                    
1503
001876   6e6d     MOVWF     0x6d,0x0                                                                                        
1504
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1505
                                           		// set extended                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
1506
001878   8662     BSF       0x62,0x3,0x0   		RXB0SIDLbits.EXID=1;                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
1507
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1508
                                           		// Priority                                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
1509
00187a   0eef     MOVLW     0xef           		RXB0CON = (RXB0CON & 0b11111100) | prio;                                       F:\MCP\projects\CAN\canBase\Source\CAN.c
1510
00187c   cfdb     MOVFF     0xfdb,0xfe6                                                                                     
1511
00187e   ffe6                                                                                                               
1512
001880   0efc     MOVLW     0xfc                                                                                            
1513
001882   1460     ANDWF     0x60,0x0,0x0                                                                                    
1514
001884   52e5     MOVF      0xe5,0x1,0x0                                                                                    
1515
001886   10e7     IORWF     0xe7,0x0,0x0                                                                                    
1516
001888   6e60     MOVWF     0x60,0x0                                                                                        
1517
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1518
                                           		// mark as redy to transmit                                                    F:\MCP\projects\CAN\canBase\Source\CAN.c
1519
                                           		_asm                                                                           F:\MCP\projects\CAN\canBase\Source\CAN.c
1520
00188a   8660     BSF       0x60,0x3,0x0   			bsf RXB0CON, 3, 0                                                             F:\MCP\projects\CAN\canBase\Source\CAN.c
1521
                                           		_endasm                                                                        F:\MCP\projects\CAN\canBase\Source\CAN.c
1522
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1523
00188c   0e01     MOVLW     0x1            		return TRUE;                                                                   F:\MCP\projects\CAN\canBase\Source\CAN.c
1524
00188e   d000     BRA       0x1890                                                                                          
1525
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1526
001890   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canBase\Source\CAN.c
1527
001892   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
1528
001894   ffd9                                                                                                               
1529
001896   0012     RETURN    0x0                                                                                             
1530
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1531
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1532
                                                                                                                            F:\MCP\projects\CAN\canBase\Source\CAN.c
1533
                                           #endif //USE_CAN                                                                 F:\MCP\projects\CAN\canBase\Source\CAN.c
1534
                                           /*********************************************************************           F:\MCP\projects\CAN\Include\EEAccess.c
1535
                                            *                                                                               F:\MCP\projects\CAN\Include\EEAccess.c
1536
                                            *   Functions for reading and writing to EEPROM.                                F:\MCP\projects\CAN\Include\EEAccess.c
1537
                                            *                                                                               F:\MCP\projects\CAN\Include\EEAccess.c
1538
                                            *********************************************************************           F:\MCP\projects\CAN\Include\EEAccess.c
1539
                                            * FileName:        	$HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/Include/EEAccess.c $ F:\MCP\projects\CAN\Include\EEAccess.c
1540
                                            * Last changed:	$LastChangedDate: 2006-11-14 20:15:02 +0100 (ti, 14 nov 2006) $ F:\MCP\projects\CAN\Include\EEAccess.c
1541
                                            * By:			$LastChangedBy: johboh $                                                F:\MCP\projects\CAN\Include\EEAccess.c
1542
                                            * Revision:		$Revision: 94 $                                                    F:\MCP\projects\CAN\Include\EEAccess.c
1543
                                            ********************************************************************/           F:\MCP\projects\CAN\Include\EEAccess.c
1544
                                           #include <p18cxxx.h>                                                             F:\MCP\projects\CAN\Include\EEAccess.c
1545
                                           #include <EEaccess.h>                                                            F:\MCP\projects\CAN\Include\EEAccess.c
1546
                                                                                                                            F:\MCP\projects\CAN\Include\EEAccess.c
1547
001898   cfd9     MOVFF     0xfd9,0xfe6    BYTE EERead(WORD addr)                                                           F:\MCP\projects\CAN\Include\EEAccess.c
1548
00189a   ffe6                                                                                                               
1549
00189c   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
1550
00189e   ffd9                                                                                                               
1551
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
1552
0018a0   0efd     MOVLW     0xfd           	EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
1553
0018a2   cfdb     MOVFF     0xfdb,0x0                                                                                       
1554
0018a4   f000                                                                                                               
1555
0018a6   0efe     MOVLW     0xfe                                                                                            
1556
0018a8   cfdb     MOVFF     0xfdb,0x1                                                                                       
1557
0018aa   f001                                                                                                               
1558
0018ac   c001     MOVFF     0x1,0x0                                                                                         
1559
0018ae   f000                                                                                                               
1560
0018b0   6a01     CLRF      0x1,0x0                                                                                         
1561
0018b2   5000     MOVF      0x0,0x0,0x0                                                                                     
1562
0018b4   6eaa     MOVWF     0xaa,0x0                                                                                        
1563
0018b6   0eff     MOVLW     0xff           	EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
1564
0018b8   6ee7     MOVWF     0xe7,0x0                                                                                        
1565
0018ba   0efd     MOVLW     0xfd                                                                                            
1566
0018bc   cfdb     MOVFF     0xfdb,0x0                                                                                       
1567
0018be   f000                                                                                                               
1568
0018c0   0efe     MOVLW     0xfe                                                                                            
1569
0018c2   cfdb     MOVFF     0xfdb,0x1                                                                                       
1570
0018c4   f001                                                                                                               
1571
0018c6   50e7     MOVF      0xe7,0x0,0x0                                                                                    
1572
0018c8   1600     ANDWF     0x0,0x1,0x0                                                                                     
1573
0018ca   6a01     CLRF      0x1,0x0                                                                                         
1574
0018cc   5000     MOVF      0x0,0x0,0x0                                                                                     
1575
0018ce   6ea9     MOVWF     0xa9,0x0                                                                                        
1576
0018d0   9ea6     BCF       0xa6,0x7,0x0   	EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
1577
0018d2   9ca6     BCF       0xa6,0x6,0x0   	EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
1578
0018d4   80a6     BSF       0xa6,0x0,0x0   	EECON1bits.RD=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
1579
0018d6   50a8     MOVF      0xa8,0x0,0x0   	return EEDATA;	                                                                 F:\MCP\projects\CAN\Include\EEAccess.c
1580
0018d8   d000     BRA       0x18da                                                                                          
1581
0018da   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
1582
0018dc   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
1583
0018de   ffd9                                                                                                               
1584
0018e0   0012     RETURN    0x0                                                                                             
1585
                                                                                                                            F:\MCP\projects\CAN\Include\EEAccess.c
1586
                                                                                                                            F:\MCP\projects\CAN\Include\EEAccess.c
1587
0018e2   cfd9     MOVFF     0xfd9,0xfe6    void EEWrite(WORD addr,BYTE data)                                                F:\MCP\projects\CAN\Include\EEAccess.c
1588
0018e4   ffe6                                                                                                               
1589
0018e6   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
1590
0018e8   ffd9                                                                                                               
1591
                                           {                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
1592
0018ea   98a1     BCF       0xa1,0x4,0x0   	PIR2bits.EEIF=0;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
1593
0018ec   0efd     MOVLW     0xfd           	EEADRH=(BYTE)(addr>>8);                                                         F:\MCP\projects\CAN\Include\EEAccess.c
1594
0018ee   cfdb     MOVFF     0xfdb,0x0                                                                                       
1595
0018f0   f000                                                                                                               
1596
0018f2   0efe     MOVLW     0xfe                                                                                            
1597
0018f4   cfdb     MOVFF     0xfdb,0x1                                                                                       
1598
0018f6   f001                                                                                                               
1599
0018f8   c001     MOVFF     0x1,0x0                                                                                         
1600
0018fa   f000                                                                                                               
1601
0018fc   6a01     CLRF      0x1,0x0                                                                                         
1602
0018fe   5000     MOVF      0x0,0x0,0x0                                                                                     
1603
001900   6eaa     MOVWF     0xaa,0x0                                                                                        
1604
001902   0eff     MOVLW     0xff           	EEADR=(BYTE)(addr & 0xFF);                                                      F:\MCP\projects\CAN\Include\EEAccess.c
1605
001904   6ee7     MOVWF     0xe7,0x0                                                                                        
1606
001906   0efd     MOVLW     0xfd                                                                                            
1607
001908   cfdb     MOVFF     0xfdb,0x0                                                                                       
1608
00190a   f000                                                                                                               
1609
00190c   0efe     MOVLW     0xfe                                                                                            
1610
00190e   cfdb     MOVFF     0xfdb,0x1                                                                                       
1611
001910   f001                                                                                                               
1612
001912   50e7     MOVF      0xe7,0x0,0x0                                                                                    
1613
001914   1600     ANDWF     0x0,0x1,0x0                                                                                     
1614
001916   6a01     CLRF      0x1,0x0                                                                                         
1615
001918   5000     MOVF      0x0,0x0,0x0                                                                                     
1616
00191a   6ea9     MOVWF     0xa9,0x0                                                                                        
1617
00191c   0efc     MOVLW     0xfc           	EEDATA=data;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
1618
00191e   50db     MOVF      0xdb,0x0,0x0                                                                                    
1619
001920   6ea8     MOVWF     0xa8,0x0                                                                                        
1620
001922   9ea6     BCF       0xa6,0x7,0x0   	EECON1bits.EEPGD=0;                                                             F:\MCP\projects\CAN\Include\EEAccess.c
1621
001924   9ca6     BCF       0xa6,0x6,0x0   	EECON1bits.CFGS=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
1622
001926   84a6     BSF       0xa6,0x2,0x0   	EECON1bits.WREN=1;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
1623
001928   9ef2     BCF       0xf2,0x7,0x0   	INTCONbits.GIE=0;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
1624
00192a   0e55     MOVLW     0x55           	EECON2=0x55;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
1625
00192c   6ea7     MOVWF     0xa7,0x0                                                                                        
1626
00192e   0eaa     MOVLW     0xaa           	EECON2=0xAA;                                                                    F:\MCP\projects\CAN\Include\EEAccess.c
1627
001930   6ea7     MOVWF     0xa7,0x0                                                                                        
1628
001932   82a6     BSF       0xa6,0x1,0x0   	EECON1bits.WR=1;                                                                F:\MCP\projects\CAN\Include\EEAccess.c
1629
001934   8ef2     BSF       0xf2,0x7,0x0   	INTCONbits.GIE=1;                                                               F:\MCP\projects\CAN\Include\EEAccess.c
1630
001936   a8a1     BTFSS     0xa1,0x4,0x0   	while(!PIR2bits.EEIF);                                                          F:\MCP\projects\CAN\Include\EEAccess.c
1631
001938   d7fe     BRA       0x1936                                                                                          
1632
00193a   94a6     BCF       0xa6,0x2,0x0   	EECON1bits.WREN=0;                                                              F:\MCP\projects\CAN\Include\EEAccess.c
1633
00193c   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\Include\EEAccess.c
1634
00193e   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
1635
001940   ffd9                                                                                                               
1636
001942   0012     RETURN    0x0