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