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.
33 johboh 3
Listing File Generated: Sun Oct 22 08:29:11 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
33 johboh 52
000052   eca9     CALL      0x752,0x0      		canInit();                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
32 johboh 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
33 johboh 57
000056   ecee     CALL      0xbdc,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
33 johboh 61
00005a   ecb7     CALL      0xd6e,0x0      	tickInit();                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
62
00005c   f006                                                                                                               
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
33 johboh 66
00005e   ecc1     CALL      0xd82,0x0      		if ((tickGet()-t)>=5*TICK_SECOND && heartBeatEnabled==TRUE)                    F:\MCP\projects\CAN\canNode\Source\Main.c
67
000060   f006                                                                                                               
31 johboh 68
000062   0100     MOVLB     0x0                                                                                             
33 johboh 69
000064   5161     MOVF      0x61,0x0,0x1                                                                                    
31 johboh 70
000066   5c18     SUBWF     0x18,0x0,0x0                                                                                    
71
000068   6e00     MOVWF     0x0,0x0                                                                                         
33 johboh 72
00006a   5162     MOVF      0x62,0x0,0x1                                                                                    
31 johboh 73
00006c   5819     SUBWFB    0x19,0x0,0x0                                                                                    
74
00006e   6e01     MOVWF     0x1,0x0                                                                                         
33 johboh 75
000070   5163     MOVF      0x63,0x0,0x1                                                                                    
31 johboh 76
000072   581a     SUBWFB    0x1a,0x0,0x0                                                                                    
77
000074   6e02     MOVWF     0x2,0x0                                                                                         
33 johboh 78
000076   5164     MOVF      0x64,0x0,0x1                                                                                    
31 johboh 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                                                                                            
33 johboh 90
00008e   0560     DECF      0x60,0x0,0x1                                                                                    
31 johboh 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
33 johboh 95
000092   ecc1     CALL      0xd82,0x0      			t = tickGet();                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
96
000094   f006                                                                                                               
97
000096   c018     MOVFF     0x18,0x61                                                                                       
98
000098   f061                                                                                                               
99
00009a   c019     MOVFF     0x19,0x62                                                                                       
100
00009c   f062                                                                                                               
101
00009e   c01a     MOVFF     0x1a,0x63                                                                                       
102
0000a0   f063                                                                                                               
103
0000a2   c01b     MOVFF     0x1b,0x64                                                                                       
104
0000a4   f064                                                                                                               
24 johboh 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                                                                                                               
33 johboh 160
00010e   ec0e     CALL      0xa1c,0x0                                                                                       
32 johboh 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
33 johboh 221
000174   ecd4     CALL      0x7a8,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
33 johboh 226
000178   ec52     CALL      0xca4,0x0      		uartISR();                                                                     F:\MCP\projects\CAN\canNode\Source\Main.c
32 johboh 227
00017a   f006                                                                                                               
24 johboh 228
                                           	#endif                                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
229
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 230
00017c   ecca     CALL      0xd94,0x0      	tickUpdate();                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
231
00017e   f006                                                                                                               
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                                                                                        
33 johboh 356
000212   ecfa     CALL      0xbf4,0x0                                                                                       
357
000214   f005                                                                                                               
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                                                                                                               
33 johboh 362
00021e   ecfa     CALL      0xbf4,0x0                                                                                       
363
000220   f005                                                                                                               
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                                                                                        
33 johboh 387
000250   ecfa     CALL      0xbf4,0x0                                                                                       
388
000252   f005                                                                                                               
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                                                                                        
33 johboh 412
000282   ecfa     CALL      0xbf4,0x0                                                                                       
413
000284   f005                                                                                                               
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                                                                                        
33 johboh 437
0002b4   ecfa     CALL      0xbf4,0x0                                                                                       
438
0002b6   f005                                                                                                               
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                                                                                                               
33 johboh 443
0002c0   ecfa     CALL      0xbf4,0x0                                                                                       
444
0002c2   f005                                                                                                               
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                                                                                                               
33 johboh 449
0002cc   ecfa     CALL      0xbf4,0x0                                                                                       
450
0002ce   f005                                                                                                               
31 johboh 451
0002d0   52e5     MOVF      0xe5,0x1,0x0                                                                                    
33 johboh 452
0002d2   6ade     CLRF      0xde,0x0       	for(i=0;i<8;i++) uartPutc(cm.data[i]);                                          F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 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                                                                                     
33 johboh 465
0002ec   e216     BC        0x31a                                                                                           
31 johboh 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                                                                                         
33 johboh 472
0002fa   50de     MOVF      0xde,0x0,0x0                                                                                    
473
0002fc   2400     ADDWF     0x0,0x0,0x0                                                                                     
474
0002fe   6ee9     MOVWF     0xe9,0x0                                                                                        
475
000300   50dd     MOVF      0xdd,0x0,0x0                                                                                    
476
000302   2001     ADDWFC    0x1,0x0,0x0                                                                                     
477
000304   6eea     MOVWF     0xea,0x0                                                                                        
478
000306   50ef     MOVF      0xef,0x0,0x0                                                                                    
479
000308   6ee6     MOVWF     0xe6,0x0                                                                                        
480
00030a   ecfa     CALL      0xbf4,0x0                                                                                       
481
00030c   f005                                                                                                               
482
00030e   52e5     MOVF      0xe5,0x1,0x0                                                                                    
483
000310   2adf     INCF      0xdf,0x1,0x0                                                                                    
484
000312   0e01     MOVLW     0x1                                                                                             
485
000314   e3e0     BNC       0x2d6                                                                                           
486
000316   2adb     INCF      0xdb,0x1,0x0                                                                                    
487
000318   d7de     BRA       0x2d6                                                                                           
488
00031a   0efa     MOVLW     0xfa           	uartPutc(UART_END_BYTE);                                                        F:\MCP\projects\CAN\canNode\Source\Main.c
489
00031c   6ee6     MOVWF     0xe6,0x0                                                                                        
490
00031e   ecfa     CALL      0xbf4,0x0                                                                                       
491
000320   f005                                                                                                               
492
000322   52e5     MOVF      0xe5,0x1,0x0                                                                                    
24 johboh 493
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 494
000324   0e02     MOVLW     0x2            }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
495
000326   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
496
000328   e202     BC        0x32e                                                                                           
497
00032a   6ae1     CLRF      0xe1,0x0                                                                                        
498
00032c   52e5     MOVF      0xe5,0x1,0x0                                                                                    
499
00032e   6ee1     MOVWF     0xe1,0x0                                                                                        
500
000330   52e5     MOVF      0xe5,0x1,0x0                                                                                    
501
000332   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
502
000334   ffd9                                                                                                               
503
000336   0012     RETURN    0x0                                                                                             
24 johboh 504
                                           #endif                                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
505
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
506
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
507
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
508
                                           *	Function: uartParse                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
509
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
510
                                           *	Input:	Received uart message                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
511
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
512
                                           *	Pre-conditions: uartInit and received byte.                                    F:\MCP\projects\CAN\canNode\Source\Main.c
513
                                           *	Affects: Sensors/actuators/etc. See code.                                      F:\MCP\projects\CAN\canNode\Source\Main.c
514
                                           *	Depends: none.                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
515
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
516
                                           #ifdef USE_UART                                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 517
000338   cfd9     MOVFF     0xfd9,0xfe6    void uartParse(BYTE c)                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
518
00033a   ffe6                                                                                                               
519
00033c   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
520
00033e   ffd9                                                                                                               
521
000340   0e11     MOVLW     0x11                                                                                            
522
000342   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
24 johboh 523
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
32 johboh 524
                                           	BYTE i;                                                                         F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 525
000344   0e01     MOVLW     0x1            	unsigned int wait = 0;                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
526
000346   6adb     CLRF      0xdb,0x0                                                                                        
527
000348   0e02     MOVLW     0x2                                                                                             
528
00034a   6adb     CLRF      0xdb,0x0                                                                                        
32 johboh 529
                                           	CAN_MESSAGE cm;	                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
530
                                           	static BOOL waitingMessage = FALSE;                                             F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 531
                                           	static TICK timeout=0;                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
532
                                           	static BYTE count=0;                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
24 johboh 533
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 534
00034c   0100     MOVLB     0x0            	if (waitingMessage==TRUE && (tickGet()-timeout)>TICK_SECOND/20)                 F:\MCP\projects\CAN\canNode\Source\Main.c
535
00034e   0565     DECF      0x65,0x0,0x1                                                                                    
536
000350   e11a     BNZ       0x386                                                                                           
537
000352   ecc1     CALL      0xd82,0x0                                                                                       
538
000354   f006                                                                                                               
539
000356   0100     MOVLB     0x0                                                                                             
540
000358   5166     MOVF      0x66,0x0,0x1                                                                                    
541
00035a   5c18     SUBWF     0x18,0x0,0x0                                                                                    
542
00035c   6e00     MOVWF     0x0,0x0                                                                                         
543
00035e   5167     MOVF      0x67,0x0,0x1                                                                                    
544
000360   5819     SUBWFB    0x19,0x0,0x0                                                                                    
545
000362   6e01     MOVWF     0x1,0x0                                                                                         
546
000364   5168     MOVF      0x68,0x0,0x1                                                                                    
547
000366   581a     SUBWFB    0x1a,0x0,0x0                                                                                    
548
000368   6e02     MOVWF     0x2,0x0                                                                                         
549
00036a   5169     MOVF      0x69,0x0,0x1                                                                                    
550
00036c   581b     SUBWFB    0x1b,0x0,0x0                                                                                    
551
00036e   6e03     MOVWF     0x3,0x0                                                                                         
552
000370   80d8     BSF       0xd8,0x0,0x0                                                                                    
553
000372   0e05     MOVLW     0x5                                                                                             
554
000374   5400     SUBFWB    0x0,0x0,0x0                                                                                     
555
000376   0e00     MOVLW     0x0                                                                                             
556
000378   5401     SUBFWB    0x1,0x0,0x0                                                                                     
557
00037a   0e00     MOVLW     0x0                                                                                             
558
00037c   5402     SUBFWB    0x2,0x0,0x0                                                                                     
559
00037e   0e00     MOVLW     0x0                                                                                             
560
000380   5403     SUBFWB    0x3,0x0,0x0                                                                                     
561
000382   e201     BC        0x386                                                                                           
32 johboh 562
                                           	{                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 563
000384   6b65     CLRF      0x65,0x1       		waitingMessage=FALSE;                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
32 johboh 564
                                           	}                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
24 johboh 565
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 566
000386   0565     DECF      0x65,0x0,0x1   	if (waitingMessage==TRUE)                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
567
000388   e001     BZ        0x38c                                                                                           
568
00038a   d08c     BRA       0x4a4                                                                                           
24 johboh 569
                                           	{                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 570
00038c   ecc1     CALL      0xd82,0x0      		timeout=tickGet();                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
571
00038e   f006                                                                                                               
572
000390   c018     MOVFF     0x18,0x66                                                                                       
573
000392   f066                                                                                                               
574
000394   c019     MOVFF     0x19,0x67                                                                                       
575
000396   f067                                                                                                               
576
000398   c01a     MOVFF     0x1a,0x68                                                                                       
577
00039a   f068                                                                                                               
578
00039c   c01b     MOVFF     0x1b,0x69                                                                                       
579
00039e   f069                                                                                                               
24 johboh 580
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
32 johboh 581
                                           		// UART END                                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 582
0003a0   0e0e     MOVLW     0xe            		if(count>=14)                                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
583
0003a2   0100     MOVLB     0x0                                                                                             
584
0003a4   5d6a     SUBWF     0x6a,0x0,0x1                                                                                    
585
0003a6   e335     BNC       0x412                                                                                           
32 johboh 586
                                           		{                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 587
0003a8   0efe     MOVLW     0xfe           			if (c==UART_END_BYTE)                                                         F:\MCP\projects\CAN\canNode\Source\Main.c
588
0003aa   50db     MOVF      0xdb,0x0,0x0                                                                                    
589
0003ac   6e00     MOVWF     0x0,0x0                                                                                         
590
0003ae   6a01     CLRF      0x1,0x0                                                                                         
591
0003b0   0efa     MOVLW     0xfa                                                                                            
592
0003b2   1800     XORWF     0x0,0x0,0x0                                                                                     
593
0003b4   e12b     BNZ       0x40c                                                                                           
594
0003b6   5001     MOVF      0x1,0x0,0x0                                                                                     
595
0003b8   e129     BNZ       0x40c                                                                                           
32 johboh 596
                                           			{                                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 597
0003ba   50d9     MOVF      0xd9,0x0,0x0   				while(!canSendMessage(cm));                                                  F:\MCP\projects\CAN\canNode\Source\Main.c
598
0003bc   0f03     ADDLW     0x3                                                                                             
599
0003be   6ee9     MOVWF     0xe9,0x0                                                                                        
600
0003c0   cfda     MOVFF     0xfda,0xfea                                                                                     
601
0003c2   ffea                                                                                                               
602
0003c4   cfee     MOVFF     0xfee,0xfe6                                                                                     
603
0003c6   ffe6                                                                                                               
604
0003c8   cfee     MOVFF     0xfee,0xfe6                                                                                     
605
0003ca   ffe6                                                                                                               
606
0003cc   cfee     MOVFF     0xfee,0xfe6                                                                                     
607
0003ce   ffe6                                                                                                               
608
0003d0   cfee     MOVFF     0xfee,0xfe6                                                                                     
609
0003d2   ffe6                                                                                                               
610
0003d4   cfee     MOVFF     0xfee,0xfe6                                                                                     
611
0003d6   ffe6                                                                                                               
612
0003d8   cfee     MOVFF     0xfee,0xfe6                                                                                     
613
0003da   ffe6                                                                                                               
614
0003dc   cfee     MOVFF     0xfee,0xfe6                                                                                     
615
0003de   ffe6                                                                                                               
616
0003e0   cfee     MOVFF     0xfee,0xfe6                                                                                     
617
0003e2   ffe6                                                                                                               
618
0003e4   cfee     MOVFF     0xfee,0xfe6                                                                                     
619
0003e6   ffe6                                                                                                               
620
0003e8   cfee     MOVFF     0xfee,0xfe6                                                                                     
621
0003ea   ffe6                                                                                                               
622
0003ec   cfee     MOVFF     0xfee,0xfe6                                                                                     
623
0003ee   ffe6                                                                                                               
624
0003f0   cfee     MOVFF     0xfee,0xfe6                                                                                     
625
0003f2   ffe6                                                                                                               
626
0003f4   cfee     MOVFF     0xfee,0xfe6                                                                                     
627
0003f6   ffe6                                                                                                               
628
0003f8   cfee     MOVFF     0xfee,0xfe6                                                                                     
629
0003fa   ffe6                                                                                                               
630
0003fc   ec0e     CALL      0xa1c,0x0                                                                                       
631
0003fe   f005                                                                                                               
632
000400   6e00     MOVWF     0x0,0x0                                                                                         
633
000402   0e0e     MOVLW     0xe                                                                                             
634
000404   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
635
000406   5000     MOVF      0x0,0x0,0x0                                                                                     
636
000408   0900     IORLW     0x0                                                                                             
637
00040a   e0d7     BZ        0x3ba                                                                                           
32 johboh 638
                                           			}                                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 639
00040c   0100     MOVLB     0x0            			waitingMessage=FALSE;                                                         F:\MCP\projects\CAN\canNode\Source\Main.c
640
00040e   6b65     CLRF      0x65,0x1                                                                                        
641
000410   d196     BRA       0x73e          			return;                                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
32 johboh 642
                                           		}                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
24 johboh 643
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
32 johboh 644
                                           		// data                                                                        F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 645
000412   0e06     MOVLW     0x6            		if(count>=6)                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
646
000414   5d6a     SUBWF     0x6a,0x0,0x1                                                                                    
647
000416   e30f     BNC       0x436                                                                                           
32 johboh 648
                                           		{                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 649
000418   50d9     MOVF      0xd9,0x0,0x0   			cm.data[count-6]=c;                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
650
00041a   0f09     ADDLW     0x9                                                                                             
651
00041c   6e00     MOVWF     0x0,0x0                                                                                         
652
00041e   0e06     MOVLW     0x6                                                                                             
653
000420   5d6a     SUBWF     0x6a,0x0,0x1                                                                                    
654
000422   010f     MOVLB     0xf                                                                                             
655
000424   2400     ADDWF     0x0,0x0,0x0                                                                                     
656
000426   6ee9     MOVWF     0xe9,0x0                                                                                        
657
000428   0e00     MOVLW     0x0                                                                                             
658
00042a   20da     ADDWFC    0xda,0x0,0x0                                                                                    
659
00042c   6eea     MOVWF     0xea,0x0                                                                                        
660
00042e   0efe     MOVLW     0xfe                                                                                            
661
000430   cfdb     MOVFF     0xfdb,0xfef                                                                                     
662
000432   ffef                                                                                                               
32 johboh 663
                                           			count++;                                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 664
000434   d034     BRA       0x49e          			return;                                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
32 johboh 665
                                           		}                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
24 johboh 666
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
32 johboh 667
                                           		// data length                                                                 F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 668
000436   0e05     MOVLW     0x5            		if(count>=5)                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
669
000438   5d6a     SUBWF     0x6a,0x0,0x1                                                                                    
670
00043a   e305     BNC       0x446                                                                                           
32 johboh 671
                                           		{                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 672
00043c   0efe     MOVLW     0xfe           			cm.data_length=c;                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
673
00043e   50db     MOVF      0xdb,0x0,0x0                                                                                    
674
000440   6ee7     MOVWF     0xe7,0x0                                                                                        
675
000442   0e08     MOVLW     0x8                                                                                             
32 johboh 676
                                           			count++;                                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 677
000444   d007     BRA       0x454          			return;                                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
32 johboh 678
                                           		}                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
26 johboh 679
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
32 johboh 680
                                           		// extended                                                                    F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 681
000446   0e04     MOVLW     0x4            		if(count>=4)                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
682
000448   5d6a     SUBWF     0x6a,0x0,0x1                                                                                    
683
00044a   e307     BNC       0x45a                                                                                           
32 johboh 684
                                           		{                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 685
00044c   0efe     MOVLW     0xfe           			cm.extended=c;                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
686
00044e   50db     MOVF      0xdb,0x0,0x0                                                                                    
687
000450   6ee7     MOVWF     0xe7,0x0                                                                                        
688
000452   0e07     MOVLW     0x7                                                                                             
689
000454   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
690
000456   ffdb                                                                                                               
32 johboh 691
                                           			count++;                                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 692
000458   d023     BRA       0x4a0          			return;                                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
32 johboh 693
                                           		}                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
694
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
695
                                           		// ident                                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 696
00045a   0e00     MOVLW     0x0            		if(count>=0)                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
697
00045c   5d6a     SUBWF     0x6a,0x0,0x1                                                                                    
698
00045e   e322     BNC       0x4a4                                                                                           
32 johboh 699
                                           		{                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 700
000460   0efe     MOVLW     0xfe           			cm.ident+=((DWORD)c<<(count*8));                                              F:\MCP\projects\CAN\canNode\Source\Main.c
701
000462   cfdb     MOVFF     0xfdb,0x0                                                                                       
702
000464   f000                                                                                                               
703
000466   6a01     CLRF      0x1,0x0                                                                                         
704
000468   6a02     CLRF      0x2,0x0                                                                                         
705
00046a   6a03     CLRF      0x3,0x0                                                                                         
706
00046c   0e08     MOVLW     0x8                                                                                             
707
00046e   036a     MULWF     0x6a,0x1                                                                                        
708
000470   50f3     MOVF      0xf3,0x0,0x0                                                                                    
709
000472   0b1f     ANDLW     0x1f                                                                                            
710
000474   e007     BZ        0x484                                                                                           
711
000476   90d8     BCF       0xd8,0x0,0x0                                                                                    
712
000478   3600     RLCF      0x0,0x1,0x0                                                                                     
713
00047a   3601     RLCF      0x1,0x1,0x0                                                                                     
714
00047c   3602     RLCF      0x2,0x1,0x0                                                                                     
715
00047e   3603     RLCF      0x3,0x1,0x0                                                                                     
716
000480   06e8     DECF      0xe8,0x1,0x0                                                                                    
717
000482   e1f9     BNZ       0x476                                                                                           
718
000484   50d9     MOVF      0xd9,0x0,0x0                                                                                    
719
000486   0f03     ADDLW     0x3                                                                                             
720
000488   6ee9     MOVWF     0xe9,0x0                                                                                        
721
00048a   cfda     MOVFF     0xfda,0xfea                                                                                     
722
00048c   ffea                                                                                                               
723
00048e   5000     MOVF      0x0,0x0,0x0                                                                                     
724
000490   26ee     ADDWF     0xee,0x1,0x0                                                                                    
725
000492   5001     MOVF      0x1,0x0,0x0                                                                                     
726
000494   22ee     ADDWFC    0xee,0x1,0x0                                                                                    
727
000496   5002     MOVF      0x2,0x0,0x0                                                                                     
728
000498   22ee     ADDWFC    0xee,0x1,0x0                                                                                    
729
00049a   5003     MOVF      0x3,0x0,0x0                                                                                     
730
00049c   22ee     ADDWFC    0xee,0x1,0x0                                                                                    
731
00049e   0100     MOVLB     0x0            			count++;                                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
732
0004a0   2b6a     INCF      0x6a,0x1,0x1                                                                                    
733
0004a2   d14d     BRA       0x73e          			return;                                                                       F:\MCP\projects\CAN\canNode\Source\Main.c
32 johboh 734
                                           		}                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
735
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
24 johboh 736
                                           	}                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
737
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
32 johboh 738
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 739
0004a4   0efe     MOVLW     0xfe           	if (c==UART_START_BYTE && waitingMessage==FALSE)                                F:\MCP\projects\CAN\canNode\Source\Main.c
740
0004a6   50db     MOVF      0xdb,0x0,0x0                                                                                    
741
0004a8   6e00     MOVWF     0x0,0x0                                                                                         
742
0004aa   6a01     CLRF      0x1,0x0                                                                                         
743
0004ac   0efd     MOVLW     0xfd                                                                                            
744
0004ae   1800     XORWF     0x0,0x0,0x0                                                                                     
745
0004b0   e11b     BNZ       0x4e8                                                                                           
746
0004b2   5001     MOVF      0x1,0x0,0x0                                                                                     
747
0004b4   e119     BNZ       0x4e8                                                                                           
748
0004b6   5165     MOVF      0x65,0x0,0x1                                                                                    
749
0004b8   e117     BNZ       0x4e8                                                                                           
24 johboh 750
                                           	{                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 751
0004ba   0e01     MOVLW     0x1            			waitingMessage=TRUE;                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
752
0004bc   6f65     MOVWF     0x65,0x1                                                                                        
753
0004be   ecc1     CALL      0xd82,0x0      			timeout=tickGet();                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
754
0004c0   f006                                                                                                               
755
0004c2   c018     MOVFF     0x18,0x66                                                                                       
756
0004c4   f066                                                                                                               
757
0004c6   c019     MOVFF     0x19,0x67                                                                                       
758
0004c8   f067                                                                                                               
759
0004ca   c01a     MOVFF     0x1a,0x68                                                                                       
760
0004cc   f068                                                                                                               
761
0004ce   c01b     MOVFF     0x1b,0x69                                                                                       
762
0004d0   f069                                                                                                               
763
0004d2   0100     MOVLB     0x0            			count=0;                                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
764
0004d4   6b6a     CLRF      0x6a,0x1                                                                                        
765
0004d6   0e03     MOVLW     0x3            			cm.ident=0;                                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
766
0004d8   6adb     CLRF      0xdb,0x0                                                                                        
767
0004da   0e04     MOVLW     0x4                                                                                             
768
0004dc   6adb     CLRF      0xdb,0x0                                                                                        
769
0004de   0e05     MOVLW     0x5                                                                                             
770
0004e0   6adb     CLRF      0xdb,0x0                                                                                        
771
0004e2   0e06     MOVLW     0x6                                                                                             
772
0004e4   6adb     CLRF      0xdb,0x0                                                                                        
773
0004e6   d12b     BRA       0x73e          			return;	                                                                      F:\MCP\projects\CAN\canNode\Source\Main.c
32 johboh 774
                                           	}                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
775
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
776
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 777
0004e8   0efe     MOVLW     0xfe           	if(c=='1' && waitingMessage==FALSE)                                             F:\MCP\projects\CAN\canNode\Source\Main.c
778
0004ea   50db     MOVF      0xdb,0x0,0x0                                                                                    
779
0004ec   0831     SUBLW     0x31                                                                                            
780
0004ee   e154     BNZ       0x598                                                                                           
781
0004f0   5165     MOVF      0x65,0x0,0x1                                                                                    
782
0004f2   e152     BNZ       0x598                                                                                           
32 johboh 783
                                           	{	                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 784
0004f4   0e23     MOVLW     0x23           			cm.ident=0x00000123;                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
785
0004f6   6ef3     MOVWF     0xf3,0x0                                                                                        
786
0004f8   0e03     MOVLW     0x3                                                                                             
787
0004fa   cff3     MOVFF     0xff3,0xfdb                                                                                     
788
0004fc   ffdb                                                                                                               
789
0004fe   0e01     MOVLW     0x1                                                                                             
790
000500   6ef3     MOVWF     0xf3,0x0                                                                                        
791
000502   0e04     MOVLW     0x4                                                                                             
792
000504   cff3     MOVFF     0xff3,0xfdb                                                                                     
793
000506   ffdb                                                                                                               
794
000508   0e05     MOVLW     0x5                                                                                             
795
00050a   6adb     CLRF      0xdb,0x0                                                                                        
796
00050c   0e06     MOVLW     0x6                                                                                             
797
00050e   6adb     CLRF      0xdb,0x0                                                                                        
798
000510   0e07     MOVLW     0x7            			cm.extended=FALSE;                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
799
000512   6adb     CLRF      0xdb,0x0                                                                                        
800
000514   0e04     MOVLW     0x4            			cm.data_length=4;                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
801
000516   6ef3     MOVWF     0xf3,0x0                                                                                        
802
000518   0e08     MOVLW     0x8                                                                                             
803
00051a   cff3     MOVFF     0xff3,0xfdb                                                                                     
804
00051c   ffdb                                                                                                               
805
00051e   0e48     MOVLW     0x48           			cm.data[3]='H';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
806
000520   6ef3     MOVWF     0xf3,0x0                                                                                        
807
000522   0e0c     MOVLW     0xc                                                                                             
808
000524   cff3     MOVFF     0xff3,0xfdb                                                                                     
809
000526   ffdb                                                                                                               
810
000528   0e65     MOVLW     0x65           			cm.data[2]='e';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
811
00052a   6ef3     MOVWF     0xf3,0x0                                                                                        
812
00052c   0e0b     MOVLW     0xb                                                                                             
813
00052e   cff3     MOVFF     0xff3,0xfdb                                                                                     
814
000530   ffdb                                                                                                               
815
000532   0e6a     MOVLW     0x6a           			cm.data[1]='j';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
816
000534   6ef3     MOVWF     0xf3,0x0                                                                                        
817
000536   0e0a     MOVLW     0xa                                                                                             
818
000538   cff3     MOVFF     0xff3,0xfdb                                                                                     
819
00053a   ffdb                                                                                                               
820
00053c   0e21     MOVLW     0x21           			cm.data[0]='!';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
821
00053e   6ef3     MOVWF     0xf3,0x0                                                                                        
822
000540   0e09     MOVLW     0x9                                                                                             
823
000542   cff3     MOVFF     0xff3,0xfdb                                                                                     
824
000544   ffdb                                                                                                               
825
                                           			                                                                              F:\MCP\projects\CAN\canNode\Source\Main.c
826
000546   50d9     MOVF      0xd9,0x0,0x0   			while(!canSendMessage(cm));                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
827
000548   0f03     ADDLW     0x3                                                                                             
828
00054a   6ee9     MOVWF     0xe9,0x0                                                                                        
829
00054c   cfda     MOVFF     0xfda,0xfea                                                                                     
830
00054e   ffea                                                                                                               
831
000550   cfee     MOVFF     0xfee,0xfe6                                                                                     
832
000552   ffe6                                                                                                               
833
000554   cfee     MOVFF     0xfee,0xfe6                                                                                     
834
000556   ffe6                                                                                                               
835
000558   cfee     MOVFF     0xfee,0xfe6                                                                                     
836
00055a   ffe6                                                                                                               
837
00055c   cfee     MOVFF     0xfee,0xfe6                                                                                     
838
00055e   ffe6                                                                                                               
839
000560   cfee     MOVFF     0xfee,0xfe6                                                                                     
840
000562   ffe6                                                                                                               
841
000564   cfee     MOVFF     0xfee,0xfe6                                                                                     
842
000566   ffe6                                                                                                               
843
000568   cfee     MOVFF     0xfee,0xfe6                                                                                     
844
00056a   ffe6                                                                                                               
845
00056c   cfee     MOVFF     0xfee,0xfe6                                                                                     
846
00056e   ffe6                                                                                                               
847
000570   cfee     MOVFF     0xfee,0xfe6                                                                                     
848
000572   ffe6                                                                                                               
849
000574   cfee     MOVFF     0xfee,0xfe6                                                                                     
850
000576   ffe6                                                                                                               
851
000578   cfee     MOVFF     0xfee,0xfe6                                                                                     
852
00057a   ffe6                                                                                                               
853
00057c   cfee     MOVFF     0xfee,0xfe6                                                                                     
854
00057e   ffe6                                                                                                               
855
000580   cfee     MOVFF     0xfee,0xfe6                                                                                     
856
000582   ffe6                                                                                                               
857
000584   cfee     MOVFF     0xfee,0xfe6                                                                                     
858
000586   ffe6                                                                                                               
859
000588   ec0e     CALL      0xa1c,0x0                                                                                       
860
00058a   f005                                                                                                               
861
00058c   6e00     MOVWF     0x0,0x0                                                                                         
862
00058e   0e0e     MOVLW     0xe                                                                                             
863
000590   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
864
000592   5000     MOVF      0x0,0x0,0x0                                                                                     
865
000594   0900     IORLW     0x0                                                                                             
866
000596   e0d7     BZ        0x546                                                                                           
24 johboh 867
                                           	}                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
868
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 869
000598   0efe     MOVLW     0xfe           	if(c=='2' && waitingMessage==FALSE)                                             F:\MCP\projects\CAN\canNode\Source\Main.c
870
00059a   50db     MOVF      0xdb,0x0,0x0                                                                                    
871
00059c   0832     SUBLW     0x32                                                                                            
872
00059e   e16f     BNZ       0x67e                                                                                           
873
0005a0   0100     MOVLB     0x0                                                                                             
874
0005a2   5165     MOVF      0x65,0x0,0x1                                                                                    
875
0005a4   e16c     BNZ       0x67e                                                                                           
26 johboh 876
                                           	{                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 877
0005a6   0ef0     MOVLW     0xf0           			cm.ident=0x0ABCDEF0;                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
878
0005a8   6ef3     MOVWF     0xf3,0x0                                                                                        
879
0005aa   0e03     MOVLW     0x3                                                                                             
880
0005ac   cff3     MOVFF     0xff3,0xfdb                                                                                     
881
0005ae   ffdb                                                                                                               
882
0005b0   0ede     MOVLW     0xde                                                                                            
883
0005b2   6ef3     MOVWF     0xf3,0x0                                                                                        
884
0005b4   0e04     MOVLW     0x4                                                                                             
885
0005b6   cff3     MOVFF     0xff3,0xfdb                                                                                     
886
0005b8   ffdb                                                                                                               
887
0005ba   0ebc     MOVLW     0xbc                                                                                            
888
0005bc   6ef3     MOVWF     0xf3,0x0                                                                                        
889
0005be   0e05     MOVLW     0x5                                                                                             
890
0005c0   cff3     MOVFF     0xff3,0xfdb                                                                                     
891
0005c2   ffdb                                                                                                               
892
0005c4   0e0a     MOVLW     0xa                                                                                             
893
0005c6   6ef3     MOVWF     0xf3,0x0                                                                                        
894
0005c8   0e06     MOVLW     0x6                                                                                             
895
0005ca   cff3     MOVFF     0xff3,0xfdb                                                                                     
896
0005cc   ffdb                                                                                                               
897
0005ce   0e01     MOVLW     0x1            			cm.extended=TRUE;                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
898
0005d0   6ef3     MOVWF     0xf3,0x0                                                                                        
899
0005d2   0e07     MOVLW     0x7                                                                                             
900
0005d4   cff3     MOVFF     0xff3,0xfdb                                                                                     
901
0005d6   ffdb                                                                                                               
902
0005d8   0e08     MOVLW     0x8            			cm.data_length=8;                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
903
0005da   6edb     MOVWF     0xdb,0x0                                                                                        
904
0005dc   0e47     MOVLW     0x47           			cm.data[7]='G';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
32 johboh 905
0005de   6ef3     MOVWF     0xf3,0x0                                                                                        
33 johboh 906
0005e0   0e10     MOVLW     0x10                                                                                            
32 johboh 907
0005e2   cff3     MOVFF     0xff3,0xfdb                                                                                     
908
0005e4   ffdb                                                                                                               
33 johboh 909
0005e6   0e6f     MOVLW     0x6f           			cm.data[6]='o';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
32 johboh 910
0005e8   6ef3     MOVWF     0xf3,0x0                                                                                        
33 johboh 911
0005ea   0e0f     MOVLW     0xf                                                                                             
32 johboh 912
0005ec   cff3     MOVFF     0xff3,0xfdb                                                                                     
913
0005ee   ffdb                                                                                                               
33 johboh 914
0005f0   0e64     MOVLW     0x64           			cm.data[5]='d';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
32 johboh 915
0005f2   6ef3     MOVWF     0xf3,0x0                                                                                        
33 johboh 916
0005f4   0e0e     MOVLW     0xe                                                                                             
32 johboh 917
0005f6   cff3     MOVFF     0xff3,0xfdb                                                                                     
918
0005f8   ffdb                                                                                                               
33 johboh 919
0005fa   0e20     MOVLW     0x20           			cm.data[4]=' ';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
920
0005fc   6ef3     MOVWF     0xf3,0x0                                                                                        
921
0005fe   0e0d     MOVLW     0xd                                                                                             
922
000600   cff3     MOVFF     0xff3,0xfdb                                                                                     
923
000602   ffdb                                                                                                               
924
000604   0e64     MOVLW     0x64           			cm.data[3]='d';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
925
000606   6ef3     MOVWF     0xf3,0x0                                                                                        
926
000608   0e0c     MOVLW     0xc                                                                                             
927
00060a   cff3     MOVFF     0xff3,0xfdb                                                                                     
928
00060c   ffdb                                                                                                               
929
00060e   0e61     MOVLW     0x61           			cm.data[2]='a';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
930
000610   6ef3     MOVWF     0xf3,0x0                                                                                        
931
000612   0e0b     MOVLW     0xb                                                                                             
932
000614   cff3     MOVFF     0xff3,0xfdb                                                                                     
933
000616   ffdb                                                                                                               
934
000618   0e67     MOVLW     0x67           			cm.data[1]='g';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
935
00061a   6ef3     MOVWF     0xf3,0x0                                                                                        
936
00061c   0e0a     MOVLW     0xa                                                                                             
937
00061e   cff3     MOVFF     0xff3,0xfdb                                                                                     
938
000620   ffdb                                                                                                               
939
000622   0e21     MOVLW     0x21           			cm.data[0]='!';		                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
940
000624   6ef3     MOVWF     0xf3,0x0                                                                                        
941
000626   0e09     MOVLW     0x9                                                                                             
942
000628   cff3     MOVFF     0xff3,0xfdb                                                                                     
943
00062a   ffdb                                                                                                               
26 johboh 944
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 945
00062c   50d9     MOVF      0xd9,0x0,0x0   			while(!canSendMessage(cm));                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
946
00062e   0f03     ADDLW     0x3                                                                                             
947
000630   6ee9     MOVWF     0xe9,0x0                                                                                        
948
000632   cfda     MOVFF     0xfda,0xfea                                                                                     
949
000634   ffea                                                                                                               
950
000636   cfee     MOVFF     0xfee,0xfe6                                                                                     
951
000638   ffe6                                                                                                               
952
00063a   cfee     MOVFF     0xfee,0xfe6                                                                                     
953
00063c   ffe6                                                                                                               
954
00063e   cfee     MOVFF     0xfee,0xfe6                                                                                     
955
000640   ffe6                                                                                                               
956
000642   cfee     MOVFF     0xfee,0xfe6                                                                                     
957
000644   ffe6                                                                                                               
958
000646   cfee     MOVFF     0xfee,0xfe6                                                                                     
959
000648   ffe6                                                                                                               
960
00064a   cfee     MOVFF     0xfee,0xfe6                                                                                     
961
00064c   ffe6                                                                                                               
962
00064e   cfee     MOVFF     0xfee,0xfe6                                                                                     
963
000650   ffe6                                                                                                               
964
000652   cfee     MOVFF     0xfee,0xfe6                                                                                     
965
000654   ffe6                                                                                                               
966
000656   cfee     MOVFF     0xfee,0xfe6                                                                                     
967
000658   ffe6                                                                                                               
968
00065a   cfee     MOVFF     0xfee,0xfe6                                                                                     
969
00065c   ffe6                                                                                                               
970
00065e   cfee     MOVFF     0xfee,0xfe6                                                                                     
971
000660   ffe6                                                                                                               
972
000662   cfee     MOVFF     0xfee,0xfe6                                                                                     
973
000664   ffe6                                                                                                               
974
000666   cfee     MOVFF     0xfee,0xfe6                                                                                     
975
000668   ffe6                                                                                                               
976
00066a   cfee     MOVFF     0xfee,0xfe6                                                                                     
977
00066c   ffe6                                                                                                               
978
00066e   ec0e     CALL      0xa1c,0x0                                                                                       
979
000670   f005                                                                                                               
980
000672   6e00     MOVWF     0x0,0x0                                                                                         
981
000674   0e0e     MOVLW     0xe                                                                                             
982
000676   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
983
000678   5000     MOVF      0x0,0x0,0x0                                                                                     
984
00067a   0900     IORLW     0x0                                                                                             
985
00067c   e0d7     BZ        0x62c                                                                                           
26 johboh 986
                                           	}                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
987
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 988
00067e   0efe     MOVLW     0xfe           	if(c=='3' && waitingMessage==FALSE)                                             F:\MCP\projects\CAN\canNode\Source\Main.c
989
000680   50db     MOVF      0xdb,0x0,0x0                                                                                    
990
000682   0833     SUBLW     0x33                                                                                            
991
000684   e15c     BNZ       0x73e                                                                                           
992
000686   0100     MOVLB     0x0                                                                                             
993
000688   5165     MOVF      0x65,0x0,0x1                                                                                    
994
00068a   e159     BNZ       0x73e                                                                                           
31 johboh 995
                                           	{                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 996
00068c   0e10     MOVLW     0x10           			cm.ident=0x00000010;                                                          F:\MCP\projects\CAN\canNode\Source\Main.c
997
00068e   6ef3     MOVWF     0xf3,0x0                                                                                        
998
000690   0e03     MOVLW     0x3                                                                                             
999
000692   cff3     MOVFF     0xff3,0xfdb                                                                                     
1000
000694   ffdb                                                                                                               
1001
000696   0e04     MOVLW     0x4                                                                                             
1002
000698   6adb     CLRF      0xdb,0x0                                                                                        
1003
00069a   0e05     MOVLW     0x5                                                                                             
1004
00069c   6adb     CLRF      0xdb,0x0                                                                                        
1005
00069e   0e06     MOVLW     0x6                                                                                             
1006
0006a0   6adb     CLRF      0xdb,0x0                                                                                        
1007
0006a2   0e07     MOVLW     0x7            			cm.extended=FALSE;                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
1008
0006a4   6adb     CLRF      0xdb,0x0                                                                                        
1009
0006a6   0e06     MOVLW     0x6            			cm.data_length=6;                                                             F:\MCP\projects\CAN\canNode\Source\Main.c
1010
0006a8   6ef3     MOVWF     0xf3,0x0                                                                                        
1011
0006aa   0e08     MOVLW     0x8                                                                                             
1012
0006ac   cff3     MOVFF     0xff3,0xfdb                                                                                     
1013
0006ae   ffdb                                                                                                               
1014
0006b0   0e35     MOVLW     0x35           			cm.data[5]='5';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
1015
0006b2   6ef3     MOVWF     0xf3,0x0                                                                                        
1016
0006b4   0e0e     MOVLW     0xe                                                                                             
1017
0006b6   cff3     MOVFF     0xff3,0xfdb                                                                                     
1018
0006b8   ffdb                                                                                                               
1019
0006ba   0e34     MOVLW     0x34           			cm.data[4]='4';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
1020
0006bc   6ef3     MOVWF     0xf3,0x0                                                                                        
1021
0006be   0e0d     MOVLW     0xd                                                                                             
1022
0006c0   cff3     MOVFF     0xff3,0xfdb                                                                                     
1023
0006c2   ffdb                                                                                                               
1024
0006c4   0e33     MOVLW     0x33           			cm.data[3]='3';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
1025
0006c6   6ef3     MOVWF     0xf3,0x0                                                                                        
1026
0006c8   0e0c     MOVLW     0xc                                                                                             
1027
0006ca   cff3     MOVFF     0xff3,0xfdb                                                                                     
1028
0006cc   ffdb                                                                                                               
1029
0006ce   0e32     MOVLW     0x32           			cm.data[2]='2';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
1030
0006d0   6ef3     MOVWF     0xf3,0x0                                                                                        
1031
0006d2   0e0b     MOVLW     0xb                                                                                             
1032
0006d4   cff3     MOVFF     0xff3,0xfdb                                                                                     
1033
0006d6   ffdb                                                                                                               
1034
0006d8   0e31     MOVLW     0x31           			cm.data[1]='1';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
1035
0006da   6ef3     MOVWF     0xf3,0x0                                                                                        
1036
0006dc   0e0a     MOVLW     0xa                                                                                             
1037
0006de   cff3     MOVFF     0xff3,0xfdb                                                                                     
1038
0006e0   ffdb                                                                                                               
1039
0006e2   0e30     MOVLW     0x30           			cm.data[0]='0';                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
1040
0006e4   6ef3     MOVWF     0xf3,0x0                                                                                        
1041
0006e6   0e09     MOVLW     0x9                                                                                             
1042
0006e8   cff3     MOVFF     0xff3,0xfdb                                                                                     
1043
0006ea   ffdb                                                                                                               
1044
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
1045
0006ec   50d9     MOVF      0xd9,0x0,0x0   			while(!canSendMessage(cm));                                                   F:\MCP\projects\CAN\canNode\Source\Main.c
1046
0006ee   0f03     ADDLW     0x3                                                                                             
1047
0006f0   6ee9     MOVWF     0xe9,0x0                                                                                        
1048
0006f2   cfda     MOVFF     0xfda,0xfea                                                                                     
1049
0006f4   ffea                                                                                                               
1050
0006f6   cfee     MOVFF     0xfee,0xfe6                                                                                     
1051
0006f8   ffe6                                                                                                               
1052
0006fa   cfee     MOVFF     0xfee,0xfe6                                                                                     
1053
0006fc   ffe6                                                                                                               
1054
0006fe   cfee     MOVFF     0xfee,0xfe6                                                                                     
1055
000700   ffe6                                                                                                               
1056
000702   cfee     MOVFF     0xfee,0xfe6                                                                                     
1057
000704   ffe6                                                                                                               
1058
000706   cfee     MOVFF     0xfee,0xfe6                                                                                     
1059
000708   ffe6                                                                                                               
1060
00070a   cfee     MOVFF     0xfee,0xfe6                                                                                     
1061
00070c   ffe6                                                                                                               
1062
00070e   cfee     MOVFF     0xfee,0xfe6                                                                                     
1063
000710   ffe6                                                                                                               
1064
000712   cfee     MOVFF     0xfee,0xfe6                                                                                     
1065
000714   ffe6                                                                                                               
1066
000716   cfee     MOVFF     0xfee,0xfe6                                                                                     
1067
000718   ffe6                                                                                                               
1068
00071a   cfee     MOVFF     0xfee,0xfe6                                                                                     
1069
00071c   ffe6                                                                                                               
1070
00071e   cfee     MOVFF     0xfee,0xfe6                                                                                     
1071
000720   ffe6                                                                                                               
1072
000722   cfee     MOVFF     0xfee,0xfe6                                                                                     
1073
000724   ffe6                                                                                                               
1074
000726   cfee     MOVFF     0xfee,0xfe6                                                                                     
1075
000728   ffe6                                                                                                               
1076
00072a   cfee     MOVFF     0xfee,0xfe6                                                                                     
1077
00072c   ffe6                                                                                                               
1078
00072e   ec0e     CALL      0xa1c,0x0                                                                                       
1079
000730   f005                                                                                                               
1080
000732   6e00     MOVWF     0x0,0x0                                                                                         
1081
000734   0e0e     MOVLW     0xe                                                                                             
1082
000736   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
1083
000738   5000     MOVF      0x0,0x0,0x0                                                                                     
1084
00073a   0900     IORLW     0x0                                                                                             
1085
00073c   e0d7     BZ        0x6ec                                                                                           
31 johboh 1086
                                           	}                                                                               F:\MCP\projects\CAN\canNode\Source\Main.c
1087
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
32 johboh 1088
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
31 johboh 1089
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Main.c
33 johboh 1090
00073e   0e11     MOVLW     0x11           }                                                                                F:\MCP\projects\CAN\canNode\Source\Main.c
1091
000740   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
1092
000742   e202     BC        0x748                                                                                           
1093
000744   6ae1     CLRF      0xe1,0x0                                                                                        
1094
000746   52e5     MOVF      0xe5,0x1,0x0                                                                                    
1095
000748   6ee1     MOVWF     0xe1,0x0                                                                                        
1096
00074a   52e5     MOVF      0xe5,0x1,0x0                                                                                    
1097
00074c   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
1098
00074e   ffd9                                                                                                               
1099
000750   0012     RETURN    0x0                                                                                             
24 johboh 1100
                                           #endif                                                                           F:\MCP\projects\CAN\canNode\Source\Main.c
26 johboh 1101
                                           /*********************************************************************           F:\MCP\projects\CAN\canNode\Source\CAN.c
1102
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
1103
                                            *                  CAN driver                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
1104
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
1105
                                            *********************************************************************           F:\MCP\projects\CAN\canNode\Source\CAN.c
1106
                                            * FileName:        CAN.c                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
1107
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
1108
                                            * Author               Date    Comment                                          F:\MCP\projects\CAN\canNode\Source\CAN.c
1109
                                            *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~           F:\MCP\projects\CAN\canNode\Source\CAN.c
1110
                                            * Johan Böhlin     21-10-06 	Original        (Rev 1.0)                          F:\MCP\projects\CAN\canNode\Source\CAN.c
1111
                                            ********************************************************************/           F:\MCP\projects\CAN\canNode\Source\CAN.c
1112
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1113
                                           #include "../Include/CANdefs.h"                                                  F:\MCP\projects\CAN\canNode\Source\CAN.c
1114
                                           #include "../Include/stackTasks.h"                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
1115
                                           #include "../Include/CAN.h"                                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1116
                                           #include "../Include/uart.h"                                                     F:\MCP\projects\CAN\canNode\Source\CAN.c
1117
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1118
                                           static void canGetPacket(void);                                                  F:\MCP\projects\CAN\canNode\Source\CAN.c
1119
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1120
                                           #ifdef USE_CAN                                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
1121
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1122
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1123
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
1124
                                           *	Function: canInit                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
1125
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1126
                                           *	Input:	none                                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
1127
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
1128
                                           *	Pre-conditions: none                                                           F:\MCP\projects\CAN\canNode\Source\CAN.c
1129
                                           *	Affects: Changes can registers.                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1130
                                           *	Depends: none.                                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
1131
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
1132
                                           void canInit()                                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
1133
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1134
000752   0e80     MOVLW     0x80           	CANCON = 0x80; //request config mode                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1135
000754   6e6f     MOVWF     0x6f,0x0                                                                                        
1136
000756   0ee0     MOVLW     0xe0           	while ((CANSTAT & 0xE0) != 0x80 ); //wait for config mode request               F:\MCP\projects\CAN\canNode\Source\CAN.c
1137
000758   146e     ANDWF     0x6e,0x0,0x0                                                                                    
1138
00075a   0880     SUBLW     0x80                                                                                            
1139
00075c   e1fc     BNZ       0x756                                                                                           
24 johboh 1140
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1141
                                           	// BAUD AND TQS                                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
1142
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1143
00075e   6a70     CLRF      0x70,0x0       	BRGCON1=0;                                                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1144
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1145
                                           	// Sync_Seq = 2 x TQ = 1                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1146
000760   9e70     BCF       0x70,0x7,0x0   	BRGCON1bits.SJW1=0;                                                             F:\MCP\projects\CAN\canNode\Source\CAN.c
1147
000762   8c70     BSF       0x70,0x6,0x0   	BRGCON1bits.SJW0=1;                                                             F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1148
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1149
                                           	// Setting BRP.                                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1150
000764   0e09     MOVLW     0x9            	BRGCON1=BRGCON1|CAN_BRP;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
1151
000766   1070     IORWF     0x70,0x0,0x0                                                                                    
1152
000768   6e70     MOVWF     0x70,0x0                                                                                        
24 johboh 1153
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1154
                                           	// Maximum PHEG1                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1155
00076a   8e71     BSF       0x71,0x7,0x0   	BRGCON2bits.SEG2PHTS = 1;                                                       F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1156
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1157
                                           	// Phase_Seg1 = 2 x TQ = 1                                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1158
00076c   9a71     BCF       0x71,0x5,0x0   	BRGCON2bits.SEG1PH2 = 0;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
1159
00076e   9871     BCF       0x71,0x4,0x0   	BRGCON2bits.SEG1PH1 = 0;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
1160
000770   8671     BSF       0x71,0x3,0x0   	BRGCON2bits.SEG1PH0 = 1;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1161
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1162
                                           	// Prop_Seq = 2 x TQ = 1                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1163
000772   9471     BCF       0x71,0x2,0x0   	BRGCON2bits.PRSEG2 = 0;                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
1164
000774   9271     BCF       0x71,0x1,0x0   	BRGCON2bits.PRSEG1 = 0;                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
1165
000776   8071     BSF       0x71,0x0,0x0   	BRGCON2bits.PRSEG0 = 1;                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1166
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1167
                                           	//  Enableing bus wake-up                                                       F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1168
000778   9e72     BCF       0x72,0x7,0x0   	BRGCON3bits.WAKDIS = 0;                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1169
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1170
                                           	// Dont use filter when wakeup                                                  F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1171
00077a   9c72     BCF       0x72,0x6,0x0   	BRGCON3bits.WAKFIL = 0;                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1172
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1173
                                           	// Phase_Seg2 = 2 x TQ = 1                                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1174
00077c   9472     BCF       0x72,0x2,0x0   	BRGCON3bits.SEG2PH2 = 0;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
1175
00077e   9272     BCF       0x72,0x1,0x0   	BRGCON3bits.SEG2PH1 = 0;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
1176
000780   8072     BSF       0x72,0x0,0x0   	BRGCON3bits.SEG2PH0 = 1;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1177
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1178
000782   6a77     CLRF      0x77,0x0       	ECANCON=0;                                                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1179
000784   9e77     BCF       0x77,0x7,0x0   	ECANCONbits.MDSEL1 = 0;                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
1180
000786   8c77     BSF       0x77,0x6,0x0   	ECANCONbits.MDSEL0 = 1;                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1181
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1182
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1183
                                           	// FILTERS AND MASKS                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1184
000788   8c60     BSF       0x60,0x6,0x0   	RXB0CONbits.RXM1=1;                                                             F:\MCP\projects\CAN\canNode\Source\CAN.c
1185
00078a   9a60     BCF       0x60,0x5,0x0   	RXB0CONbits.RXM0=0;                                                             F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1186
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1187
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1188
                                           	// INTERRUPTS                                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
1189
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1190
                                           	// Diable transmit interrupt                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1191
00078c   010d     MOVLB     0xd            	TXBIE = 0;                                                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1192
00078e   6bfc     CLRF      0xfc,0x1                                                                                        
24 johboh 1193
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1194
                                           	//rx any interrupt                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1195
000790   6aa4     CLRF      0xa4,0x0       	PIR3 = 0;                                                                       F:\MCP\projects\CAN\canNode\Source\CAN.c
1196
000792   0e03     MOVLW     0x3            	PIE3 = 0b00000011;                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
1197
000794   6ea3     MOVWF     0xa3,0x0                                                                                        
24 johboh 1198
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1199
                                           	// High interrupt                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1200
000796   6ea5     MOVWF     0xa5,0x0       	IPR3 =0b00000011;                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1201
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1202
                                           	// Programmable buffers interrupt                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1203
000798   69fa     SETF      0xfa,0x1       	BIE0  = 0xFF;	                                                                  F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1204
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1205
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1206
                                           	//loopback mode or not                                                          F:\MCP\projects\CAN\canNode\Source\CAN.c
1207
                                           	#ifdef CAN_LOOPBACK_MODE                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1208
00079a   0e40     MOVLW     0x40           		CANCON = 0x40;//request loopback mode                                          F:\MCP\projects\CAN\canNode\Source\CAN.c
1209
00079c   6e6f     MOVWF     0x6f,0x0                                                                                        
1210
00079e   0ee0     MOVLW     0xe0           		while ((CANSTAT & 0xE0) != 0x40 );//wait for loopback mode                     F:\MCP\projects\CAN\canNode\Source\CAN.c
1211
0007a0   146e     ANDWF     0x6e,0x0,0x0                                                                                    
1212
0007a2   0840     SUBLW     0x40                                                                                            
1213
0007a4   e1fc     BNZ       0x79e                                                                                           
24 johboh 1214
                                           	#else                                                                           F:\MCP\projects\CAN\canNode\Source\CAN.c
1215
                                           		CANCON = 0x00;//request normal mode                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1216
                                           		while ((CANSTAT & 0xE0) != 0x00 );//wait for normal mode                       F:\MCP\projects\CAN\canNode\Source\CAN.c
1217
                                           	#endif                                                                          F:\MCP\projects\CAN\canNode\Source\CAN.c
1218
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1219
0007a6   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1220
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1221
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1222
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
1223
                                           *	Function: canISR                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
1224
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1225
                                           *	Input:	none                                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
1226
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
1227
                                           *	Pre-conditions: a call to canInit()                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1228
                                           *	Affects: interrupt registers and receive data buffers                          F:\MCP\projects\CAN\canNode\Source\CAN.c
1229
                                           *	Depends: ..                                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
1230
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
1231
                                           void canISR()                                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
1232
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1233
0007a8   50a4     MOVF      0xa4,0x0,0x0   	if (PIR3bits.RXBnIF || PIR3bits.RXB1IF || PIR3bits.RXB0IF)                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1234
0007aa   0b02     ANDLW     0x2                                                                                             
1235
0007ac   e106     BNZ       0x7ba                                                                                           
1236
0007ae   50a4     MOVF      0xa4,0x0,0x0                                                                                    
1237
0007b0   0b02     ANDLW     0x2                                                                                             
1238
0007b2   e103     BNZ       0x7ba                                                                                           
1239
0007b4   50a4     MOVF      0xa4,0x0,0x0                                                                                    
1240
0007b6   0b01     ANDLW     0x1                                                                                             
1241
0007b8   e03a     BZ        0x82e                                                                                           
24 johboh 1242
                                           	{                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
1243
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1244
                                           		// Get which buffer that is ful.                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1245
0007ba   ae60     BTFSS     0x60,0x7,0x0   			 if (RXB0CONbits.RXFUL) { ECANCON=(ECANCON&0b00000)|0b10000; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
1246
0007bc   d004     BRA       0x7c6                                                                                           
1247
0007be   0e00     MOVLW     0x0                                                                                             
1248
0007c0   1477     ANDWF     0x77,0x0,0x0                                                                                    
1249
0007c2   0910     IORLW     0x10                                                                                            
1250
0007c4   d02b     BRA       0x81c          		else if (RXB1CONbits.RXFUL) { ECANCON=(ECANCON&0b00000)|0b10001; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
1251
0007c6   010f     MOVLB     0xf                                                                                             
1252
0007c8   af50     BTFSS     0x50,0x7,0x1                                                                                    
1253
0007ca   d004     BRA       0x7d4                                                                                           
1254
0007cc   0e00     MOVLW     0x0                                                                                             
1255
0007ce   1477     ANDWF     0x77,0x0,0x0                                                                                    
1256
0007d0   0911     IORLW     0x11                                                                                            
1257
0007d2   d024     BRA       0x81c          		else if (B0CONbits.RXFUL) 	{ ECANCON=(ECANCON&0b00000)|0b10010; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
1258
0007d4   010e     MOVLB     0xe                                                                                             
1259
0007d6   af20     BTFSS     0x20,0x7,0x1                                                                                    
1260
0007d8   d004     BRA       0x7e2                                                                                           
1261
0007da   0e00     MOVLW     0x0                                                                                             
1262
0007dc   1477     ANDWF     0x77,0x0,0x0                                                                                    
1263
0007de   0912     IORLW     0x12                                                                                            
1264
0007e0   d01d     BRA       0x81c          		else if (B1CONbits.RXFUL) 	{ ECANCON=(ECANCON&0b00000)|0b10011; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
1265
0007e2   af30     BTFSS     0x30,0x7,0x1                                                                                    
1266
0007e4   d004     BRA       0x7ee                                                                                           
1267
0007e6   0e00     MOVLW     0x0                                                                                             
1268
0007e8   1477     ANDWF     0x77,0x0,0x0                                                                                    
1269
0007ea   0913     IORLW     0x13                                                                                            
1270
0007ec   d017     BRA       0x81c          		else if (B2CONbits.RXFUL) 	{ ECANCON=(ECANCON&0b00000)|0b10100; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
1271
0007ee   af40     BTFSS     0x40,0x7,0x1                                                                                    
1272
0007f0   d004     BRA       0x7fa                                                                                           
1273
0007f2   0e00     MOVLW     0x0                                                                                             
1274
0007f4   1477     ANDWF     0x77,0x0,0x0                                                                                    
1275
0007f6   0914     IORLW     0x14                                                                                            
1276
0007f8   d011     BRA       0x81c          		else if (B3CONbits.RXFUL) 	{ ECANCON=(ECANCON&0b00000)|0b10101; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
1277
0007fa   af50     BTFSS     0x50,0x7,0x1                                                                                    
1278
0007fc   d004     BRA       0x806                                                                                           
1279
0007fe   0e00     MOVLW     0x0                                                                                             
1280
000800   1477     ANDWF     0x77,0x0,0x0                                                                                    
1281
000802   0915     IORLW     0x15                                                                                            
1282
000804   d00b     BRA       0x81c          		else if (B4CONbits.RXFUL) 	{ ECANCON=(ECANCON&0b00000)|0b10110; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
1283
000806   af60     BTFSS     0x60,0x7,0x1                                                                                    
1284
000808   d004     BRA       0x812                                                                                           
1285
00080a   0e00     MOVLW     0x0                                                                                             
1286
00080c   1477     ANDWF     0x77,0x0,0x0                                                                                    
1287
00080e   0916     IORLW     0x16                                                                                            
1288
000810   d005     BRA       0x81c          		else if (B5CONbits.RXFUL) 	{ ECANCON=(ECANCON&0b00000)|0b10111; canGetPacket(); } F:\MCP\projects\CAN\canNode\Source\CAN.c
1289
000812   af70     BTFSS     0x70,0x7,0x1                                                                                    
1290
000814   d005     BRA       0x820                                                                                           
1291
000816   0e00     MOVLW     0x0                                                                                             
1292
000818   1477     ANDWF     0x77,0x0,0x0                                                                                    
1293
00081a   0917     IORLW     0x17                                                                                            
1294
00081c   6e77     MOVWF     0x77,0x0                                                                                        
1295
00081e   d808     RCALL     0x830                                                                                           
24 johboh 1296
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1297
000820   a2a4     BTFSS     0xa4,0x1,0x0   		if (PIR3bits.RXBnIF) {PIR3bits.RXBnIF = 0;}                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
1298
000822   d003     BRA       0x82a                                                                                           
1299
000824   92a4     BCF       0xa4,0x1,0x0                                                                                    
1300
000826   b2a4     BTFSC     0xa4,0x1,0x0   		if (PIR3bits.RXB1IF) {PIR3bits.RXB1IF = 0;}                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
1301
000828   92a4     BCF       0xa4,0x1,0x0                                                                                    
1302
00082a   b0a4     BTFSC     0xa4,0x0,0x0   		if (PIR3bits.RXB0IF) {PIR3bits.RXB0IF = 0;}                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
1303
00082c   90a4     BCF       0xa4,0x0,0x0                                                                                    
24 johboh 1304
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1305
                                           	}                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1306
00082e   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1307
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1308
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1309
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
1310
                                           *	Function: canGetPacket                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
1311
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1312
                                           *	Input:	none                                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
1313
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
1314
                                           *	Pre-conditions: a call to canISR and an packet is available and banked to RXB0 F:\MCP\projects\CAN\canNode\Source\CAN.c
1315
                                           *	Affects: Calls canParse() function in main for parsing received packet.        F:\MCP\projects\CAN\canNode\Source\CAN.c
1316
                                           *	Depends: none.                                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
1317
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1318
000830   cfd9     MOVFF     0xfd9,0xfe6    void canGetPacket()                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
1319
000832   ffe6                                                                                                               
1320
000834   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
1321
000836   ffd9                                                                                                               
1322
000838   0e0e     MOVLW     0xe                                                                                             
1323
00083a   26e1     ADDWF     0xe1,0x1,0x0                                                                                    
24 johboh 1324
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1325
                                           		CAN_MESSAGE cm;                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1326
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1327
                                           		// Set extended mode or not.                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1328
00083c   5062     MOVF      0x62,0x0,0x0   		cm.extended=(RXB0SIDLbits.EXID==0?FALSE:TRUE);                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
1329
00083e   0b08     ANDLW     0x8                                                                                             
1330
000840   e102     BNZ       0x846                                                                                           
1331
000842   0e00     MOVLW     0x0                                                                                             
1332
000844   d001     BRA       0x848                                                                                           
1333
000846   0e01     MOVLW     0x1                                                                                             
1334
000848   6ee7     MOVWF     0xe7,0x0                                                                                        
1335
00084a   0e04     MOVLW     0x4                                                                                             
1336
00084c   cfe7     MOVFF     0xfe7,0xfdb                                                                                     
1337
00084e   ffdb                                                                                                               
24 johboh 1338
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1339
                                           		// Clear                                                                       F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1340
000850   6ade     CLRF      0xde,0x0       		cm.ident=0;                                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
1341
000852   6ade     CLRF      0xde,0x0                                                                                        
1342
000854   6ade     CLRF      0xde,0x0                                                                                        
1343
000856   6add     CLRF      0xdd,0x0                                                                                        
1344
000858   52dd     MOVF      0xdd,0x1,0x0                                                                                    
1345
00085a   52dd     MOVF      0xdd,0x1,0x0                                                                                    
24 johboh 1346
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1347
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1348
00085c   04db     DECF      0xdb,0x0,0x0   		if (cm.extended==TRUE)                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
1349
00085e   e163     BNZ       0x926                                                                                           
24 johboh 1350
                                           		{                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
1351
                                           			//Read extended ident.                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
1352
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1353
                                           			//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
1354
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1355
                                                   	//RXB0SIDH 28 27 26 25 24 23 22 21                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1356
                                                   	//RXB0SIDL 20 19 18 xx xx xx 17 16                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1357
                                                   	//RXB0EIDH 15 14 13 12 11 10 09 08                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1358
                                                   	//RXB0EIDL 07 06 05 04 03 02 01 00                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1359
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1360
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1361
000860   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
1362
000862   6e00     MOVWF     0x0,0x0                                                                                         
1363
000864   6a01     CLRF      0x1,0x0                                                                                         
1364
000866   6a02     CLRF      0x2,0x0                                                                                         
1365
000868   6a03     CLRF      0x3,0x0                                                                                         
1366
00086a   0e15     MOVLW     0x15                                                                                            
1367
00086c   0b1f     ANDLW     0x1f                                                                                            
1368
00086e   e007     BZ        0x87e                                                                                           
1369
000870   90d8     BCF       0xd8,0x0,0x0                                                                                    
1370
000872   3600     RLCF      0x0,0x1,0x0                                                                                     
1371
000874   3601     RLCF      0x1,0x1,0x0                                                                                     
1372
000876   3602     RLCF      0x2,0x1,0x0                                                                                     
1373
000878   3603     RLCF      0x3,0x1,0x0                                                                                     
1374
00087a   06e8     DECF      0xe8,0x1,0x0                                                                                    
1375
00087c   e1f9     BNZ       0x870                                                                                           
1376
00087e   0ee0     MOVLW     0xe0                                                                                            
1377
000880   1462     ANDWF     0x62,0x0,0x0                                                                                    
1378
000882   6e04     MOVWF     0x4,0x0                                                                                         
1379
000884   6a05     CLRF      0x5,0x0                                                                                         
1380
000886   6a06     CLRF      0x6,0x0                                                                                         
1381
000888   6a07     CLRF      0x7,0x0                                                                                         
1382
00088a   0e0d     MOVLW     0xd                                                                                             
1383
00088c   0b1f     ANDLW     0x1f                                                                                            
1384
00088e   e007     BZ        0x89e                                                                                           
1385
000890   90d8     BCF       0xd8,0x0,0x0                                                                                    
1386
000892   3604     RLCF      0x4,0x1,0x0                                                                                     
1387
000894   3605     RLCF      0x5,0x1,0x0                                                                                     
1388
000896   3606     RLCF      0x6,0x1,0x0                                                                                     
1389
000898   3607     RLCF      0x7,0x1,0x0                                                                                     
1390
00089a   06e8     DECF      0xe8,0x1,0x0                                                                                    
1391
00089c   e1f9     BNZ       0x890                                                                                           
1392
00089e   5004     MOVF      0x4,0x0,0x0                                                                                     
1393
0008a0   2600     ADDWF     0x0,0x1,0x0                                                                                     
1394
0008a2   5005     MOVF      0x5,0x0,0x0                                                                                     
1395
0008a4   2201     ADDWFC    0x1,0x1,0x0                                                                                     
1396
0008a6   5006     MOVF      0x6,0x0,0x0                                                                                     
1397
0008a8   2202     ADDWFC    0x2,0x1,0x0                                                                                     
1398
0008aa   5007     MOVF      0x7,0x0,0x0                                                                                     
1399
0008ac   2203     ADDWFC    0x3,0x1,0x0                                                                                     
1400
0008ae   0e03     MOVLW     0x3                                                                                             
1401
0008b0   1462     ANDWF     0x62,0x0,0x0                                                                                    
1402
0008b2   6e08     MOVWF     0x8,0x0                                                                                         
1403
0008b4   6a09     CLRF      0x9,0x0                                                                                         
1404
0008b6   6a0a     CLRF      0xa,0x0                                                                                         
1405
0008b8   6a0b     CLRF      0xb,0x0                                                                                         
1406
0008ba   0e10     MOVLW     0x10                                                                                            
1407
0008bc   0b1f     ANDLW     0x1f                                                                                            
1408
0008be   e007     BZ        0x8ce                                                                                           
1409
0008c0   90d8     BCF       0xd8,0x0,0x0                                                                                    
1410
0008c2   3608     RLCF      0x8,0x1,0x0                                                                                     
1411
0008c4   3609     RLCF      0x9,0x1,0x0                                                                                     
1412
0008c6   360a     RLCF      0xa,0x1,0x0                                                                                     
1413
0008c8   360b     RLCF      0xb,0x1,0x0                                                                                     
1414
0008ca   06e8     DECF      0xe8,0x1,0x0                                                                                    
1415
0008cc   e1f9     BNZ       0x8c0                                                                                           
1416
0008ce   5008     MOVF      0x8,0x0,0x0                                                                                     
1417
0008d0   2600     ADDWF     0x0,0x1,0x0                                                                                     
1418
0008d2   5009     MOVF      0x9,0x0,0x0                                                                                     
1419
0008d4   2201     ADDWFC    0x1,0x1,0x0                                                                                     
1420
0008d6   500a     MOVF      0xa,0x0,0x0                                                                                     
1421
0008d8   2202     ADDWFC    0x2,0x1,0x0                                                                                     
1422
0008da   500b     MOVF      0xb,0x0,0x0                                                                                     
1423
0008dc   2203     ADDWFC    0x3,0x1,0x0                                                                                     
1424
0008de   5063     MOVF      0x63,0x0,0x0                                                                                    
1425
0008e0   6e0c     MOVWF     0xc,0x0                                                                                         
1426
0008e2   6a0d     CLRF      0xd,0x0                                                                                         
1427
0008e4   6a0e     CLRF      0xe,0x0                                                                                         
1428
0008e6   6a0f     CLRF      0xf,0x0                                                                                         
1429
0008e8   0e08     MOVLW     0x8                                                                                             
1430
0008ea   0b1f     ANDLW     0x1f                                                                                            
1431
0008ec   e007     BZ        0x8fc                                                                                           
1432
0008ee   90d8     BCF       0xd8,0x0,0x0                                                                                    
1433
0008f0   360c     RLCF      0xc,0x1,0x0                                                                                     
1434
0008f2   360d     RLCF      0xd,0x1,0x0                                                                                     
1435
0008f4   360e     RLCF      0xe,0x1,0x0                                                                                     
1436
0008f6   360f     RLCF      0xf,0x1,0x0                                                                                     
1437
0008f8   06e8     DECF      0xe8,0x1,0x0                                                                                    
1438
0008fa   e1f9     BNZ       0x8ee                                                                                           
1439
0008fc   500c     MOVF      0xc,0x0,0x0                                                                                     
1440
0008fe   2600     ADDWF     0x0,0x1,0x0                                                                                     
1441
000900   500d     MOVF      0xd,0x0,0x0                                                                                     
1442
000902   2201     ADDWFC    0x1,0x1,0x0                                                                                     
1443
000904   500e     MOVF      0xe,0x0,0x0                                                                                     
1444
000906   2202     ADDWFC    0x2,0x1,0x0                                                                                     
1445
000908   500f     MOVF      0xf,0x0,0x0                                                                                     
1446
00090a   2203     ADDWFC    0x3,0x1,0x0                                                                                     
1447
00090c   5064     MOVF      0x64,0x0,0x0                                                                                    
1448
00090e   6e10     MOVWF     0x10,0x0                                                                                        
1449
000910   6a11     CLRF      0x11,0x0                                                                                        
1450
000912   6a12     CLRF      0x12,0x0                                                                                        
1451
000914   6a13     CLRF      0x13,0x0                                                                                        
1452
000916   50e8     MOVF      0xe8,0x0,0x0                                                                                    
1453
000918   2600     ADDWF     0x0,0x1,0x0                                                                                     
1454
00091a   5011     MOVF      0x11,0x0,0x0                                                                                    
1455
00091c   2201     ADDWFC    0x1,0x1,0x0                                                                                     
1456
00091e   5012     MOVF      0x12,0x0,0x0                                                                                    
1457
000920   2202     ADDWFC    0x2,0x1,0x0                                                                                     
1458
000922   5013     MOVF      0x13,0x0,0x0                                                                                    
24 johboh 1459
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1460
                                           		}                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1461
000924   d023     BRA       0x96c          		else                                                                           F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1462
                                           		{                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
1463
                                           			//Read standard ident.                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
1464
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1465
                                           			//xx xx xx xx xx 10 09 08   07 06 05 04 03 02 01 00                           F:\MCP\projects\CAN\canNode\Source\CAN.c
1466
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1467
                                                   	//RXB0SIDH 10 09 08 07 06 05 04 03                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1468
                                                   	//RXB0SIDL 02 01 00 xx xx xx xx xx                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1469
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1470
000926   5061     MOVF      0x61,0x0,0x0   			cm.ident = (((DWORD)RXB0SIDH)<<3) + (((DWORD)RXB0SIDL)>>5);                   F:\MCP\projects\CAN\canNode\Source\CAN.c
1471
000928   6e00     MOVWF     0x0,0x0                                                                                         
1472
00092a   6a01     CLRF      0x1,0x0                                                                                         
1473
00092c   6a02     CLRF      0x2,0x0                                                                                         
1474
00092e   6a03     CLRF      0x3,0x0                                                                                         
1475
000930   0e03     MOVLW     0x3                                                                                             
1476
000932   0b1f     ANDLW     0x1f                                                                                            
1477
000934   e007     BZ        0x944                                                                                           
1478
000936   90d8     BCF       0xd8,0x0,0x0                                                                                    
1479
000938   3600     RLCF      0x0,0x1,0x0                                                                                     
1480
00093a   3601     RLCF      0x1,0x1,0x0                                                                                     
1481
00093c   3602     RLCF      0x2,0x1,0x0                                                                                     
1482
00093e   3603     RLCF      0x3,0x1,0x0                                                                                     
1483
000940   06e8     DECF      0xe8,0x1,0x0                                                                                    
1484
000942   e1f9     BNZ       0x936                                                                                           
1485
000944   5062     MOVF      0x62,0x0,0x0                                                                                    
1486
000946   6e04     MOVWF     0x4,0x0                                                                                         
1487
000948   6a05     CLRF      0x5,0x0                                                                                         
1488
00094a   6a06     CLRF      0x6,0x0                                                                                         
1489
00094c   6a07     CLRF      0x7,0x0                                                                                         
1490
00094e   0e05     MOVLW     0x5                                                                                             
1491
000950   90d8     BCF       0xd8,0x0,0x0                                                                                    
1492
000952   3207     RRCF      0x7,0x1,0x0                                                                                     
1493
000954   3206     RRCF      0x6,0x1,0x0                                                                                     
1494
000956   3205     RRCF      0x5,0x1,0x0                                                                                     
1495
000958   3204     RRCF      0x4,0x1,0x0                                                                                     
1496
00095a   06e8     DECF      0xe8,0x1,0x0                                                                                    
1497
00095c   e1f9     BNZ       0x950                                                                                           
1498
00095e   5004     MOVF      0x4,0x0,0x0                                                                                     
1499
000960   2600     ADDWF     0x0,0x1,0x0                                                                                     
1500
000962   5005     MOVF      0x5,0x0,0x0                                                                                     
1501
000964   2201     ADDWFC    0x1,0x1,0x0                                                                                     
1502
000966   5006     MOVF      0x6,0x0,0x0                                                                                     
1503
000968   2202     ADDWFC    0x2,0x1,0x0                                                                                     
1504
00096a   5007     MOVF      0x7,0x0,0x0                                                                                     
1505
00096c   2203     ADDWFC    0x3,0x1,0x0                                                                                     
1506
00096e   c000     MOVFF     0x0,0xfdf                                                                                       
1507
000970   ffdf                                                                                                               
1508
000972   0e01     MOVLW     0x1                                                                                             
1509
000974   c001     MOVFF     0x1,0xfdb                                                                                       
1510
000976   ffdb                                                                                                               
1511
000978   0e02     MOVLW     0x2                                                                                             
1512
00097a   c002     MOVFF     0x2,0xfdb                                                                                       
1513
00097c   ffdb                                                                                                               
1514
00097e   0e03     MOVLW     0x3                                                                                             
1515
000980   c003     MOVFF     0x3,0xfdb                                                                                       
1516
000982   ffdb                                                                                                               
24 johboh 1517
                                           		}                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
1518
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1519
                                           		// Data length                                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1520
000984   0e05     MOVLW     0x5            		cm.data_length=RXB0DLC;                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
1521
000986   cf65     MOVFF     0xf65,0xfdb                                                                                     
1522
000988   ffdb                                                                                                               
24 johboh 1523
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1524
                                           		// Data one bye one, for speed                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1525
00098a   0e06     MOVLW     0x6            		cm.data[0]=RXB0D0;	cm.data[1]=RXB0D1;                                          F:\MCP\projects\CAN\canNode\Source\CAN.c
1526
00098c   cf66     MOVFF     0xf66,0xfdb                                                                                     
1527
00098e   ffdb                                                                                                               
1528
000990   0e07     MOVLW     0x7                                                                                             
1529
000992   cf67     MOVFF     0xf67,0xfdb                                                                                     
1530
000994   ffdb                                                                                                               
1531
000996   0e08     MOVLW     0x8            		cm.data[2]=RXB0D2; 	cm.data[3]=RXB0D3;                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
1532
000998   cf68     MOVFF     0xf68,0xfdb                                                                                     
1533
00099a   ffdb                                                                                                               
1534
00099c   0e09     MOVLW     0x9                                                                                             
1535
00099e   cf69     MOVFF     0xf69,0xfdb                                                                                     
1536
0009a0   ffdb                                                                                                               
1537
0009a2   0e0a     MOVLW     0xa            		cm.data[4]=RXB0D4; 	cm.data[5]=RXB0D5;                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
1538
0009a4   cf6a     MOVFF     0xf6a,0xfdb                                                                                     
1539
0009a6   ffdb                                                                                                               
1540
0009a8   0e0b     MOVLW     0xb                                                                                             
1541
0009aa   cf6b     MOVFF     0xf6b,0xfdb                                                                                     
1542
0009ac   ffdb                                                                                                               
1543
0009ae   0e0c     MOVLW     0xc            		cm.data[6]=RXB0D6; 	cm.data[7]=RXB0D7;                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
1544
0009b0   cf6c     MOVFF     0xf6c,0xfdb                                                                                     
1545
0009b2   ffdb                                                                                                               
1546
0009b4   0e0d     MOVLW     0xd                                                                                             
1547
0009b6   cf6d     MOVFF     0xf6d,0xfdb                                                                                     
1548
0009b8   ffdb                                                                                                               
24 johboh 1549
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1550
                                           		// Clear ful status                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1551
0009ba   9e60     BCF       0x60,0x7,0x0   		RXB0CONbits.RXFUL=0;                                                           F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1552
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1553
                                           		//Call main parser                                                             F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1554
0009bc   cfd9     MOVFF     0xfd9,0xfe9    		canParse(cm);                                                                  F:\MCP\projects\CAN\canNode\Source\CAN.c
1555
0009be   ffe9                                                                                                               
1556
0009c0   cfda     MOVFF     0xfda,0xfea                                                                                     
1557
0009c2   ffea                                                                                                               
1558
0009c4   cfee     MOVFF     0xfee,0xfe6                                                                                     
1559
0009c6   ffe6                                                                                                               
1560
0009c8   cfee     MOVFF     0xfee,0xfe6                                                                                     
1561
0009ca   ffe6                                                                                                               
1562
0009cc   cfee     MOVFF     0xfee,0xfe6                                                                                     
1563
0009ce   ffe6                                                                                                               
1564
0009d0   cfee     MOVFF     0xfee,0xfe6                                                                                     
1565
0009d2   ffe6                                                                                                               
1566
0009d4   cfee     MOVFF     0xfee,0xfe6                                                                                     
1567
0009d6   ffe6                                                                                                               
1568
0009d8   cfee     MOVFF     0xfee,0xfe6                                                                                     
1569
0009da   ffe6                                                                                                               
1570
0009dc   cfee     MOVFF     0xfee,0xfe6                                                                                     
1571
0009de   ffe6                                                                                                               
1572
0009e0   cfee     MOVFF     0xfee,0xfe6                                                                                     
1573
0009e2   ffe6                                                                                                               
1574
0009e4   cfee     MOVFF     0xfee,0xfe6                                                                                     
1575
0009e6   ffe6                                                                                                               
1576
0009e8   cfee     MOVFF     0xfee,0xfe6                                                                                     
1577
0009ea   ffe6                                                                                                               
1578
0009ec   cfee     MOVFF     0xfee,0xfe6                                                                                     
1579
0009ee   ffe6                                                                                                               
1580
0009f0   cfee     MOVFF     0xfee,0xfe6                                                                                     
1581
0009f2   ffe6                                                                                                               
1582
0009f4   cfee     MOVFF     0xfee,0xfe6                                                                                     
1583
0009f6   ffe6                                                                                                               
1584
0009f8   cfee     MOVFF     0xfee,0xfe6                                                                                     
1585
0009fa   ffe6                                                                                                               
1586
0009fc   ecff     CALL      0x1fe,0x0                                                                                       
1587
0009fe   f000                                                                                                               
1588
000a00   6e00     MOVWF     0x0,0x0                                                                                         
1589
000a02   0e0e     MOVLW     0xe                                                                                             
1590
000a04   5ee1     SUBWF     0xe1,0x1,0x0                                                                                    
1591
000a06   5000     MOVF      0x0,0x0,0x0                                                                                     
1592
000a08   0e0e     MOVLW     0xe            }                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1593
000a0a   5ce1     SUBWF     0xe1,0x0,0x0                                                                                    
1594
000a0c   e202     BC        0xa12                                                                                           
1595
000a0e   6ae1     CLRF      0xe1,0x0                                                                                        
1596
000a10   52e5     MOVF      0xe5,0x1,0x0                                                                                    
1597
000a12   6ee1     MOVWF     0xe1,0x0                                                                                        
1598
000a14   52e5     MOVF      0xe5,0x1,0x0                                                                                    
1599
000a16   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
1600
000a18   ffd9                                                                                                               
1601
000a1a   0012     RETURN    0x0                                                                                             
24 johboh 1602
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1603
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1604
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
1605
                                           *	Function: canSendMessage                                                       F:\MCP\projects\CAN\canNode\Source\CAN.c
1606
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1607
                                           *	Input:	CAN_MESSAGE to send                                                     F:\MCP\projects\CAN\canNode\Source\CAN.c
1608
                                           *	Output: True if packet scheduled sucess, false otherwise.                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1609
                                           *	Pre-conditions: canInit                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
1610
                                           *	Affects: ..                                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
1611
                                           *	Depends: ..                                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
1612
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1613
000a1c   cfd9     MOVFF     0xfd9,0xfe6    BOOL canSendMessage(CAN_MESSAGE cm)                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
1614
000a1e   ffe6                                                                                                               
1615
000a20   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
1616
000a22   ffd9                                                                                                               
24 johboh 1617
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1618
000a24   010f     MOVLB     0xf            	if ( TXB0CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00011; }           F:\MCP\projects\CAN\canNode\Source\CAN.c
1619
000a26   b740     BTFSC     0x40,0x3,0x1                                                                                    
1620
000a28   d004     BRA       0xa32                                                                                           
1621
000a2a   0e00     MOVLW     0x0                                                                                             
1622
000a2c   1477     ANDWF     0x77,0x0,0x0                                                                                    
1623
000a2e   0903     IORLW     0x3                                                                                             
1624
000a30   6e77     MOVWF     0x77,0x0                                                                                        
1625
000a32   010f     MOVLB     0xf            	if ( TXB1CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00100; }           F:\MCP\projects\CAN\canNode\Source\CAN.c
1626
000a34   b730     BTFSC     0x30,0x3,0x1                                                                                    
1627
000a36   d004     BRA       0xa40                                                                                           
1628
000a38   0e00     MOVLW     0x0                                                                                             
1629
000a3a   1477     ANDWF     0x77,0x0,0x0                                                                                    
1630
000a3c   0904     IORLW     0x4                                                                                             
1631
000a3e   6e77     MOVWF     0x77,0x0                                                                                        
1632
000a40   010f     MOVLB     0xf            	if ( TXB2CONbits.TXREQ == 0 )  { ECANCON=(ECANCON&0b00000)|0b00101; }           F:\MCP\projects\CAN\canNode\Source\CAN.c
1633
000a42   b720     BTFSC     0x20,0x3,0x1                                                                                    
1634
000a44   d005     BRA       0xa50                                                                                           
1635
000a46   0e00     MOVLW     0x0                                                                                             
1636
000a48   1477     ANDWF     0x77,0x0,0x0                                                                                    
1637
000a4a   0905     IORLW     0x5                                                                                             
1638
000a4c   6e77     MOVWF     0x77,0x0                                                                                        
24 johboh 1639
                                           	// None of the transmit buffers were empty.                                     F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1640
000a4e   d002     BRA       0xa54          	else { return FALSE;}                                                           F:\MCP\projects\CAN\canNode\Source\CAN.c
1641
000a50   0e00     MOVLW     0x0                                                                                             
1642
000a52   d0c0     BRA       0xbd4                                                                                           
24 johboh 1643
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1644
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1645
000a54   0ef5     MOVLW     0xf5           		if (cm.extended==TRUE)                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
1646
000a56   04db     DECF      0xdb,0x0,0x0                                                                                    
1647
000a58   e15f     BNZ       0xb18                                                                                           
24 johboh 1648
                                           		{                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
1649
                                           			//Write extended ident.                                                       F:\MCP\projects\CAN\canNode\Source\CAN.c
1650
                                           	                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1651
                                           			//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
1652
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1653
                                                   	//RXB0SIDH 28 27 26 25 24 23 22 21                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1654
                                                   	//RXB0SIDL 20 19 18 xx xx xx 17 16                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1655
                                                   	//RXB0EIDH 15 14 13 12 11 10 09 08                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1656
                                                   	//RXB0EIDL 07 06 05 04 03 02 01 00                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1657
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1658
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1659
000a5a   0ef1     MOVLW     0xf1                   	RXB0SIDH =  (BYTE)((cm.ident>>21));                                     F:\MCP\projects\CAN\canNode\Source\CAN.c
1660
000a5c   cfdb     MOVFF     0xfdb,0x0                                                                                       
1661
000a5e   f000                                                                                                               
1662
000a60   0ef2     MOVLW     0xf2                                                                                            
1663
000a62   cfdb     MOVFF     0xfdb,0x1                                                                                       
1664
000a64   f001                                                                                                               
1665
000a66   0ef3     MOVLW     0xf3                                                                                            
1666
000a68   cfdb     MOVFF     0xfdb,0x2                                                                                       
1667
000a6a   f002                                                                                                               
1668
000a6c   0ef4     MOVLW     0xf4                                                                                            
1669
000a6e   cfdb     MOVFF     0xfdb,0x3                                                                                       
1670
000a70   f003                                                                                                               
1671
000a72   0e15     MOVLW     0x15                                                                                            
1672
000a74   90d8     BCF       0xd8,0x0,0x0                                                                                    
1673
000a76   3203     RRCF      0x3,0x1,0x0                                                                                     
1674
000a78   3202     RRCF      0x2,0x1,0x0                                                                                     
1675
000a7a   3201     RRCF      0x1,0x1,0x0                                                                                     
1676
000a7c   3200     RRCF      0x0,0x1,0x0                                                                                     
1677
000a7e   06e8     DECF      0xe8,0x1,0x0                                                                                    
1678
000a80   e1f9     BNZ       0xa74                                                                                           
1679
000a82   5000     MOVF      0x0,0x0,0x0                                                                                     
1680
000a84   6e61     MOVWF     0x61,0x0                                                                                        
1681
000a86   0ef1     MOVLW     0xf1                   	RXB0SIDL = ((BYTE)(cm.ident>>16) & 0x03) + ((BYTE)(cm.ident>>13) & 0xE0); F:\MCP\projects\CAN\canNode\Source\CAN.c
1682
000a88   cfdb     MOVFF     0xfdb,0x5                                                                                       
1683
000a8a   f005                                                                                                               
1684
000a8c   0ef2     MOVLW     0xf2                                                                                            
1685
000a8e   cfdb     MOVFF     0xfdb,0x6                                                                                       
1686
000a90   f006                                                                                                               
1687
000a92   0ef3     MOVLW     0xf3                                                                                            
1688
000a94   cfdb     MOVFF     0xfdb,0x7                                                                                       
1689
000a96   f007                                                                                                               
1690
000a98   0ef4     MOVLW     0xf4                                                                                            
1691
000a9a   cfdb     MOVFF     0xfdb,0x8                                                                                       
1692
000a9c   f008                                                                                                               
1693
000a9e   0e0d     MOVLW     0xd                                                                                             
1694
000aa0   90d8     BCF       0xd8,0x0,0x0                                                                                    
1695
000aa2   3208     RRCF      0x8,0x1,0x0                                                                                     
1696
000aa4   3207     RRCF      0x7,0x1,0x0                                                                                     
1697
000aa6   3206     RRCF      0x6,0x1,0x0                                                                                     
1698
000aa8   3205     RRCF      0x5,0x1,0x0                                                                                     
1699
000aaa   06e8     DECF      0xe8,0x1,0x0                                                                                    
1700
000aac   e1f9     BNZ       0xaa0                                                                                           
1701
000aae   0ee0     MOVLW     0xe0                                                                                            
1702
000ab0   1405     ANDWF     0x5,0x0,0x0                                                                                     
1703
000ab2   6e04     MOVWF     0x4,0x0                                                                                         
1704
000ab4   0ef1     MOVLW     0xf1                                                                                            
1705
000ab6   cfdb     MOVFF     0xfdb,0x0                                                                                       
1706
000ab8   f000                                                                                                               
1707
000aba   0ef2     MOVLW     0xf2                                                                                            
1708
000abc   cfdb     MOVFF     0xfdb,0x1                                                                                       
1709
000abe   f001                                                                                                               
1710
000ac0   0ef3     MOVLW     0xf3                                                                                            
1711
000ac2   cfdb     MOVFF     0xfdb,0x2                                                                                       
1712
000ac4   f002                                                                                                               
1713
000ac6   0ef4     MOVLW     0xf4                                                                                            
1714
000ac8   cfdb     MOVFF     0xfdb,0x3                                                                                       
1715
000aca   f003                                                                                                               
1716
000acc   0e10     MOVLW     0x10                                                                                            
1717
000ace   90d8     BCF       0xd8,0x0,0x0                                                                                    
1718
000ad0   3203     RRCF      0x3,0x1,0x0                                                                                     
1719
000ad2   3202     RRCF      0x2,0x1,0x0                                                                                     
1720
000ad4   3201     RRCF      0x1,0x1,0x0                                                                                     
1721
000ad6   3200     RRCF      0x0,0x1,0x0                                                                                     
1722
000ad8   06e8     DECF      0xe8,0x1,0x0                                                                                    
1723
000ada   e1f9     BNZ       0xace                                                                                           
1724
000adc   0e03     MOVLW     0x3                                                                                             
1725
000ade   1400     ANDWF     0x0,0x0,0x0                                                                                     
1726
000ae0   2404     ADDWF     0x4,0x0,0x0                                                                                     
1727
000ae2   6e62     MOVWF     0x62,0x0                                                                                        
1728
000ae4   0ef1     MOVLW     0xf1                   	RXB0EIDH =  (BYTE)(cm.ident>>8);                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
1729
000ae6   cfdb     MOVFF     0xfdb,0x0                                                                                       
1730
000ae8   f000                                                                                                               
1731
000aea   0ef2     MOVLW     0xf2                                                                                            
1732
000aec   cfdb     MOVFF     0xfdb,0x1                                                                                       
1733
000aee   f001                                                                                                               
1734
000af0   0ef3     MOVLW     0xf3                                                                                            
1735
000af2   cfdb     MOVFF     0xfdb,0x2                                                                                       
1736
000af4   f002                                                                                                               
1737
000af6   0ef4     MOVLW     0xf4                                                                                            
1738
000af8   cfdb     MOVFF     0xfdb,0x3                                                                                       
1739
000afa   f003                                                                                                               
1740
000afc   0e08     MOVLW     0x8                                                                                             
1741
000afe   90d8     BCF       0xd8,0x0,0x0                                                                                    
1742
000b00   3203     RRCF      0x3,0x1,0x0                                                                                     
1743
000b02   3202     RRCF      0x2,0x1,0x0                                                                                     
1744
000b04   3201     RRCF      0x1,0x1,0x0                                                                                     
1745
000b06   3200     RRCF      0x0,0x1,0x0                                                                                     
1746
000b08   06e8     DECF      0xe8,0x1,0x0                                                                                    
1747
000b0a   e1f9     BNZ       0xafe                                                                                           
1748
000b0c   5000     MOVF      0x0,0x0,0x0                                                                                     
1749
000b0e   6e63     MOVWF     0x63,0x0                                                                                        
1750
000b10   0ef1     MOVLW     0xf1                   	RXB0EIDL =  (BYTE)cm.ident;                                             F:\MCP\projects\CAN\canNode\Source\CAN.c
1751
000b12   50db     MOVF      0xdb,0x0,0x0                                                                                    
1752
000b14   6e64     MOVWF     0x64,0x0                                                                                        
24 johboh 1753
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1754
                                           		}                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1755
000b16   d02f     BRA       0xb76          		else                                                                           F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1756
                                           		{                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
1757
                                           			//Write standard ident.                                                       F:\MCP\projects\CAN\canNode\Source\CAN.c
1758
                                           		                                                                               F:\MCP\projects\CAN\canNode\Source\CAN.c
1759
                                           			//xx xx xx xx xx 10 09 08   07 06 05 04 03 02 01 00                           F:\MCP\projects\CAN\canNode\Source\CAN.c
1760
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1761
                                                   	//RXB0SIDH 10 09 08 07 06 05 04 03                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1762
                                                   	//RXB0SIDL 02 01 00 xx xx xx xx xx                                      F:\MCP\projects\CAN\canNode\Source\CAN.c
1763
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1764
000b18   0ef1     MOVLW     0xf1                  		RXB0SIDH=  (BYTE)(cm.ident>>3);                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
1765
000b1a   cfdb     MOVFF     0xfdb,0x0                                                                                       
1766
000b1c   f000                                                                                                               
1767
000b1e   0ef2     MOVLW     0xf2                                                                                            
1768
000b20   cfdb     MOVFF     0xfdb,0x1                                                                                       
1769
000b22   f001                                                                                                               
1770
000b24   0ef3     MOVLW     0xf3                                                                                            
1771
000b26   cfdb     MOVFF     0xfdb,0x2                                                                                       
1772
000b28   f002                                                                                                               
1773
000b2a   0ef4     MOVLW     0xf4                                                                                            
1774
000b2c   cfdb     MOVFF     0xfdb,0x3                                                                                       
1775
000b2e   f003                                                                                                               
1776
000b30   0e03     MOVLW     0x3                                                                                             
1777
000b32   90d8     BCF       0xd8,0x0,0x0                                                                                    
1778
000b34   3203     RRCF      0x3,0x1,0x0                                                                                     
1779
000b36   3202     RRCF      0x2,0x1,0x0                                                                                     
1780
000b38   3201     RRCF      0x1,0x1,0x0                                                                                     
1781
000b3a   3200     RRCF      0x0,0x1,0x0                                                                                     
1782
000b3c   06e8     DECF      0xe8,0x1,0x0                                                                                    
1783
000b3e   e1f9     BNZ       0xb32                                                                                           
1784
000b40   5000     MOVF      0x0,0x0,0x0                                                                                     
1785
000b42   6e61     MOVWF     0x61,0x0                                                                                        
1786
000b44   0ef1     MOVLW     0xf1                   	RXB0SIDL= ((BYTE)(cm.ident<<5) & 0xE0);                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
1787
000b46   cfdb     MOVFF     0xfdb,0x0                                                                                       
1788
000b48   f000                                                                                                               
1789
000b4a   0ef2     MOVLW     0xf2                                                                                            
1790
000b4c   cfdb     MOVFF     0xfdb,0x1                                                                                       
1791
000b4e   f001                                                                                                               
1792
000b50   0ef3     MOVLW     0xf3                                                                                            
1793
000b52   cfdb     MOVFF     0xfdb,0x2                                                                                       
1794
000b54   f002                                                                                                               
1795
000b56   0ef4     MOVLW     0xf4                                                                                            
1796
000b58   cfdb     MOVFF     0xfdb,0x3                                                                                       
1797
000b5a   f003                                                                                                               
1798
000b5c   0e05     MOVLW     0x5                                                                                             
1799
000b5e   0b1f     ANDLW     0x1f                                                                                            
1800
000b60   e007     BZ        0xb70                                                                                           
1801
000b62   90d8     BCF       0xd8,0x0,0x0                                                                                    
1802
000b64   3600     RLCF      0x0,0x1,0x0                                                                                     
1803
000b66   3601     RLCF      0x1,0x1,0x0                                                                                     
1804
000b68   3602     RLCF      0x2,0x1,0x0                                                                                     
1805
000b6a   3603     RLCF      0x3,0x1,0x0                                                                                     
1806
000b6c   06e8     DECF      0xe8,0x1,0x0                                                                                    
1807
000b6e   e1f9     BNZ       0xb62                                                                                           
1808
000b70   0ee0     MOVLW     0xe0                                                                                            
1809
000b72   1400     ANDWF     0x0,0x0,0x0                                                                                     
1810
000b74   6e62     MOVWF     0x62,0x0                                                                                        
24 johboh 1811
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1812
                                           		}                                                                              F:\MCP\projects\CAN\canNode\Source\CAN.c
1813
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1814
                                           		// Data length                                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1815
000b76   0ef6     MOVLW     0xf6           		if (cm.data_length>8) RXB0DLC=8; else RXB0DLC=cm.data_length;                  F:\MCP\projects\CAN\canNode\Source\CAN.c
1816
000b78   50db     MOVF      0xdb,0x0,0x0                                                                                    
1817
000b7a   0808     SUBLW     0x8                                                                                             
1818
000b7c   e203     BC        0xb84                                                                                           
1819
000b7e   0e08     MOVLW     0x8                                                                                             
1820
000b80   6e65     MOVWF     0x65,0x0                                                                                        
1821
000b82   d003     BRA       0xb8a                                                                                           
1822
000b84   0ef6     MOVLW     0xf6                                                                                            
1823
000b86   50db     MOVF      0xdb,0x0,0x0                                                                                    
1824
000b88   6e65     MOVWF     0x65,0x0                                                                                        
24 johboh 1825
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1826
                                           		// Data one bye one, for speed                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1827
000b8a   0ef7     MOVLW     0xf7           		RXB0D0=cm.data[0];	RXB0D1=cm.data[1];                                          F:\MCP\projects\CAN\canNode\Source\CAN.c
1828
000b8c   50db     MOVF      0xdb,0x0,0x0                                                                                    
1829
000b8e   6e66     MOVWF     0x66,0x0                                                                                        
1830
000b90   0ef8     MOVLW     0xf8                                                                                            
1831
000b92   50db     MOVF      0xdb,0x0,0x0                                                                                    
1832
000b94   6e67     MOVWF     0x67,0x0                                                                                        
1833
000b96   0ef9     MOVLW     0xf9           		RXB0D2=cm.data[2]; 	RXB0D3=cm.data[3];                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
1834
000b98   50db     MOVF      0xdb,0x0,0x0                                                                                    
1835
000b9a   6e68     MOVWF     0x68,0x0                                                                                        
1836
000b9c   0efa     MOVLW     0xfa                                                                                            
1837
000b9e   50db     MOVF      0xdb,0x0,0x0                                                                                    
1838
000ba0   6e69     MOVWF     0x69,0x0                                                                                        
1839
000ba2   0efb     MOVLW     0xfb           		RXB0D4=cm.data[4]; 	RXB0D5=cm.data[5];                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
1840
000ba4   50db     MOVF      0xdb,0x0,0x0                                                                                    
1841
000ba6   6e6a     MOVWF     0x6a,0x0                                                                                        
1842
000ba8   0efc     MOVLW     0xfc                                                                                            
1843
000baa   50db     MOVF      0xdb,0x0,0x0                                                                                    
1844
000bac   6e6b     MOVWF     0x6b,0x0                                                                                        
1845
000bae   0efd     MOVLW     0xfd           		RXB0D6=cm.data[6]; 	RXB0D7=cm.data[7];                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
1846
000bb0   50db     MOVF      0xdb,0x0,0x0                                                                                    
1847
000bb2   6e6c     MOVWF     0x6c,0x0                                                                                        
1848
000bb4   0efe     MOVLW     0xfe                                                                                            
1849
000bb6   50db     MOVF      0xdb,0x0,0x0                                                                                    
1850
000bb8   6e6d     MOVWF     0x6d,0x0                                                                                        
24 johboh 1851
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
26 johboh 1852
                                           		// set extended or not                                                         F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1853
000bba   0ef5     MOVLW     0xf5           		RXB0SIDLbits.EXID=(cm.extended==TRUE?1:0);                                     F:\MCP\projects\CAN\canNode\Source\CAN.c
1854
000bbc   04db     DECF      0xdb,0x0,0x0                                                                                    
1855
000bbe   e102     BNZ       0xbc4                                                                                           
1856
000bc0   0e01     MOVLW     0x1                                                                                             
1857
000bc2   d001     BRA       0xbc6                                                                                           
1858
000bc4   0e00     MOVLW     0x0                                                                                             
1859
000bc6   b0e8     BTFSC     0xe8,0x0,0x0                                                                                    
1860
000bc8   8662     BSF       0x62,0x3,0x0                                                                                    
1861
000bca   a0e8     BTFSS     0xe8,0x0,0x0                                                                                    
1862
000bcc   9662     BCF       0x62,0x3,0x0                                                                                    
26 johboh 1863
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1864
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1865
                                           		// mark as redy to transmit                                                    F:\MCP\projects\CAN\canNode\Source\CAN.c
1866
                                           		_asm                                                                           F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1867
000bce   8660     BSF       0x60,0x3,0x0   			bsf RXB0CON, 3, 0                                                             F:\MCP\projects\CAN\canNode\Source\CAN.c
24 johboh 1868
                                           		_endasm                                                                        F:\MCP\projects\CAN\canNode\Source\CAN.c
1869
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1870
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1871
000bd0   0e01     MOVLW     0x1            		return TRUE;                                                                   F:\MCP\projects\CAN\canNode\Source\CAN.c
1872
000bd2   d000     BRA       0xbd4                                                                                           
24 johboh 1873
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
33 johboh 1874
000bd4   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canNode\Source\CAN.c
1875
000bd6   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
1876
000bd8   ffd9                                                                                                               
1877
000bda   0012     RETURN    0x0                                                                                             
24 johboh 1878
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1879
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1880
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\CAN.c
1881
                                           #endif //USE_CAN                                                                 F:\MCP\projects\CAN\canNode\Source\CAN.c
26 johboh 1882
                                           /*********************************************************************           F:\MCP\projects\CAN\canNode\Source\uart.c
1883
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1884
                                            *                  UART                                                         F:\MCP\projects\CAN\canNode\Source\uart.c
1885
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1886
                                            *********************************************************************           F:\MCP\projects\CAN\canNode\Source\uart.c
1887
                                            * FileName:        uart.c                                                       F:\MCP\projects\CAN\canNode\Source\uart.c
1888
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1889
                                            * Author               Date    Comment                                          F:\MCP\projects\CAN\canNode\Source\uart.c
1890
                                            *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~           F:\MCP\projects\CAN\canNode\Source\uart.c
1891
                                            * Johan Böhlin     21-10-06 	Original        (Rev 1.0)                          F:\MCP\projects\CAN\canNode\Source\uart.c
1892
                                            ********************************************************************/           F:\MCP\projects\CAN\canNode\Source\uart.c
1893
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
24 johboh 1894
                                           #include "../Include/stackTasks.h"                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1895
                                           #include "../Include/uart.h"                                                     F:\MCP\projects\CAN\canNode\Source\uart.c
1896
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1897
                                           #ifdef USE_UART                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
1898
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1899
                                           static char uartBusy(void);                                                      F:\MCP\projects\CAN\canNode\Source\uart.c
1900
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
32 johboh 1901
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
24 johboh 1902
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1903
                                           *	Function: uartInit                                                             F:\MCP\projects\CAN\canNode\Source\uart.c
1904
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
1905
                                           *	Input:	none                                                                    F:\MCP\projects\CAN\canNode\Source\uart.c
1906
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\uart.c
1907
                                           *	Pre-conditions: none                                                           F:\MCP\projects\CAN\canNode\Source\uart.c
1908
                                           *	Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
1909
                                           *	Depends: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
1910
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1911
                                           void uartInit()                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
1912
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
1913
                                           		// Configure USART                                                             F:\MCP\projects\CAN\canNode\Source\uart.c
33 johboh 1914
000bdc   8e94     BSF       0x94,0x7,0x0   		TRISCbits.TRISC7=1;                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1915
000bde   9c94     BCF       0x94,0x6,0x0   		TRISCbits.TRISC6=0;                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1916
000be0   0e20     MOVLW     0x20           		TXSTA=0b00100000; // Low BRG speed                                             F:\MCP\projects\CAN\canNode\Source\uart.c
1917
000be2   6eac     MOVWF     0xac,0x0                                                                                        
1918
000be4   0e90     MOVLW     0x90           		RCSTA=0b10010000;                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
1919
000be6   6eab     MOVWF     0xab,0x0                                                                                        
1920
000be8   0e1f     MOVLW     0x1f           		SPBRG = SPBRG_VAL;                                                             F:\MCP\projects\CAN\canNode\Source\uart.c
1921
000bea   6eaf     MOVWF     0xaf,0x0                                                                                        
24 johboh 1922
                                           		// USART RX interrupt                                                          F:\MCP\projects\CAN\canNode\Source\uart.c
33 johboh 1923
000bec   9a9e     BCF       0x9e,0x5,0x0   		PIR1bits.RCIF=0;                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1924
000bee   8a9d     BSF       0x9d,0x5,0x0   		PIE1bits.RCIE=1;                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
24 johboh 1925
                                           		// High interrupt                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
33 johboh 1926
000bf0   8a9f     BSF       0x9f,0x5,0x0   		IPR1bits.RCIP=1;                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1927
000bf2   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
24 johboh 1928
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1929
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1930
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1931
                                           *	Function: uartPutc                                                             F:\MCP\projects\CAN\canNode\Source\uart.c
1932
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
1933
                                           *	Input:	BYTE c to send on uart                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
1934
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\uart.c
1935
                                           *	Pre-conditions: call to uartInit()                                             F:\MCP\projects\CAN\canNode\Source\uart.c
1936
                                           *	Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
1937
                                           *	Depends: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
1938
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
33 johboh 1939
000bf4   cfd9     MOVFF     0xfd9,0xfe6    void uartPutc(BYTE c)                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1940
000bf6   ffe6                                                                                                               
1941
000bf8   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
1942
000bfa   ffd9                                                                                                               
24 johboh 1943
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
1944
                                           	// Write the data byte to the USART                                             F:\MCP\projects\CAN\canNode\Source\uart.c
33 johboh 1945
000bfc   0efe     MOVLW     0xfe           	TXREG = c;                                                                      F:\MCP\projects\CAN\canNode\Source\uart.c
1946
000bfe   50db     MOVF      0xdb,0x0,0x0                                                                                    
1947
000c00   6ead     MOVWF     0xad,0x0                                                                                        
1948
000c02   d848     RCALL     0xc94          	while(uartBusy());                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
1949
000c04   0900     IORLW     0x0                                                                                             
1950
000c06   e1fd     BNZ       0xc02                                                                                           
1951
000c08   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
1952
000c0a   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
1953
000c0c   ffd9                                                                                                               
1954
000c0e   0012     RETURN    0x0                                                                                             
24 johboh 1955
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1956
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
1957
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1958
                                           *	Function: uartPuts                                                             F:\MCP\projects\CAN\canNode\Source\uart.c
1959
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
1960
                                           *	Input:	Byte array to send on uart                                              F:\MCP\projects\CAN\canNode\Source\uart.c
1961
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\uart.c
1962
                                           *	Pre-conditions: call to uartInit()                                             F:\MCP\projects\CAN\canNode\Source\uart.c
1963
                                           *	Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
1964
                                           *	Depends: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
1965
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
33 johboh 1966
000c10   cfd9     MOVFF     0xfd9,0xfe6    void uartPuts(BYTE c[])                                                          F:\MCP\projects\CAN\canNode\Source\uart.c
1967
000c12   ffe6                                                                                                               
1968
000c14   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
1969
000c16   ffd9                                                                                                               
24 johboh 1970
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
1971
                                           	do                                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
1972
                                             	{  // Transmit a byte                                                         F:\MCP\projects\CAN\canNode\Source\uart.c
33 johboh 1973
000c18   d83d     RCALL     0xc94              	while(uartBusy());                                                          F:\MCP\projects\CAN\canNode\Source\uart.c
1974
000c1a   0900     IORLW     0x0                                                                                             
1975
000c1c   e1fd     BNZ       0xc18                                                                                           
1976
000c1e   0efd     MOVLW     0xfd               	uartPutc(*c);                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
1977
000c20   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
1978
000c22   ffe9                                                                                                               
1979
000c24   0efe     MOVLW     0xfe                                                                                            
1980
000c26   cfdb     MOVFF     0xfdb,0xfea                                                                                     
1981
000c28   ffea                                                                                                               
1982
000c2a   50ef     MOVF      0xef,0x0,0x0                                                                                    
1983
000c2c   6ee6     MOVWF     0xe6,0x0                                                                                        
1984
000c2e   dfe2     RCALL     0xbf4                                                                                           
1985
000c30   52e5     MOVF      0xe5,0x1,0x0                                                                                    
1986
000c32   0efd     MOVLW     0xfd             	} while( *c++ );                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
1987
000c34   cfdb     MOVFF     0xfdb,0xfe9                                                                                     
1988
000c36   ffe9                                                                                                               
1989
000c38   2adb     INCF      0xdb,0x1,0x0                                                                                    
1990
000c3a   0efe     MOVLW     0xfe                                                                                            
1991
000c3c   cfdb     MOVFF     0xfdb,0xfea                                                                                     
1992
000c3e   ffea                                                                                                               
1993
000c40   e301     BNC       0xc44                                                                                           
1994
000c42   2adb     INCF      0xdb,0x1,0x0                                                                                    
1995
000c44   50ef     MOVF      0xef,0x0,0x0                                                                                    
1996
000c46   e1e8     BNZ       0xc18                                                                                           
1997
000c48   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
1998
000c4a   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
1999
000c4c   ffd9                                                                                                               
2000
000c4e   0012     RETURN    0x0                                                                                             
24 johboh 2001
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
2002
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
2003
                                           *	Function: uartPutrs                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
2004
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
2005
                                           *	Input:	Byte array to send on uart (static)                                     F:\MCP\projects\CAN\canNode\Source\uart.c
2006
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\uart.c
2007
                                           *	Pre-conditions: call to uartInit()                                             F:\MCP\projects\CAN\canNode\Source\uart.c
2008
                                           *	Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
2009
                                           *	Depends: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
2010
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
33 johboh 2011
000c50   cfd9     MOVFF     0xfd9,0xfe6    void uartPutrs(const rom char *c)                                                F:\MCP\projects\CAN\canNode\Source\uart.c
2012
000c52   ffe6                                                                                                               
2013
000c54   cfe1     MOVFF     0xfe1,0xfd9                                                                                     
2014
000c56   ffd9                                                                                                               
24 johboh 2015
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
2016
                                           	do                                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
2017
                                             	{  // Transmit a byte                                                         F:\MCP\projects\CAN\canNode\Source\uart.c
33 johboh 2018
000c58   d81d     RCALL     0xc94              	while(uartBusy());                                                          F:\MCP\projects\CAN\canNode\Source\uart.c
2019
000c5a   0900     IORLW     0x0                                                                                             
2020
000c5c   e1fd     BNZ       0xc58                                                                                           
2021
000c5e   0efd     MOVLW     0xfd               	uartPutc(*c);                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
2022
000c60   cfdb     MOVFF     0xfdb,0xff6                                                                                     
2023
000c62   fff6                                                                                                               
2024
000c64   0efe     MOVLW     0xfe                                                                                            
2025
000c66   cfdb     MOVFF     0xfdb,0xff7                                                                                     
2026
000c68   fff7                                                                                                               
2027
000c6a   0008     TBLRD                                                                                                     
2028
000c6c   50f5     MOVF      0xf5,0x0,0x0                                                                                    
2029
000c6e   6ee6     MOVWF     0xe6,0x0                                                                                        
2030
000c70   dfc1     RCALL     0xbf4                                                                                           
2031
000c72   52e5     MOVF      0xe5,0x1,0x0                                                                                    
2032
000c74   0efd     MOVLW     0xfd             	} while( *c++ );                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
2033
000c76   cfdb     MOVFF     0xfdb,0xff6                                                                                     
2034
000c78   fff6                                                                                                               
2035
000c7a   2adb     INCF      0xdb,0x1,0x0                                                                                    
2036
000c7c   0efe     MOVLW     0xfe                                                                                            
2037
000c7e   cfdb     MOVFF     0xfdb,0xff7                                                                                     
2038
000c80   fff7                                                                                                               
2039
000c82   e301     BNC       0xc86                                                                                           
2040
000c84   2adb     INCF      0xdb,0x1,0x0                                                                                    
2041
000c86   0008     TBLRD                                                                                                     
2042
000c88   50f5     MOVF      0xf5,0x0,0x0                                                                                    
2043
000c8a   e1e6     BNZ       0xc58                                                                                           
2044
000c8c   52e5     MOVF      0xe5,0x1,0x0   }                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
2045
000c8e   cfe7     MOVFF     0xfe7,0xfd9                                                                                     
2046
000c90   ffd9                                                                                                               
2047
000c92   0012     RETURN    0x0                                                                                             
24 johboh 2048
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
2049
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
2050
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
2051
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
2052
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
2053
                                           *	Function: uartBusy                                                             F:\MCP\projects\CAN\canNode\Source\uart.c
2054
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
2055
                                           *	Input:	none.                                                                   F:\MCP\projects\CAN\canNode\Source\uart.c
2056
                                           *	Output: If usart busy or not.                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
2057
                                           *	Pre-conditions: call to uartInit()                                             F:\MCP\projects\CAN\canNode\Source\uart.c
2058
                                           *	Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
2059
                                           *	Depends: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
2060
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
2061
                                           char uartBusy(void)                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
2062
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
33 johboh 2063
000c94   50ac     MOVF      0xac,0x0,0x0   	return !TXSTAbits.TRMT;                                                         F:\MCP\projects\CAN\canNode\Source\uart.c
2064
000c96   0b02     ANDLW     0x2                                                                                             
2065
000c98   0a02     XORLW     0x2                                                                                             
2066
000c9a   e001     BZ        0xc9e                                                                                           
2067
000c9c   0e01     MOVLW     0x1                                                                                             
2068
000c9e   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
24 johboh 2069
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
2070
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
2071
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
2072
                                           *	Function: uartGet                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
2073
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
2074
                                           *	Input:	none                                                                    F:\MCP\projects\CAN\canNode\Source\uart.c
2075
                                           *	Output: Byte read                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
2076
                                           *	Pre-conditions: call to uartInit()                                             F:\MCP\projects\CAN\canNode\Source\uart.c
2077
                                           *	Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
2078
                                           *	Depends: none.                                                                 F:\MCP\projects\CAN\canNode\Source\uart.c
2079
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
2080
                                           BYTE uartGet(void)                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
2081
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
2082
                                           	// Return the received data                                                     F:\MCP\projects\CAN\canNode\Source\uart.c
33 johboh 2083
000ca0   50ae     MOVF      0xae,0x0,0x0   	return RCREG;	                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
2084
000ca2   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
24 johboh 2085
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
2086
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
2087
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
2088
                                           *	Function: uartISR                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
2089
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
2090
                                           *	Input:	none                                                                    F:\MCP\projects\CAN\canNode\Source\uart.c
2091
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\uart.c
2092
                                           *	Pre-conditions: call to uartInit()                                             F:\MCP\projects\CAN\canNode\Source\uart.c
2093
                                           *	Affects: call to uartParse                                                     F:\MCP\projects\CAN\canNode\Source\uart.c
2094
                                           *	Depends: none.                                                                 F:\MCP\projects\CAN\canNode\Source\uart.c
2095
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
2096
                                           void uartISR(void)                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
2097
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
33 johboh 2098
000ca4   509e     MOVF      0x9e,0x0,0x0   	if (PIR1bits.RCIF==1 && PIE1bits.RCIE==1)                                       F:\MCP\projects\CAN\canNode\Source\uart.c
2099
000ca6   0b20     ANDLW     0x20                                                                                            
2100
000ca8   e009     BZ        0xcbc                                                                                           
2101
000caa   509d     MOVF      0x9d,0x0,0x0                                                                                    
2102
000cac   0b20     ANDLW     0x20                                                                                            
2103
000cae   e006     BZ        0xcbc                                                                                           
24 johboh 2104
                                           	{                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
33 johboh 2105
000cb0   dff7     RCALL     0xca0          		uartParse(uartGet());                                                          F:\MCP\projects\CAN\canNode\Source\uart.c
2106
000cb2   6ee6     MOVWF     0xe6,0x0                                                                                        
2107
000cb4   ec9c     CALL      0x338,0x0                                                                                       
2108
000cb6   f001                                                                                                               
2109
000cb8   52e5     MOVF      0xe5,0x1,0x0                                                                                    
2110
000cba   9a9e     BCF       0x9e,0x5,0x0   		PIR1bits.RCIF=0;                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
24 johboh 2111
                                           	}                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
33 johboh 2112
000cbc   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
24 johboh 2113
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
2114
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
32 johboh 2115
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
2116
                                           *	Function: uartDataRedy                                                         F:\MCP\projects\CAN\canNode\Source\uart.c
2117
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
2118
                                           *	Input:	none.                                                                   F:\MCP\projects\CAN\canNode\Source\uart.c
2119
                                           *	Output: If usart data are redy to be read.                                     F:\MCP\projects\CAN\canNode\Source\uart.c
2120
                                           *	Pre-conditions: call to uartInit()                                             F:\MCP\projects\CAN\canNode\Source\uart.c
2121
                                           *	Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
2122
                                           *	Depends: none                                                                  F:\MCP\projects\CAN\canNode\Source\uart.c
2123
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
2124
                                           char uartDataRedy(void)                                                          F:\MCP\projects\CAN\canNode\Source\uart.c
2125
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
33 johboh 2126
000cbe   a2ab     BTFSS     0xab,0x1,0x0   	if(RCSTAbits.OERR)                                                              F:\MCP\projects\CAN\canNode\Source\uart.c
2127
000cc0   d002     BRA       0xcc6                                                                                           
32 johboh 2128
                                           	{                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
33 johboh 2129
000cc2   98ab     BCF       0xab,0x4,0x0   		RCSTAbits.CREN = 0;                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
2130
000cc4   88ab     BSF       0xab,0x4,0x0   		RCSTAbits.CREN = 1;                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
32 johboh 2131
                                           	}                                                                               F:\MCP\projects\CAN\canNode\Source\uart.c
33 johboh 2132
000cc6   509e     MOVF      0x9e,0x0,0x0     return PIR1bits.RCIF;                                                          F:\MCP\projects\CAN\canNode\Source\uart.c
2133
000cc8   0b20     ANDLW     0x20                                                                                            
2134
000cca   e001     BZ        0xcce                                                                                           
2135
000ccc   0e01     MOVLW     0x1                                                                                             
2136
000cce   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\uart.c
32 johboh 2137
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\uart.c
24 johboh 2138
                                           #endif                                                                           F:\MCP\projects\CAN\canNode\Source\uart.c
26 johboh 2139
                                           /*********************************************************************           F:\MCP\projects\CAN\canNode\Source\Tick.c
2140
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
2141
                                            *                  Ticker service                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
2142
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
2143
                                            *********************************************************************           F:\MCP\projects\CAN\canNode\Source\Tick.c
2144
                                            * FileName:        Tick.c                                                       F:\MCP\projects\CAN\canNode\Source\Tick.c
2145
                                            *                                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
2146
                                            * Author               Date    Comment                                          F:\MCP\projects\CAN\canNode\Source\Tick.c
2147
                                            *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~           F:\MCP\projects\CAN\canNode\Source\Tick.c
2148
                                            * Johan Böhlin     21-10-06 	Original        (Rev 1.0)                          F:\MCP\projects\CAN\canNode\Source\Tick.c
2149
                                            ********************************************************************/           F:\MCP\projects\CAN\canNode\Source\Tick.c
2150
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
24 johboh 2151
                                           #define TICK_INCLUDE                                                             F:\MCP\projects\CAN\canNode\Source\Tick.c
2152
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
2153
                                           #include "..\Include\Tick.h"                                                     F:\MCP\projects\CAN\canNode\Source\Tick.c
2154
                                           #include "..\Include\Compiler.h"                                                 F:\MCP\projects\CAN\canNode\Source\Tick.c
2155
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
2156
                                           #define TICK_TEMP_VALUE_1 ((INSTR_FREQ) / (TICKS_PER_SECOND * TICK_PRESCALE_VALUE)) F:\MCP\projects\CAN\canNode\Source\Tick.c
2157
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
2158
                                           #if TICK_TEMP_VALUE_1 > 60000                                                    F:\MCP\projects\CAN\canNode\Source\Tick.c
2159
                                           #error TICK_PER_SECOND value cannot be programmed with current CLOCK_FREQ        F:\MCP\projects\CAN\canNode\Source\Tick.c
2160
                                           #error Either lower TICK_PER_SECOND or manually configure the Timer              F:\MCP\projects\CAN\canNode\Source\Tick.c
2161
                                           #endif                                                                           F:\MCP\projects\CAN\canNode\Source\Tick.c
2162
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
2163
                                           #define TICK_TEMP_VALUE         (65535 - TICK_TEMP_VALUE_1)                      F:\MCP\projects\CAN\canNode\Source\Tick.c
2164
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
2165
                                           #define TICK_COUNTER_HIGH       ((TICK_TEMP_VALUE >> 8) & 0xff)                  F:\MCP\projects\CAN\canNode\Source\Tick.c
2166
                                           #define TICK_COUNTER_LOW        (TICK_TEMP_VALUE & 0xff)                         F:\MCP\projects\CAN\canNode\Source\Tick.c
2167
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
2168
                                           #if (TICK_PRESCALE_VALUE == 2)                                                   F:\MCP\projects\CAN\canNode\Source\Tick.c
2169
                                               #define TIMER_PRESCALE  (0)                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
2170
                                           #elif ( TICK_PRESCALE_VALUE == 4 )                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
2171
                                               #define TIMER_PRESCALE  (1)                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
2172
                                           #elif ( TICK_PRESCALE_VALUE == 8 )                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
2173
                                               #define TIMER_PRESCALE  (2)                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
2174
                                           #elif ( TICK_PRESCALE_VALUE == 16 )                                              F:\MCP\projects\CAN\canNode\Source\Tick.c
2175
                                               #define TIMER_PRESCALE  (3)                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
2176
                                           #elif ( TICK_PRESCALE_VALUE == 32 )                                              F:\MCP\projects\CAN\canNode\Source\Tick.c
2177
                                               #define TIMER_PRESCALE  (4)                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
2178
                                           #elif ( TICK_PRESCALE_VALUE == 64 )                                              F:\MCP\projects\CAN\canNode\Source\Tick.c
2179
                                               #define TIMER_PRESCALE  (5)                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
2180
                                           #elif ( TICK_PRESCALE_VALUE == 128 )                                             F:\MCP\projects\CAN\canNode\Source\Tick.c
2181
                                               #define TIMER_PRESCALE  (6)                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
2182
                                           #elif ( TICK_PRESCALE_VALUE == 256 )                                             F:\MCP\projects\CAN\canNode\Source\Tick.c
2183
                                               #define TIMER_PRESCALE  (7)                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
2184
                                           #else                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
2185
                                               #error Invalid TICK_PRESCALE_VALUE specified.                                F:\MCP\projects\CAN\canNode\Source\Tick.c
2186
                                           #endif                                                                           F:\MCP\projects\CAN\canNode\Source\Tick.c
2187
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
2188
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
2189
                                           TICK TickCount = 0;	// 10ms/unit                                                 F:\MCP\projects\CAN\canNode\Source\Tick.c
2190
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
2191
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
2192
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
2193
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
2194
                                           *	Function: TickInit                                                             F:\MCP\projects\CAN\canNode\Source\Tick.c
2195
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
2196
                                           *	Input:	none                                                                    F:\MCP\projects\CAN\canNode\Source\Tick.c
2197
                                           *	Output: Tick manager is initialized.                                           F:\MCP\projects\CAN\canNode\Source\Tick.c
2198
                                           *	Pre-conditions: TickInit                                                       F:\MCP\projects\CAN\canNode\Source\Tick.c
2199
                                           *	Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
2200
                                           *	Depends: none                                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
2201
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
2202
                                           #define PERIOD (INSTR_FREQ/256/1000)*TICK_PERIOD_MS                              F:\MCP\projects\CAN\canNode\Source\Tick.c
2203
                                           void tickInit(void)                                                              F:\MCP\projects\CAN\canNode\Source\Tick.c
2204
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
2205
                                               // Start the timer.                                                          F:\MCP\projects\CAN\canNode\Source\Tick.c
33 johboh 2206
000d6e   0e79     MOVLW     0x79               TMR0L = TICK_COUNTER_LOW;                                                    F:\MCP\projects\CAN\canNode\Source\Tick.c
2207
000d70   6ed6     MOVWF     0xd6,0x0                                                                                        
2208
000d72   0efe     MOVLW     0xfe               TMR0H = TICK_COUNTER_HIGH;                                                   F:\MCP\projects\CAN\canNode\Source\Tick.c
2209
000d74   6ed7     MOVWF     0xd7,0x0                                                                                        
24 johboh 2210
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
2211
                                               // 16-BIT, internal timer, PSA set to 1:256                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
33 johboh 2212
000d76   0e07     MOVLW     0x7                T0CON = 0b00000000 | TIMER_PRESCALE;                                         F:\MCP\projects\CAN\canNode\Source\Tick.c
2213
000d78   6ed5     MOVWF     0xd5,0x0                                                                                        
24 johboh 2214
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
2215
                                               // Start the timer.                                                          F:\MCP\projects\CAN\canNode\Source\Tick.c
33 johboh 2216
000d7a   8ed5     BSF       0xd5,0x7,0x0       T0CONbits.TMR0ON = 1;                                                        F:\MCP\projects\CAN\canNode\Source\Tick.c
24 johboh 2217
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
33 johboh 2218
000d7c   84f2     BSF       0xf2,0x2,0x0       INTCONbits.TMR0IF = 1;                                                       F:\MCP\projects\CAN\canNode\Source\Tick.c
2219
000d7e   8af2     BSF       0xf2,0x5,0x0       INTCONbits.TMR0IE = 1;                                                       F:\MCP\projects\CAN\canNode\Source\Tick.c
2220
000d80   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
24 johboh 2221
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
2222
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
2223
                                           *	Function: TickGet                                                              F:\MCP\projects\CAN\canNode\Source\Tick.c
2224
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
2225
                                           *	Input:	none                                                                    F:\MCP\projects\CAN\canNode\Source\Tick.c
2226
                                           *	Output: Current tick value is given, 1 tick represents approximately 10ms      F:\MCP\projects\CAN\canNode\Source\Tick.c
2227
                                           *	Pre-conditions: TickInit                                                       F:\MCP\projects\CAN\canNode\Source\Tick.c
2228
                                           *	Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
2229
                                           *	Depends: none                                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
2230
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
2231
                                           TICK tickGet(void)                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
2232
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
33 johboh 2233
000d82   c075     MOVFF     0x75,0x18          return TickCount;                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
2234
000d84   f018                                                                                                               
2235
000d86   c076     MOVFF     0x76,0x19                                                                                       
2236
000d88   f019                                                                                                               
2237
000d8a   c077     MOVFF     0x77,0x1a                                                                                       
2238
000d8c   f01a                                                                                                               
2239
000d8e   c078     MOVFF     0x78,0x1b                                                                                       
2240
000d90   f01b                                                                                                               
2241
000d92   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
24 johboh 2242
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
2243
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
2244
                                           /*                                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
2245
                                           *	Function: tickUpdate                                                           F:\MCP\projects\CAN\canNode\Source\Tick.c
2246
                                           *                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
2247
                                           *	Input:	none                                                                    F:\MCP\projects\CAN\canNode\Source\Tick.c
2248
                                           *	Output: none                                                                   F:\MCP\projects\CAN\canNode\Source\Tick.c
2249
                                           *	Pre-conditions: TickInit                                                       F:\MCP\projects\CAN\canNode\Source\Tick.c
2250
                                           *	Affects: none                                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
2251
                                           *	Depends: none                                                                  F:\MCP\projects\CAN\canNode\Source\Tick.c
2252
                                           */                                                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
2253
                                           void tickUpdate(void)                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
2254
                                           {                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
33 johboh 2255
000d94   a4f2     BTFSS     0xf2,0x2,0x0       if(INTCONbits.TMR0IF)                                                        F:\MCP\projects\CAN\canNode\Source\Tick.c
2256
000d96   d00b     BRA       0xdae                                                                                           
24 johboh 2257
                                               {                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
33 johboh 2258
000d98   0efe     MOVLW     0xfe                   TMR0H = TICK_COUNTER_HIGH;                                               F:\MCP\projects\CAN\canNode\Source\Tick.c
2259
000d9a   6ed7     MOVWF     0xd7,0x0                                                                                        
2260
000d9c   0e79     MOVLW     0x79                   TMR0L = TICK_COUNTER_LOW;                                                F:\MCP\projects\CAN\canNode\Source\Tick.c
2261
000d9e   6ed6     MOVWF     0xd6,0x0                                                                                        
24 johboh 2262
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
33 johboh 2263
000da0   0100     MOVLB     0x0                    TickCount++;                                                             F:\MCP\projects\CAN\canNode\Source\Tick.c
2264
000da2   2b75     INCF      0x75,0x1,0x1                                                                                    
2265
000da4   0e00     MOVLW     0x0                                                                                             
2266
000da6   2376     ADDWFC    0x76,0x1,0x1                                                                                    
2267
000da8   2377     ADDWFC    0x77,0x1,0x1                                                                                    
2268
000daa   2378     ADDWFC    0x78,0x1,0x1                                                                                    
24 johboh 2269
                                                                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
33 johboh 2270
000dac   94f2     BCF       0xf2,0x2,0x0           INTCONbits.TMR0IF = 0;                                                   F:\MCP\projects\CAN\canNode\Source\Tick.c
24 johboh 2271
                                               }                                                                            F:\MCP\projects\CAN\canNode\Source\Tick.c
33 johboh 2272
000dae   0012     RETURN    0x0            }                                                                                F:\MCP\projects\CAN\canNode\Source\Tick.c