Subversion Repositories HomeAutomation

Rev

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

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