Subversion Repositories HomeAutomation

Rev

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

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