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