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