Rev 342 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed
| Rev 342 | Rev 347 | ||
|---|---|---|---|
| Line 1... | Line 1... | ||
| 1 | MP2COD 4.1, COFF to COD File Converter |
1 | MP2COD 4.1, COFF to COD File Converter |
| 2 | Copyright (c) 2006 Microchip Technology Inc. |
2 | Copyright (c) 2006 Microchip Technology Inc. |
| 3 | Listing File Generated: |
3 | Listing File Generated: Thu Mar 01 14:31:57 2007 |
| 4 | 4 | ||
| 5 | 5 | ||
| 6 | Address Value Disassembly Source File |
6 | Address Value Disassembly Source File |
| 7 | ------- ------- ----------------------- ------------------------------------------------------------------------------- ----- |
7 | ------- ------- ----------------------- ------------------------------------------------------------------------------- ----- |
| 8 | /********************************************************************* F:\MCP\projects\CAN\canBase\Source\CAN.c |
8 | /********************************************************************* F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 9 | * F:\MCP\projects\CAN\canBase\Source\CAN.c |
9 | * F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 10 | * CAN module F:\MCP\projects\CAN\canBase\Source\CAN.c |
10 | * CAN module F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 11 | * F:\MCP\projects\CAN\canBase\Source\CAN.c |
11 | * F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 12 | ********************************************************************* F:\MCP\projects\CAN\canBase\Source\CAN.c |
12 | ********************************************************************* F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 13 | * FileName: $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canBase/Source/CAN.c $ F:\MCP\projects\CAN\canBase\Source\CAN.c |
13 | * FileName: $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canBase/Source/CAN.c $ F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 14 | * Last changed: $LastChangedDate: 2007-02- |
14 | * Last changed: $LastChangedDate: 2007-02-26 21:38:37 +0100 (må, 26 feb 2007) $ F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 15 | * By: $LastChangedBy: johboh $ F:\MCP\projects\CAN\canBase\Source\CAN.c |
15 | * By: $LastChangedBy: johboh $ F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 16 | * Revision: $Revision: |
16 | * Revision: $Revision: 342 $ F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 17 | ********************************************************************/ F:\MCP\projects\CAN\canBase\Source\CAN.c |
17 | ********************************************************************/ F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 18 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
18 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 19 | #include <CANdefs.h> F:\MCP\projects\CAN\canBase\Source\CAN.c |
19 | #include <CANdefs.h> F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 20 | #include <stackTasks.h> F:\MCP\projects\CAN\canBase\Source\CAN.c |
20 | #include <stackTasks.h> F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 21 | #include <CAN.h> F:\MCP\projects\CAN\canBase\Source\CAN.c |
21 | #include <CAN.h> F:\MCP\projects\CAN\canBase\Source\CAN.c |
| Line 132... | Line 132... | ||
| 132 | 0030a2 d7fc BRA 0x309c |
132 | 0030a2 d7fc BRA 0x309c |
| 133 | #endif F:\MCP\projects\CAN\canBase\Source\CAN.c |
133 | #endif F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 134 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
134 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 135 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
135 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 136 | // Init ticker service F:\MCP\projects\CAN\canBase\Source\CAN.c |
136 | // Init ticker service F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 137 | 0030a4 |
137 | 0030a4 ec20 CALL 0x4640,0x0 tickInit(); F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 138 | 0030a6 |
138 | 0030a6 f023 |
| 139 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
139 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 140 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
140 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 141 | // Read ID and NID if exist. F:\MCP\projects\CAN\canBase\Source\CAN.c |
141 | // Read ID and NID if exist. F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 142 | 0030a8 0e00 MOVLW 0x0 if (EERead(NODE_ID_EE)==NODE_HAS_ID) F:\MCP\projects\CAN\canBase\Source\CAN.c |
142 | 0030a8 0e00 MOVLW 0x0 if (EERead(NODE_ID_EE)==NODE_HAS_ID) F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 143 | 0030aa 6ee6 MOVWF 0xe6,0x0 |
143 | 0030aa 6ee6 MOVWF 0xe6,0x0 |
| 144 | 0030ac 6ae6 CLRF 0xe6,0x0 |
144 | 0030ac 6ae6 CLRF 0xe6,0x0 |
| 145 | 0030ae |
145 | 0030ae ec1f CALL 0x443e,0x0 |
| 146 | 0030b0 |
146 | 0030b0 f022 |
| 147 | 0030b2 52e5 MOVF 0xe5,0x1,0x0 |
147 | 0030b2 52e5 MOVF 0xe5,0x1,0x0 |
| 148 | 0030b4 52e5 MOVF 0xe5,0x1,0x0 |
148 | 0030b4 52e5 MOVF 0xe5,0x1,0x0 |
| 149 | 0030b6 082a SUBLW 0x2a |
149 | 0030b6 082a SUBLW 0x2a |
| 150 | 0030b8 e10a BNZ 0x30ce |
150 | 0030b8 e10a BNZ 0x30ce |
| 151 | { F:\MCP\projects\CAN\canBase\Source\CAN.c |
151 | { F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 152 | 0030ba 0e01 MOVLW 0x1 MY_ID=+EERead(NODE_ID_EE + 1); F:\MCP\projects\CAN\canBase\Source\CAN.c |
152 | 0030ba 0e01 MOVLW 0x1 MY_ID=+EERead(NODE_ID_EE + 1); F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 153 | 0030bc 6ee6 MOVWF 0xe6,0x0 |
153 | 0030bc 6ee6 MOVWF 0xe6,0x0 |
| 154 | 0030be 6ae6 CLRF 0xe6,0x0 |
154 | 0030be 6ae6 CLRF 0xe6,0x0 |
| 155 | 0030c0 |
155 | 0030c0 ec1f CALL 0x443e,0x0 |
| 156 | 0030c2 |
156 | 0030c2 f022 |
| 157 | 0030c4 52e5 MOVF 0xe5,0x1,0x0 |
157 | 0030c4 52e5 MOVF 0xe5,0x1,0x0 |
| 158 | 0030c6 52e5 MOVF 0xe5,0x1,0x0 |
158 | 0030c6 52e5 MOVF 0xe5,0x1,0x0 |
| 159 | 0030c8 0100 MOVLB 0x0 |
159 | 0030c8 0100 MOVLB 0x0 |
| 160 | 0030ca |
160 | 0030ca 6fa1 MOVWF 0xa1,0x1 |
| 161 | 0030cc |
161 | 0030cc 6ba2 CLRF 0xa2,0x1 |
| 162 | } F:\MCP\projects\CAN\canBase\Source\CAN.c |
162 | } F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 163 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
163 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 164 | // Send user program startup heatbeat F:\MCP\projects\CAN\canBase\Source\CAN.c |
164 | // Send user program startup heatbeat F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 165 | 0030ce 0100 MOVLB 0x0 outCp.type=ptPGM; F:\MCP\projects\CAN\canBase\Source\CAN.c |
165 | 0030ce 0100 MOVLB 0x0 outCp.type=ptPGM; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 166 | 0030d0 0e01 MOVLW 0x1 |
166 | 0030d0 0e01 MOVLW 0x1 |
| Line 169... | Line 169... | ||
| 169 | 0030d6 6f66 MOVWF 0x66,0x1 outCp.pgm.id=pctAPPBOOT; F:\MCP\projects\CAN\canBase\Source\CAN.c |
169 | 0030d6 6f66 MOVWF 0x66,0x1 outCp.pgm.id=pctAPPBOOT; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 170 | 0030d8 6b67 CLRF 0x67,0x1 |
170 | 0030d8 6b67 CLRF 0x67,0x1 |
| 171 | 0030da 0e02 MOVLW 0x2 outCp.length=2; F:\MCP\projects\CAN\canBase\Source\CAN.c |
171 | 0030da 0e02 MOVLW 0x2 outCp.length=2; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 172 | 0030dc 6f6c MOVWF 0x6c,0x1 |
172 | 0030dc 6f6c MOVWF 0x6c,0x1 |
| 173 | 0030de 6b6e CLRF 0x6e,0x1 outCp.data[1]=(BYTE)((APP_VERSION & 0xFF00)>>8); F:\MCP\projects\CAN\canBase\Source\CAN.c |
173 | 0030de 6b6e CLRF 0x6e,0x1 outCp.data[1]=(BYTE)((APP_VERSION & 0xFF00)>>8); F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 174 | 0030e0 |
174 | 0030e0 6f6d MOVWF 0x6d,0x1 outCp.data[0]=(BYTE)(APP_VERSION & 0xFF); F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 175 | 0030e2 6f6d MOVWF 0x6d,0x1 |
- | |
| 176 |
|
175 | 0030e2 0e02 MOVLW 0x2 while(!canSendMessage(outCp,PRIO_HIGH)); F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 177 |
|
176 | 0030e4 6ee6 MOVWF 0xe6,0x0 |
| 178 |
|
177 | 0030e6 c064 MOVFF 0x64,0xfe6 |
| 179 |
|
178 | 0030e8 ffe6 |
| 180 |
|
179 | 0030ea c065 MOVFF 0x65,0xfe6 |
| 181 |
|
180 | 0030ec ffe6 |
| 182 |
|
181 | 0030ee c066 MOVFF 0x66,0xfe6 |
| 183 |
|
182 | 0030f0 ffe6 |
| 184 |
|
183 | 0030f2 c067 MOVFF 0x67,0xfe6 |
| 185 |
|
184 | 0030f4 ffe6 |
| 186 |
|
185 | 0030f6 c068 MOVFF 0x68,0xfe6 |
| 187 |
|
186 | 0030f8 ffe6 |
| 188 |
|
187 | 0030fa c069 MOVFF 0x69,0xfe6 |
| 189 |
|
188 | 0030fc ffe6 |
| 190 |
|
189 | 0030fe c06a MOVFF 0x6a,0xfe6 |
| 191 |
|
190 | 003100 ffe6 |
| 192 |
|
191 | 003102 c06b MOVFF 0x6b,0xfe6 |
| 193 |
|
192 | 003104 ffe6 |
| 194 |
|
193 | 003106 c06c MOVFF 0x6c,0xfe6 |
| 195 |
|
194 | 003108 ffe6 |
| 196 |
|
195 | 00310a c06d MOVFF 0x6d,0xfe6 |
| 197 |
|
196 | 00310c ffe6 |
| 198 |
|
197 | 00310e c06e MOVFF 0x6e,0xfe6 |
| 199 |
|
198 | 003110 ffe6 |
| 200 |
|
199 | 003112 c06f MOVFF 0x6f,0xfe6 |
| 201 |
|
200 | 003114 ffe6 |
| 202 |
|
201 | 003116 c070 MOVFF 0x70,0xfe6 |
| 203 |
|
202 | 003118 ffe6 |
| 204 |
|
203 | 00311a c071 MOVFF 0x71,0xfe6 |
| 205 |
|
204 | 00311c ffe6 |
| 206 |
|
205 | 00311e c072 MOVFF 0x72,0xfe6 |
| 207 |
|
206 | 003120 ffe6 |
| 208 |
|
207 | 003122 c073 MOVFF 0x73,0xfe6 |
| 209 |
|
208 | 003124 ffe6 |
| 210 |
|
209 | 003126 c074 MOVFF 0x74,0xfe6 |
| 211 |
|
210 | 003128 ffe6 |
| 212 |
|
211 | 00312a d9cb RCALL 0x34c2 |
| 213 |
|
212 | 00312c 6e00 MOVWF 0x0,0x0 |
| 214 |
|
213 | 00312e 0e12 MOVLW 0x12 |
| 215 |
|
214 | 003130 5ee1 SUBWF 0xe1,0x1,0x0 |
| 216 |
|
215 | 003132 5000 MOVF 0x0,0x0,0x0 |
| 217 |
|
216 | 003134 0900 IORLW 0x0 |
| 218 |
|
217 | 003136 e101 BNZ 0x313a |
| 219 |
|
218 | 003138 d7d4 BRA 0x30e2 |
| 220 |
|
219 | 00313a 0012 RETURN 0x0 } F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 221 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
220 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 222 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
221 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 223 | /* F:\MCP\projects\CAN\canBase\Source\CAN.c |
222 | /* F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 224 | * Function: canISR F:\MCP\projects\CAN\canBase\Source\CAN.c |
223 | * Function: canISR F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 225 | * F:\MCP\projects\CAN\canBase\Source\CAN.c |
224 | * F:\MCP\projects\CAN\canBase\Source\CAN.c |
| Line 229... | Line 228... | ||
| 229 | * Affects: interrupt registers and receive data buffers F:\MCP\projects\CAN\canBase\Source\CAN.c |
228 | * Affects: interrupt registers and receive data buffers F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 230 | * Depends: .. F:\MCP\projects\CAN\canBase\Source\CAN.c |
229 | * Depends: .. F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 231 | */ F:\MCP\projects\CAN\canBase\Source\CAN.c |
230 | */ F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 232 | void canISR() F:\MCP\projects\CAN\canBase\Source\CAN.c |
231 | void canISR() F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 233 | { F:\MCP\projects\CAN\canBase\Source\CAN.c |
232 | { F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 234 |
|
233 | 00313c 0004 CLRWDT ClrWdt(); F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 235 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
234 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 236 |
|
235 | 00313e 50a4 MOVF 0xa4,0x0,0x0 if (PIR3bits.RXBnIF || PIR3bits.RXB1IF || PIR3bits.RXB0IF) F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 237 |
|
236 | 003140 0b02 ANDLW 0x2 |
| 238 |
|
237 | 003142 e106 BNZ 0x3150 |
| 239 |
|
238 | 003144 50a4 MOVF 0xa4,0x0,0x0 |
| 240 |
|
239 | 003146 0b02 ANDLW 0x2 |
| 241 |
|
240 | 003148 e103 BNZ 0x3150 |
| 242 |
|
241 | 00314a 50a4 MOVF 0xa4,0x0,0x0 |
| 243 |
|
242 | 00314c 0b01 ANDLW 0x1 |
| 244 |
|
243 | 00314e e016 BZ 0x317c |
| 245 | { F:\MCP\projects\CAN\canBase\Source\CAN.c |
244 | { F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 246 |
|
245 | 003150 0e0f MOVLW 0xf ECANCON=(ECANCON&0b00000)|(0b10000|(CANCON&0x0F)); F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 247 |
|
246 | 003152 146f ANDWF 0x6f,0x0,0x0 |
| 248 |
|
247 | 003154 0910 IORLW 0x10 |
| 249 |
|
248 | 003156 6e00 MOVWF 0x0,0x0 |
| 250 |
|
249 | 003158 0e00 MOVLW 0x0 |
| 251 |
|
250 | 00315a 1477 ANDWF 0x77,0x0,0x0 |
| 252 |
|
251 | 00315c 1000 IORWF 0x0,0x0,0x0 |
| 253 |
|
252 | 00315e 6e77 MOVWF 0x77,0x0 |
| 254 |
|
253 | 003160 be60 BTFSC 0x60,0x7,0x0 if (RXB0CONbits.RXFUL) canGetPacket(); F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 255 |
|
254 | 003162 d869 RCALL 0x3236 |
| 256 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
255 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 257 |
|
256 | 003164 a2a4 BTFSS 0xa4,0x1,0x0 if (PIR3bits.RXBnIF) {PIR3bits.RXBnIF = 0; return;} F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 258 |
|
257 | 003166 d002 BRA 0x316c |
| 259 |
|
258 | 003168 92a4 BCF 0xa4,0x1,0x0 |
| 260 |
|
259 | 00316a d064 BRA 0x3234 |
| 261 |
|
260 | 00316c a2a4 BTFSS 0xa4,0x1,0x0 if (PIR3bits.RXB1IF) {PIR3bits.RXB1IF = 0; return;} F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 262 |
|
261 | 00316e d002 BRA 0x3174 |
| 263 |
|
262 | 003170 92a4 BCF 0xa4,0x1,0x0 |
| 264 |
|
263 | 003172 d060 BRA 0x3234 |
| 265 |
|
264 | 003174 a0a4 BTFSS 0xa4,0x0,0x0 if (PIR3bits.RXB0IF) {PIR3bits.RXB0IF = 0; return;} F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 266 |
|
265 | 003176 d002 BRA 0x317c |
| 267 |
|
266 | 003178 90a4 BCF 0xa4,0x0,0x0 |
| 268 |
|
267 | 00317a d05c BRA 0x3234 |
| 269 | } F:\MCP\projects\CAN\canBase\Source\CAN.c |
268 | } F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 270 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
269 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 271 |
|
270 | 00317c ec34 CALL 0x4668,0x0 tickUpdate(); F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 272 |
|
271 | 00317e f023 |
| 273 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
272 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 274 |
|
273 | 003180 ec2a CALL 0x4654,0x0 if ((tickGet()-heartbeat)>TICK_SECOND*5) F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 275 |
|
274 | 003182 f023 |
| 276 |
|
275 | 003184 0100 MOVLB 0x0 |
| 277 |
|
276 | 003186 5160 MOVF 0x60,0x0,0x1 |
| 278 |
|
277 | 003188 5c29 SUBWF 0x29,0x0,0x0 |
| 279 |
|
278 | 00318a 6e00 MOVWF 0x0,0x0 |
| 280 |
|
279 | 00318c 0100 MOVLB 0x0 |
| 281 |
|
280 | 00318e 5161 MOVF 0x61,0x0,0x1 |
| 282 |
|
281 | 003190 582a SUBWFB 0x2a,0x0,0x0 |
| 283 |
|
282 | 003192 6e01 MOVWF 0x1,0x0 |
| 284 |
|
283 | 003194 0100 MOVLB 0x0 |
| 285 |
|
284 | 003196 5162 MOVF 0x62,0x0,0x1 |
| 286 |
|
285 | 003198 582b SUBWFB 0x2b,0x0,0x0 |
| 287 |
|
286 | 00319a 6e02 MOVWF 0x2,0x0 |
| 288 |
|
287 | 00319c 0100 MOVLB 0x0 |
| 289 |
|
288 | 00319e 5163 MOVF 0x63,0x0,0x1 |
| 290 |
|
289 | 0031a0 582c SUBWFB 0x2c,0x0,0x0 |
| 291 |
|
290 | 0031a2 6e03 MOVWF 0x3,0x0 |
| 292 |
|
291 | 0031a4 80d8 BSF 0xd8,0x0,0x0 |
| 293 |
|
292 | 0031a6 0ef4 MOVLW 0xf4 |
| 294 |
|
293 | 0031a8 5400 SUBFWB 0x0,0x0,0x0 |
| 295 |
|
294 | 0031aa 0e01 MOVLW 0x1 |
| 296 |
|
295 | 0031ac 5401 SUBFWB 0x1,0x0,0x0 |
| 297 |
|
296 | 0031ae 0e00 MOVLW 0x0 |
| 298 |
|
297 | 0031b0 5402 SUBFWB 0x2,0x0,0x0 |
| 299 |
|
298 | 0031b2 0e00 MOVLW 0x0 |
| 300 |
|
299 | 0031b4 5403 SUBFWB 0x3,0x0,0x0 |
| 301 |
|
300 | 0031b6 e23e BC 0x3234 |
| 302 | { F:\MCP\projects\CAN\canBase\Source\CAN.c |
301 | { F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 303 | // Send alive heartbeat F:\MCP\projects\CAN\canBase\Source\CAN.c |
302 | // Send alive heartbeat F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 304 |
|
303 | 0031b8 0100 MOVLB 0x0 outCp.type=ptPGM; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 305 |
|
304 | 0031ba 0e01 MOVLW 0x1 |
| 306 |
|
305 | 0031bc 6f64 MOVWF 0x64,0x1 |
| 307 |
|
306 | 0031be 0100 MOVLB 0x0 outCp.pgm.class=pcCTRL; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 308 |
|
307 | 0031c0 6b65 CLRF 0x65,0x1 |
| 309 |
|
308 | 0031c2 0e02 MOVLW 0x2 outCp.pgm.id=pctHEARTBEAT; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 310 |
|
309 | 0031c4 0100 MOVLB 0x0 |
| 311 |
|
310 | 0031c6 6f66 MOVWF 0x66,0x1 |
| 312 |
|
311 | 0031c8 6b67 CLRF 0x67,0x1 |
| 313 |
|
312 | 0031ca 0100 MOVLB 0x0 outCp.length=0; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 314 |
|
313 | 0031cc 6b6c CLRF 0x6c,0x1 |
| 315 |
|
314 | 0031ce 0e02 MOVLW 0x2 canSendMessage(outCp,PRIO_HIGH); F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 316 |
|
315 | 0031d0 6ee6 MOVWF 0xe6,0x0 |
| 317 |
|
316 | 0031d2 c064 MOVFF 0x64,0xfe6 |
| 318 |
|
317 | 0031d4 ffe6 |
| 319 |
|
318 | 0031d6 c065 MOVFF 0x65,0xfe6 |
| 320 |
|
319 | 0031d8 ffe6 |
| 321 |
|
320 | 0031da c066 MOVFF 0x66,0xfe6 |
| 322 |
|
321 | 0031dc ffe6 |
| 323 |
|
322 | 0031de c067 MOVFF 0x67,0xfe6 |
| 324 |
|
323 | 0031e0 ffe6 |
| 325 |
|
324 | 0031e2 c068 MOVFF 0x68,0xfe6 |
| 326 |
|
325 | 0031e4 ffe6 |
| 327 |
|
326 | 0031e6 c069 MOVFF 0x69,0xfe6 |
| 328 |
|
327 | 0031e8 ffe6 |
| 329 |
|
328 | 0031ea c06a MOVFF 0x6a,0xfe6 |
| 330 |
|
329 | 0031ec ffe6 |
| 331 |
|
330 | 0031ee c06b MOVFF 0x6b,0xfe6 |
| 332 |
|
331 | 0031f0 ffe6 |
| 333 |
|
332 | 0031f2 c06c MOVFF 0x6c,0xfe6 |
| 334 |
|
333 | 0031f4 ffe6 |
| 335 |
|
334 | 0031f6 c06d MOVFF 0x6d,0xfe6 |
| 336 |
|
335 | 0031f8 ffe6 |
| 337 |
|
336 | 0031fa c06e MOVFF 0x6e,0xfe6 |
| 338 |
|
337 | 0031fc ffe6 |
| 339 |
|
338 | 0031fe c06f MOVFF 0x6f,0xfe6 |
| 340 |
|
339 | 003200 ffe6 |
| 341 |
|
340 | 003202 c070 MOVFF 0x70,0xfe6 |
| 342 |
|
341 | 003204 ffe6 |
| 343 |
|
342 | 003206 c071 MOVFF 0x71,0xfe6 |
| 344 |
|
343 | 003208 ffe6 |
| 345 |
|
344 | 00320a c072 MOVFF 0x72,0xfe6 |
| 346 |
|
345 | 00320c ffe6 |
| 347 |
|
346 | 00320e c073 MOVFF 0x73,0xfe6 |
| 348 |
|
347 | 003210 ffe6 |
| 349 |
|
348 | 003212 c074 MOVFF 0x74,0xfe6 |
| 350 |
|
349 | 003214 ffe6 |
| 351 |
|
350 | 003216 d955 RCALL 0x34c2 |
| 352 |
|
351 | 003218 6e00 MOVWF 0x0,0x0 |
| 353 |
|
352 | 00321a 0e12 MOVLW 0x12 |
| 354 |
|
353 | 00321c 5ee1 SUBWF 0xe1,0x1,0x0 |
| 355 |
|
354 | 00321e 5000 MOVF 0x0,0x0,0x0 |
| 356 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
355 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 357 |
|
356 | 003220 ec2a CALL 0x4654,0x0 heartbeat = tickGet(); F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 358 |
|
357 | 003222 f023 |
| 359 |
|
358 | 003224 c029 MOVFF 0x29,0x60 |
| 360 |
|
359 | 003226 f060 |
| 361 |
|
360 | 003228 c02a MOVFF 0x2a,0x61 |
| 362 |
|
361 | 00322a f061 |
| 363 |
|
362 | 00322c c02b MOVFF 0x2b,0x62 |
| 364 |
|
363 | 00322e f062 |
| 365 |
|
364 | 003230 c02c MOVFF 0x2c,0x63 |
| 366 |
|
365 | 003232 f063 |
| 367 | } F:\MCP\projects\CAN\canBase\Source\CAN.c |
366 | } F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 368 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
367 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 369 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
368 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 370 |
|
369 | 003234 0012 RETURN 0x0 } F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 371 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
370 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 372 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
371 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 373 | /* F:\MCP\projects\CAN\canBase\Source\CAN.c |
372 | /* F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 374 | * Function: canGetPacket F:\MCP\projects\CAN\canBase\Source\CAN.c |
373 | * Function: canGetPacket F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 375 | * F:\MCP\projects\CAN\canBase\Source\CAN.c |
374 | * F:\MCP\projects\CAN\canBase\Source\CAN.c |
| Line 377... | Line 376... | ||
| 377 | * Output: none F:\MCP\projects\CAN\canBase\Source\CAN.c |
376 | * Output: none F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 378 | * Pre-conditions: a call to canISR and an packet is available and banked to RXB0 F:\MCP\projects\CAN\canBase\Source\CAN.c |
377 | * Pre-conditions: a call to canISR and an packet is available and banked to RXB0 F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 379 | * Affects: Calls canParse() function in main for parsing received packet. F:\MCP\projects\CAN\canBase\Source\CAN.c |
378 | * Affects: Calls canParse() function in main for parsing received packet. F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 380 | * Depends: none. F:\MCP\projects\CAN\canBase\Source\CAN.c |
379 | * Depends: none. F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 381 | */ F:\MCP\projects\CAN\canBase\Source\CAN.c |
380 | */ F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 382 |
|
381 | 003236 cfd9 MOVFF 0xfd9,0xfe6 void canGetPacket() F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 383 |
|
382 | 003238 ffe6 |
| 384 |
|
383 | 00323a cfe1 MOVFF 0xfe1,0xfd9 |
| 385 |
|
384 | 00323c ffd9 |
| 386 |
|
385 | 00323e 0e11 MOVLW 0x11 |
| 387 |
|
386 | 003240 26e1 ADDWF 0xe1,0x1,0x0 |
| 388 | { F:\MCP\projects\CAN\canBase\Source\CAN.c |
387 | { F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 389 | CAN_PACKET cp; F:\MCP\projects\CAN\canBase\Source\CAN.c |
388 | CAN_PACKET cp; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 390 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
389 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 391 | //RXB0SIDH 28 27 26 25 24 23 22 21 F:\MCP\projects\CAN\canBase\Source\CAN.c |
390 | //RXB0SIDH 28 27 26 25 24 23 22 21 F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 392 | //RXB0SIDL 20 19 18 xx xx xx 17 16 F:\MCP\projects\CAN\canBase\Source\CAN.c |
391 | //RXB0SIDL 20 19 18 xx xx xx 17 16 F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 393 | //RXB0EIDH 15 14 13 12 11 10 09 08 F:\MCP\projects\CAN\canBase\Source\CAN.c |
392 | //RXB0EIDH 15 14 13 12 11 10 09 08 F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 394 | //RXB0EIDL 07 06 05 04 03 02 01 00 F:\MCP\projects\CAN\canBase\Source\CAN.c |
393 | //RXB0EIDL 07 06 05 04 03 02 01 00 F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 395 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
394 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 396 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
395 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 397 |
|
396 | 003242 0e06 MOVLW 0x6 cp.type = (BYTE)((RXB0SIDH&0xC0)>>6); F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 398 |
|
397 | 003244 6e00 MOVWF 0x0,0x0 |
| 399 |
|
398 | 003246 0ec0 MOVLW 0xc0 |
| 400 |
|
399 | 003248 1461 ANDWF 0x61,0x0,0x0 |
| 401 |
|
400 | 00324a c000 MOVFF 0x0,0xfe7 |
| 402 |
|
401 | 00324c ffe7 |
| 403 |
|
402 | 00324e 52e7 MOVF 0xe7,0x1,0x0 |
| 404 |
|
403 | 003250 e004 BZ 0x325a |
| 405 |
|
404 | 003252 42e8 RRNCF 0xe8,0x1,0x0 |
| 406 |
|
405 | 003254 0b7f ANDLW 0x7f |
| 407 |
|
406 | 003256 06e7 DECF 0xe7,0x1,0x0 |
| 408 |
|
407 | 003258 e1fc BNZ 0x3252 |
| 409 |
|
408 | 00325a 6edf MOVWF 0xdf,0x0 |
| 410 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
409 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 411 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
410 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 412 |
|
411 | 00325c 50df MOVF 0xdf,0x0,0x0 if (cp.type==ptBOOT) F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 413 |
|
412 | 00325e e122 BNZ 0x32a4 |
| 414 | { F:\MCP\projects\CAN\canBase\Source\CAN.c |
413 | { F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 415 |
|
414 | 003260 0e38 MOVLW 0x38 cp.boot.type = ((RXB0SIDH&0x38)>>3); F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 416 |
|
415 | 003262 1461 ANDWF 0x61,0x0,0x0 |
| - | 416 | 003264 40e8 RRNCF 0xe8,0x0,0x0 |
|
| 417 | 003266 40e8 RRNCF 0xe8,0x0,0x0 |
417 | 003266 40e8 RRNCF 0xe8,0x0,0x0 |
| 418 | 003268 40e8 RRNCF 0xe8,0x0,0x0 |
418 | 003268 40e8 RRNCF 0xe8,0x0,0x0 |
| 419 | 00326a 40e8 RRNCF 0xe8,0x0,0x0 |
- | |
| 420 |
|
419 | 00326a 0b1f ANDLW 0x1f |
| 421 |
|
420 | 00326c 6ee7 MOVWF 0xe7,0x0 |
| 422 |
|
421 | 00326e 0e04 MOVLW 0x4 |
| 423 |
|
422 | 003270 cfe7 MOVFF 0xfe7,0xfdb |
| 424 |
|
423 | 003272 ffdb |
| 425 |
|
424 | 003274 0e03 MOVLW 0x3 cp.boot.offset= ((RXB0SIDH&0x7)<<5)+((RXB0SIDL&0xE0)>>3)+(RXB0SIDL&0x3); F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 426 |
|
425 | 003276 1462 ANDWF 0x62,0x0,0x0 |
| 427 |
|
426 | 003278 6e01 MOVWF 0x1,0x0 |
| 428 |
|
427 | 00327a 0ee0 MOVLW 0xe0 |
| 429 |
|
428 | 00327c 1462 ANDWF 0x62,0x0,0x0 |
| - | 429 | 00327e 40e8 RRNCF 0xe8,0x0,0x0 |
|
| 430 | 003280 40e8 RRNCF 0xe8,0x0,0x0 |
430 | 003280 40e8 RRNCF 0xe8,0x0,0x0 |
| 431 | 003282 40e8 RRNCF 0xe8,0x0,0x0 |
431 | 003282 40e8 RRNCF 0xe8,0x0,0x0 |
| 432 | 003284 40e8 RRNCF 0xe8,0x0,0x0 |
- | |
| 433 |
|
432 | 003284 0b1f ANDLW 0x1f |
| 434 |
|
433 | 003286 6e00 MOVWF 0x0,0x0 |
| 435 |
|
434 | 003288 0e07 MOVLW 0x7 |
| 436 |
|
435 | 00328a 1461 ANDWF 0x61,0x0,0x0 |
| 437 |
|
436 | 00328c 0d20 MULLW 0x20 |
| 438 |
|
437 | 00328e 50f3 MOVF 0xf3,0x0,0x0 |
| 439 |
|
438 | 003290 2400 ADDWF 0x0,0x0,0x0 |
| 440 |
|
439 | 003292 2401 ADDWF 0x1,0x0,0x0 |
| 441 |
|
440 | 003294 6ee7 MOVWF 0xe7,0x0 |
| 442 |
|
441 | 003296 0e05 MOVLW 0x5 |
| 443 |
|
442 | 003298 cfe7 MOVFF 0xfe7,0xfdb |
| 444 |
|
443 | 00329a ffdb |
| 445 |
|
444 | 00329c 0e06 MOVLW 0x6 cp.boot.rid = RXB0EIDH; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 446 |
|
445 | 00329e cf63 MOVFF 0xf63,0xfdb |
| 447 |
|
446 | 0032a0 ffdb |
| 448 | } F:\MCP\projects\CAN\canBase\Source\CAN.c |
447 | } F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 449 |
|
448 | 0032a2 d03c BRA 0x331c else F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 450 | { F:\MCP\projects\CAN\canBase\Source\CAN.c |
449 | { F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 451 |
|
450 | 0032a4 0e3c MOVLW 0x3c cp.pgm.class= ((RXB0SIDH&0x3C)>>2); F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 452 |
|
451 | 0032a6 1461 ANDWF 0x61,0x0,0x0 |
| - | 452 | 0032a8 40e8 RRNCF 0xe8,0x0,0x0 |
|
| 453 | 0032aa 40e8 RRNCF 0xe8,0x0,0x0 |
453 | 0032aa 40e8 RRNCF 0xe8,0x0,0x0 |
| 454 | 0032ac 40e8 RRNCF 0xe8,0x0,0x0 |
- | |
| 455 |
|
454 | 0032ac 0b3f ANDLW 0x3f |
| 456 |
|
455 | 0032ae 6ee7 MOVWF 0xe7,0x0 |
| 457 |
|
456 | 0032b0 0e01 MOVLW 0x1 |
| 458 |
|
457 | 0032b2 cfe7 MOVFF 0xfe7,0xfdb |
| 459 |
|
458 | 0032b4 ffdb |
| 460 |
|
459 | 0032b6 0e03 MOVLW 0x3 cp.pgm.id = (((WORD)RXB0SIDH&0x3)<<13)+(((WORD)RXB0SIDL&0xE0)<<5)+(((WORD)RXB0SIDL&0x3)<<8)+(WORD)RXB0EIDH; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 461 |
|
460 | 0032b8 1461 ANDWF 0x61,0x0,0x0 |
| 462 |
|
461 | 0032ba 6e06 MOVWF 0x6,0x0 |
| 463 |
|
462 | 0032bc 6a07 CLRF 0x7,0x0 |
| 464 |
|
463 | 0032be 3806 SWAPF 0x6,0x0,0x0 |
| 465 |
|
464 | 0032c0 6a06 CLRF 0x6,0x0 |
| 466 |
|
465 | 0032c2 34e8 RLCF 0xe8,0x0,0x0 |
| 467 |
|
466 | 0032c4 0be0 ANDLW 0xe0 |
| 468 |
|
467 | 0032c6 6e07 MOVWF 0x7,0x0 |
| 469 |
|
468 | 0032c8 0ee0 MOVLW 0xe0 |
| 470 |
|
469 | 0032ca 1462 ANDWF 0x62,0x0,0x0 |
| 471 |
|
470 | 0032cc 6e08 MOVWF 0x8,0x0 |
| 472 |
|
471 | 0032ce 6a09 CLRF 0x9,0x0 |
| 473 |
|
472 | 0032d0 0e05 MOVLW 0x5 |
| 474 |
|
473 | 0032d2 90d8 BCF 0xd8,0x0,0x0 |
| 475 |
|
474 | 0032d4 3608 RLCF 0x8,0x1,0x0 |
| 476 |
|
475 | 0032d6 3609 RLCF 0x9,0x1,0x0 |
| 477 |
|
476 | 0032d8 04e8 DECF 0xe8,0x0,0x0 |
| 478 |
|
477 | 0032da e1fb BNZ 0x32d2 |
| 479 |
|
478 | 0032dc 5006 MOVF 0x6,0x0,0x0 |
| 480 |
|
479 | 0032de 2408 ADDWF 0x8,0x0,0x0 |
| 481 |
|
480 | 0032e0 6e04 MOVWF 0x4,0x0 |
| 482 |
|
481 | 0032e2 5007 MOVF 0x7,0x0,0x0 |
| 483 |
|
482 | 0032e4 2009 ADDWFC 0x9,0x0,0x0 |
| 484 |
|
483 | 0032e6 6e05 MOVWF 0x5,0x0 |
| 485 |
|
484 | 0032e8 0e03 MOVLW 0x3 |
| 486 |
|
485 | 0032ea 1462 ANDWF 0x62,0x0,0x0 |
| 487 |
|
486 | 0032ec 6e0a MOVWF 0xa,0x0 |
| 488 |
|
487 | 0032ee 6a0b CLRF 0xb,0x0 |
| 489 |
|
488 | 0032f0 c00a MOVFF 0xa,0xb |
| 490 |
|
489 | 0032f2 f00b |
| 491 |
|
490 | 0032f4 6a0a CLRF 0xa,0x0 |
| 492 |
|
491 | 0032f6 5004 MOVF 0x4,0x0,0x0 |
| 493 |
|
492 | 0032f8 240a ADDWF 0xa,0x0,0x0 |
| 494 |
|
493 | 0032fa 6e02 MOVWF 0x2,0x0 |
| 495 |
|
494 | 0032fc 5005 MOVF 0x5,0x0,0x0 |
| 496 |
|
495 | 0032fe 200b ADDWFC 0xb,0x0,0x0 |
| 497 |
|
496 | 003300 6e03 MOVWF 0x3,0x0 |
| 498 |
|
497 | 003302 5063 MOVF 0x63,0x0,0x0 |
| 499 |
|
498 | 003304 0100 MOVLB 0x0 |
| 500 |
|
499 | 003306 2402 ADDWF 0x2,0x0,0x0 |
| 501 |
|
500 | 003308 6e00 MOVWF 0x0,0x0 |
| 502 |
|
501 | 00330a 0e00 MOVLW 0x0 |
| 503 |
|
502 | 00330c 2003 ADDWFC 0x3,0x0,0x0 |
| 504 |
|
503 | 00330e 6e01 MOVWF 0x1,0x0 |
| 505 |
|
504 | 003310 0e02 MOVLW 0x2 |
| 506 |
|
505 | 003312 c000 MOVFF 0x0,0xfdb |
| 507 |
|
506 | 003314 ffdb |
| 508 |
|
507 | 003316 0e03 MOVLW 0x3 |
| 509 |
|
508 | 003318 c001 MOVFF 0x1,0xfdb |
| 510 |
|
509 | 00331a ffdb |
| 511 | } F:\MCP\projects\CAN\canBase\Source\CAN.c |
510 | } F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 512 |
|
511 | 00331c 0e07 MOVLW 0x7 cp.sid = RXB0EIDL; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 513 |
|
512 | 00331e cf64 MOVFF 0xf64,0xfdb |
| 514 |
|
513 | 003320 ffdb |
| 515 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
514 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 516 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
515 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 517 | // Data length F:\MCP\projects\CAN\canBase\Source\CAN.c |
516 | // Data length F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 518 |
|
517 | 003322 5065 MOVF 0x65,0x0,0x0 cp.length=(RXB0DLCbits.DLC3<<3)+(RXB0DLCbits.DLC2<<2)+(RXB0DLCbits.DLC1<<1)+RXB0DLCbits.DLC0; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 519 |
|
518 | 003324 0b01 ANDLW 0x1 |
| 520 |
|
519 | 003326 6e02 MOVWF 0x2,0x0 |
| 521 |
|
520 | 003328 5065 MOVF 0x65,0x0,0x0 |
| 522 |
|
521 | 00332a 0b02 ANDLW 0x2 |
| 523 |
|
522 | 00332c e001 BZ 0x3330 |
| 524 |
|
523 | 00332e 0e01 MOVLW 0x1 |
| 525 |
|
524 | 003330 24e8 ADDWF 0xe8,0x0,0x0 |
| 526 |
|
525 | 003332 6e01 MOVWF 0x1,0x0 |
| 527 |
|
526 | 003334 5065 MOVF 0x65,0x0,0x0 |
| 528 |
|
527 | 003336 0b04 ANDLW 0x4 |
| 529 |
|
528 | 003338 e001 BZ 0x333c |
| 530 |
|
529 | 00333a 0e01 MOVLW 0x1 |
| 531 |
|
530 | 00333c 0d04 MULLW 0x4 |
| 532 |
|
531 | 00333e cff3 MOVFF 0xff3,0x0 |
| 533 |
|
532 | 003340 f000 |
| 534 |
|
533 | 003342 5065 MOVF 0x65,0x0,0x0 |
| 535 |
|
534 | 003344 0b08 ANDLW 0x8 |
| 536 |
|
535 | 003346 e001 BZ 0x334a |
| 537 |
|
536 | 003348 0e01 MOVLW 0x1 |
| 538 |
|
537 | 00334a 0d08 MULLW 0x8 |
| 539 |
|
538 | 00334c 50f3 MOVF 0xf3,0x0,0x0 |
| 540 |
|
539 | 00334e 2400 ADDWF 0x0,0x0,0x0 |
| 541 |
|
540 | 003350 2401 ADDWF 0x1,0x0,0x0 |
| 542 |
|
541 | 003352 2402 ADDWF 0x2,0x0,0x0 |
| 543 |
|
542 | 003354 6ee7 MOVWF 0xe7,0x0 |
| 544 |
|
543 | 003356 0e08 MOVLW 0x8 |
| 545 |
|
544 | 003358 cfe7 MOVFF 0xfe7,0xfdb |
| 546 |
|
545 | 00335a ffdb |
| 547 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
546 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 548 | // Data one bye one, for speed F:\MCP\projects\CAN\canBase\Source\CAN.c |
547 | // Data one bye one, for speed F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 549 |
|
548 | 00335c 0e09 MOVLW 0x9 cp.data[0]=RXB0D0; cp.data[1]=RXB0D1; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 550 |
|
549 | 00335e cf66 MOVFF 0xf66,0xfdb |
| 551 |
|
550 | 003360 ffdb |
| 552 |
|
551 | 003362 0e0a MOVLW 0xa |
| 553 |
|
552 | 003364 cf67 MOVFF 0xf67,0xfdb |
| 554 |
|
553 | 003366 ffdb |
| 555 |
|
554 | 003368 0e0b MOVLW 0xb cp.data[2]=RXB0D2; cp.data[3]=RXB0D3; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 556 |
|
555 | 00336a cf68 MOVFF 0xf68,0xfdb |
| 557 |
|
556 | 00336c ffdb |
| 558 |
|
557 | 00336e 0e0c MOVLW 0xc |
| 559 |
|
558 | 003370 cf69 MOVFF 0xf69,0xfdb |
| 560 |
|
559 | 003372 ffdb |
| 561 |
|
560 | 003374 0e0d MOVLW 0xd cp.data[4]=RXB0D4; cp.data[5]=RXB0D5; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 562 |
|
561 | 003376 cf6a MOVFF 0xf6a,0xfdb |
| 563 |
|
562 | 003378 ffdb |
| 564 |
|
563 | 00337a 0e0e MOVLW 0xe |
| 565 |
|
564 | 00337c cf6b MOVFF 0xf6b,0xfdb |
| 566 |
|
565 | 00337e ffdb |
| 567 |
|
566 | 003380 0e0f MOVLW 0xf cp.data[6]=RXB0D6; cp.data[7]=RXB0D7; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 568 |
|
567 | 003382 cf6c MOVFF 0xf6c,0xfdb |
| 569 |
|
568 | 003384 ffdb |
| 570 |
|
569 | 003386 0e10 MOVLW 0x10 |
| 571 |
|
570 | 003388 cf6d MOVFF 0xf6d,0xfdb |
| 572 |
|
571 | 00338a ffdb |
| 573 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
572 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 574 | // Clear ful status F:\MCP\projects\CAN\canBase\Source\CAN.c |
573 | // Clear ful status F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 575 |
|
574 | 00338c 9e60 BCF 0x60,0x7,0x0 RXB0CONbits.RXFUL=0; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 576 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
575 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 577 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
576 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 578 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
577 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 579 | // Check if bootloader request specific. F:\MCP\projects\CAN\canBase\Source\CAN.c |
578 | // Check if bootloader request specific. F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 580 | // reset and id change F:\MCP\projects\CAN\canBase\Source\CAN.c |
579 | // reset and id change F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 581 |
|
580 | 00338e 50df MOVF 0xdf,0x0,0x0 if (cp.type==ptBOOT) F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 582 |
|
581 | 003390 e160 BNZ 0x3452 |
| 583 | { F:\MCP\projects\CAN\canBase\Source\CAN.c |
582 | { F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 584 |
|
583 | 003392 0e06 MOVLW 0x6 if (cp.boot.rid==MY_ID) F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 585 |
|
584 | 003394 50db MOVF 0xdb,0x0,0x0 |
| 586 |
|
585 | 003396 6e00 MOVWF 0x0,0x0 |
| 587 |
|
586 | 003398 6a01 CLRF 0x1,0x0 |
| 588 |
|
587 | 00339a 0100 MOVLB 0x0 |
| 589 |
|
588 | 00339c 51a1 MOVF 0xa1,0x0,0x1 |
| 590 |
|
589 | 00339e 1800 XORWF 0x0,0x0,0x0 |
| 591 |
|
590 | 0033a0 e102 BNZ 0x33a6 |
| 592 |
|
591 | 0033a2 51a2 MOVF 0xa2,0x0,0x1 |
| 593 |
|
592 | 0033a4 1801 XORWF 0x1,0x0,0x0 |
| 594 |
|
593 | 0033a6 e155 BNZ 0x3452 |
| 595 | { F:\MCP\projects\CAN\canBase\Source\CAN.c |
594 | { F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 596 |
|
595 | 0033a8 0e04 MOVLW 0x4 if (cp.boot.type==btADDR) Reset(); // Reset me. F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 597 |
|
596 | 0033aa 50db MOVF 0xdb,0x0,0x0 |
| 598 |
|
597 | 0033ac e101 BNZ 0x33b0 |
| 599 |
|
598 | 0033ae 00ff RESET |
| 600 |
|
599 | 0033b0 0e04 MOVLW 0x4 if (cp.boot.type==btCHANGEID) F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 601 |
|
600 | 0033b2 50db MOVF 0xdb,0x0,0x0 |
| 602 |
|
601 | 0033b4 0807 SUBLW 0x7 |
| 603 |
|
602 | 0033b6 e14d BNZ 0x3452 |
| 604 | { F:\MCP\projects\CAN\canBase\Source\CAN.c |
603 | { F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 605 | // Change my ID and NID F:\MCP\projects\CAN\canBase\Source\CAN.c |
604 | // Change my ID and NID F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 606 |
|
605 | 0033b8 0e09 MOVLW 0x9 MY_ID=cp.data[0]; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 607 |
|
606 | 0033ba 50db MOVF 0xdb,0x0,0x0 |
| 608 |
|
607 | 0033bc 0100 MOVLB 0x0 |
| 609 |
|
608 | 0033be 6fa1 MOVWF 0xa1,0x1 |
| 610 |
|
609 | 0033c0 6ba2 CLRF 0xa2,0x1 |
| 611 |
|
610 | 0033c2 0e09 MOVLW 0x9 EEWrite(NODE_ID_EE+1,cp.data[0]); F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 612 |
|
611 | 0033c4 cfdb MOVFF 0xfdb,0xfe6 |
| 613 |
|
612 | 0033c6 ffe6 |
| 614 |
|
613 | 0033c8 0e01 MOVLW 0x1 |
| 615 |
|
614 | 0033ca 6ee6 MOVWF 0xe6,0x0 |
| 616 |
|
615 | 0033cc 6ae6 CLRF 0xe6,0x0 |
| 617 |
|
616 | 0033ce ec44 CALL 0x4488,0x0 |
| 618 |
|
617 | 0033d0 f022 |
| - | 618 | 0033d2 52e5 MOVF 0xe5,0x1,0x0 |
|
| 619 | 0033d4 52e5 MOVF 0xe5,0x1,0x0 |
619 | 0033d4 52e5 MOVF 0xe5,0x1,0x0 |
| 620 | 0033d6 52e5 MOVF 0xe5,0x1,0x0 |
620 | 0033d6 52e5 MOVF 0xe5,0x1,0x0 |
| 621 | 0033d8 52e5 MOVF 0xe5,0x1,0x0 |
- | |
| 622 |
|
621 | 0033d8 0e2a MOVLW 0x2a EEWrite(NODE_ID_EE,NODE_HAS_ID); F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 623 |
|
622 | 0033da 6ee6 MOVWF 0xe6,0x0 |
| 624 |
|
623 | 0033dc 0e00 MOVLW 0x0 |
| 625 |
|
624 | 0033de 6ee6 MOVWF 0xe6,0x0 |
| 626 |
|
625 | 0033e0 6ae6 CLRF 0xe6,0x0 |
| 627 |
|
626 | 0033e2 ec44 CALL 0x4488,0x0 |
| 628 |
|
627 | 0033e4 f022 |
| - | 628 | 0033e6 52e5 MOVF 0xe5,0x1,0x0 |
|
| 629 | 0033e8 52e5 MOVF 0xe5,0x1,0x0 |
629 | 0033e8 52e5 MOVF 0xe5,0x1,0x0 |
| 630 | 0033ea 52e5 MOVF 0xe5,0x1,0x0 |
630 | 0033ea 52e5 MOVF 0xe5,0x1,0x0 |
| 631 | 0033ec 52e5 MOVF 0xe5,0x1,0x0 |
- | |
| 632 | // Send ack with new id. F:\MCP\projects\CAN\canBase\Source\CAN.c |
631 | // Send ack with new id. F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 633 |
|
632 | 0033ec 0100 MOVLB 0x0 outCp.type=ptBOOT; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 634 |
|
633 | 0033ee 6b64 CLRF 0x64,0x1 |
| 635 |
|
634 | 0033f0 0100 MOVLB 0x0 outCp.boot.type=btACK; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 636 |
|
635 | 0033f2 0e04 MOVLW 0x4 |
| 637 |
|
636 | 0033f4 6f68 MOVWF 0x68,0x1 |
| 638 |
|
637 | 0033f6 0100 MOVLB 0x0 outCp.length=0; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 639 |
|
638 | 0033f8 6b6c CLRF 0x6c,0x1 |
| 640 |
|
639 | 0033fa 0e02 MOVLW 0x2 while(!canSendMessage(outCp,PRIO_HIGH)); F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 641 |
|
640 | 0033fc 6ee6 MOVWF 0xe6,0x0 |
| 642 |
|
641 | 0033fe c064 MOVFF 0x64,0xfe6 |
| 643 |
|
642 | 003400 ffe6 |
| 644 |
|
643 | 003402 c065 MOVFF 0x65,0xfe6 |
| 645 |
|
644 | 003404 ffe6 |
| 646 |
|
645 | 003406 c066 MOVFF 0x66,0xfe6 |
| 647 |
|
646 | 003408 ffe6 |
| 648 |
|
647 | 00340a c067 MOVFF 0x67,0xfe6 |
| 649 |
|
648 | 00340c ffe6 |
| 650 |
|
649 | 00340e c068 MOVFF 0x68,0xfe6 |
| 651 |
|
650 | 003410 ffe6 |
| 652 |
|
651 | 003412 c069 MOVFF 0x69,0xfe6 |
| 653 |
|
652 | 003414 ffe6 |
| 654 |
|
653 | 003416 c06a MOVFF 0x6a,0xfe6 |
| 655 |
|
654 | 003418 ffe6 |
| 656 |
|
655 | 00341a c06b MOVFF 0x6b,0xfe6 |
| 657 |
|
656 | 00341c ffe6 |
| 658 |
|
657 | 00341e c06c MOVFF 0x6c,0xfe6 |
| 659 |
|
658 | 003420 ffe6 |
| 660 |
|
659 | 003422 c06d MOVFF 0x6d,0xfe6 |
| 661 |
|
660 | 003424 ffe6 |
| 662 |
|
661 | 003426 c06e MOVFF 0x6e,0xfe6 |
| 663 |
|
662 | 003428 ffe6 |
| 664 |
|
663 | 00342a c06f MOVFF 0x6f,0xfe6 |
| 665 |
|
664 | 00342c ffe6 |
| 666 |
|
665 | 00342e c070 MOVFF 0x70,0xfe6 |
| 667 |
|
666 | 003430 ffe6 |
| 668 |
|
667 | 003432 c071 MOVFF 0x71,0xfe6 |
| 669 |
|
668 | 003434 ffe6 |
| 670 |
|
669 | 003436 c072 MOVFF 0x72,0xfe6 |
| 671 |
|
670 | 003438 ffe6 |
| 672 |
|
671 | 00343a c073 MOVFF 0x73,0xfe6 |
| 673 |
|
672 | 00343c ffe6 |
| 674 |
|
673 | 00343e c074 MOVFF 0x74,0xfe6 |
| 675 |
|
674 | 003440 ffe6 |
| 676 |
|
675 | 003442 d83f RCALL 0x34c2 |
| 677 |
|
676 | 003444 6e00 MOVWF 0x0,0x0 |
| 678 |
|
677 | 003446 0e12 MOVLW 0x12 |
| 679 |
|
678 | 003448 5ee1 SUBWF 0xe1,0x1,0x0 |
| 680 |
|
679 | 00344a 5000 MOVF 0x0,0x0,0x0 |
| 681 |
|
680 | 00344c 0900 IORLW 0x0 |
| 682 |
|
681 | 00344e e101 BNZ 0x3452 |
| 683 |
|
682 | 003450 d7d4 BRA 0x33fa |
| 684 | } F:\MCP\projects\CAN\canBase\Source\CAN.c |
683 | } F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 685 | } F:\MCP\projects\CAN\canBase\Source\CAN.c |
684 | } F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 686 | } F:\MCP\projects\CAN\canBase\Source\CAN.c |
685 | } F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 687 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
686 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 688 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
687 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 689 | //Call main parser F:\MCP\projects\CAN\canBase\Source\CAN.c |
688 | //Call main parser F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 690 |
|
689 | 003452 04df DECF 0xdf,0x0,0x0 if (cp.type==ptPGM) canParse(cp); F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 691 |
|
690 | 003454 e12c BNZ 0x34ae |
| 692 |
|
691 | 003456 cfd9 MOVFF 0xfd9,0xfe9 |
| 693 |
|
692 | 003458 ffe9 |
| 694 |
|
693 | 00345a cfda MOVFF 0xfda,0xfea |
| 695 |
|
694 | 00345c ffea |
| 696 |
|
695 | 00345e cfee MOVFF 0xfee,0xfe6 |
| 697 |
|
696 | 003460 ffe6 |
| 698 |
|
697 | 003462 cfee MOVFF 0xfee,0xfe6 |
| 699 |
|
698 | 003464 ffe6 |
| 700 |
|
699 | 003466 cfee MOVFF 0xfee,0xfe6 |
| 701 |
|
700 | 003468 ffe6 |
| 702 |
|
701 | 00346a cfee MOVFF 0xfee,0xfe6 |
| 703 |
|
702 | 00346c ffe6 |
| 704 |
|
703 | 00346e cfee MOVFF 0xfee,0xfe6 |
| 705 |
|
704 | 003470 ffe6 |
| 706 |
|
705 | 003472 cfee MOVFF 0xfee,0xfe6 |
| 707 |
|
706 | 003474 ffe6 |
| 708 |
|
707 | 003476 cfee MOVFF 0xfee,0xfe6 |
| 709 |
|
708 | 003478 ffe6 |
| 710 |
|
709 | 00347a cfee MOVFF 0xfee,0xfe6 |
| 711 |
|
710 | 00347c ffe6 |
| 712 |
|
711 | 00347e cfee MOVFF 0xfee,0xfe6 |
| 713 |
|
712 | 003480 ffe6 |
| 714 |
|
713 | 003482 cfee MOVFF 0xfee,0xfe6 |
| 715 |
|
714 | 003484 ffe6 |
| 716 |
|
715 | 003486 cfee MOVFF 0xfee,0xfe6 |
| 717 |
|
716 | 003488 ffe6 |
| 718 |
|
717 | 00348a cfee MOVFF 0xfee,0xfe6 |
| 719 |
|
718 | 00348c ffe6 |
| 720 |
|
719 | 00348e cfee MOVFF 0xfee,0xfe6 |
| 721 |
|
720 | 003490 ffe6 |
| 722 |
|
721 | 003492 cfee MOVFF 0xfee,0xfe6 |
| 723 |
|
722 | 003494 ffe6 |
| 724 |
|
723 | 003496 cfee MOVFF 0xfee,0xfe6 |
| 725 |
|
724 | 003498 ffe6 |
| 726 |
|
725 | 00349a cfee MOVFF 0xfee,0xfe6 |
| 727 |
|
726 | 00349c ffe6 |
| 728 |
|
727 | 00349e cfee MOVFF 0xfee,0xfe6 |
| 729 |
|
728 | 0034a0 ffe6 |
| 730 |
|
729 | 0034a2 ec5d CALL 0x3eba,0x0 |
| 731 |
|
730 | 0034a4 f01f |
| 732 |
|
731 | 0034a6 6e00 MOVWF 0x0,0x0 |
| 733 |
|
732 | 0034a8 0e11 MOVLW 0x11 |
| 734 |
|
733 | 0034aa 5ee1 SUBWF 0xe1,0x1,0x0 |
| 735 |
|
734 | 0034ac 5000 MOVF 0x0,0x0,0x0 |
| 736 |
|
735 | 0034ae 0e11 MOVLW 0x11 } F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 737 |
|
736 | 0034b0 5ce1 SUBWF 0xe1,0x0,0x0 |
| 738 |
|
737 | 0034b2 e202 BC 0x34b8 |
| 739 |
|
738 | 0034b4 6ae1 CLRF 0xe1,0x0 |
| 740 |
|
739 | 0034b6 52e5 MOVF 0xe5,0x1,0x0 |
| 741 |
|
740 | 0034b8 6ee1 MOVWF 0xe1,0x0 |
| 742 |
|
741 | 0034ba 52e5 MOVF 0xe5,0x1,0x0 |
| 743 |
|
742 | 0034bc cfe7 MOVFF 0xfe7,0xfd9 |
| 744 |
|
743 | 0034be ffd9 |
| 745 |
|
744 | 0034c0 0012 RETURN 0x0 |
| 746 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
745 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 747 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
746 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 748 | /* F:\MCP\projects\CAN\canBase\Source\CAN.c |
747 | /* F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 749 | * Function: canSendMessage F:\MCP\projects\CAN\canBase\Source\CAN.c |
748 | * Function: canSendMessage F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 750 | * F:\MCP\projects\CAN\canBase\Source\CAN.c |
749 | * F:\MCP\projects\CAN\canBase\Source\CAN.c |
| Line 752... | Line 751... | ||
| 752 | * Output: True if packet scheduled sucess, false otherwise. F:\MCP\projects\CAN\canBase\Source\CAN.c |
751 | * Output: True if packet scheduled sucess, false otherwise. F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 753 | * Pre-conditions: canInit F:\MCP\projects\CAN\canBase\Source\CAN.c |
752 | * Pre-conditions: canInit F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 754 | * Affects: .. F:\MCP\projects\CAN\canBase\Source\CAN.c |
753 | * Affects: .. F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 755 | * Depends: .. F:\MCP\projects\CAN\canBase\Source\CAN.c |
754 | * Depends: .. F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 756 | */ F:\MCP\projects\CAN\canBase\Source\CAN.c |
755 | */ F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 757 |
|
756 | 0034c2 cfd9 MOVFF 0xfd9,0xfe6 BOOL canSendMessage(CAN_PACKET cp, CAN_PRIORITY prio) F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 758 |
|
757 | 0034c4 ffe6 |
| 759 |
|
758 | 0034c6 cfe1 MOVFF 0xfe1,0xfd9 |
| 760 |
|
759 | 0034c8 ffd9 |
| 761 | { F:\MCP\projects\CAN\canBase\Source\CAN.c |
760 | { F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 762 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
761 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 763 |
|
762 | 0034ca 010f MOVLB 0xf if ( TXB0CONbits.TXREQ == 0 ) { ECANCON=(ECANCON&0b00000)|0b00011; } F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 764 |
|
763 | 0034cc b740 BTFSC 0x40,0x3,0x1 |
| 765 |
|
764 | 0034ce d004 BRA 0x34d8 |
| 766 |
|
765 | 0034d0 0e00 MOVLW 0x0 |
| 767 |
|
766 | 0034d2 1477 ANDWF 0x77,0x0,0x0 |
| 768 |
|
767 | 0034d4 0903 IORLW 0x3 |
| 769 |
|
768 | 0034d6 6e77 MOVWF 0x77,0x0 |
| 770 |
|
769 | 0034d8 010f MOVLB 0xf if ( TXB1CONbits.TXREQ == 0 ) { ECANCON=(ECANCON&0b00000)|0b00100; } F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 771 |
|
770 | 0034da b730 BTFSC 0x30,0x3,0x1 |
| 772 |
|
771 | 0034dc d004 BRA 0x34e6 |
| 773 |
|
772 | 0034de 0e00 MOVLW 0x0 |
| 774 |
|
773 | 0034e0 1477 ANDWF 0x77,0x0,0x0 |
| 775 |
|
774 | 0034e2 0904 IORLW 0x4 |
| 776 |
|
775 | 0034e4 6e77 MOVWF 0x77,0x0 |
| 777 |
|
776 | 0034e6 010f MOVLB 0xf if ( TXB2CONbits.TXREQ == 0 ) { ECANCON=(ECANCON&0b00000)|0b00101; } F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 778 |
|
777 | 0034e8 b720 BTFSC 0x20,0x3,0x1 |
| 779 |
|
778 | 0034ea d005 BRA 0x34f6 |
| 780 |
|
779 | 0034ec 0e00 MOVLW 0x0 |
| 781 |
|
780 | 0034ee 1477 ANDWF 0x77,0x0,0x0 |
| 782 |
|
781 | 0034f0 0905 IORLW 0x5 |
| 783 |
|
782 | 0034f2 6e77 MOVWF 0x77,0x0 |
| 784 | // None of the transmit buffers were empty. F:\MCP\projects\CAN\canBase\Source\CAN.c |
783 | // None of the transmit buffers were empty. F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 785 |
|
784 | 0034f4 d002 BRA 0x34fa else { return FALSE;} F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 786 |
|
785 | 0034f6 0e00 MOVLW 0x0 |
| 787 |
|
786 | 0034f8 d0bd BRA 0x3674 |
| 788 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
787 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 789 |
|
788 | 0034fa 0eed MOVLW 0xed if (prio<0 || prio>3) prio = 0; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 790 |
|
789 | 0034fc cfdb MOVFF 0xfdb,0x0 |
| 791 |
|
790 | 0034fe f000 |
| 792 |
|
791 | 003500 3400 RLCF 0x0,0x0,0x0 |
| 793 |
|
792 | 003502 e20e BC 0x3520 |
| 794 |
|
793 | 003504 0eed MOVLW 0xed |
| 795 |
|
794 | 003506 cfdb MOVFF 0xfdb,0x1 |
| 796 |
|
795 | 003508 f001 |
| 797 |
|
796 | 00350a 0e03 MOVLW 0x3 |
| 798 |
|
797 | 00350c 6ee7 MOVWF 0xe7,0x0 |
| 799 |
|
798 | 00350e 1801 XORWF 0x1,0x0,0x0 |
| 800 |
|
799 | 003510 aee8 BTFSS 0xe8,0x7,0x0 |
| 801 |
|
800 | 003512 d002 BRA 0x3518 |
| 802 |
|
801 | 003514 3401 RLCF 0x1,0x0,0x0 |
| 803 |
|
802 | 003516 d003 BRA 0x351e |
| 804 |
|
803 | 003518 50e7 MOVF 0xe7,0x0,0x0 |
| 805 |
|
804 | 00351a 80d8 BSF 0xd8,0x0,0x0 |
| 806 |
|
805 | 00351c 5401 SUBFWB 0x1,0x0,0x0 |
| 807 |
|
806 | 00351e e202 BC 0x3524 |
| 808 |
|
807 | 003520 0eed MOVLW 0xed |
| 809 |
|
808 | 003522 6adb CLRF 0xdb,0x0 |
| 810 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
809 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 811 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
810 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 812 | //RXB0SIDH 28 27 26 25 24 23 22 21 F:\MCP\projects\CAN\canBase\Source\CAN.c |
811 | //RXB0SIDH 28 27 26 25 24 23 22 21 F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 813 | //RXB0SIDL 20 19 18 xx xx xx 17 16 F:\MCP\projects\CAN\canBase\Source\CAN.c |
812 | //RXB0SIDL 20 19 18 xx xx xx 17 16 F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 814 | //RXB0EIDH 15 14 13 12 11 10 09 08 F:\MCP\projects\CAN\canBase\Source\CAN.c |
813 | //RXB0EIDH 15 14 13 12 11 10 09 08 F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 815 | //RXB0EIDL 07 06 05 04 03 02 01 00 F:\MCP\projects\CAN\canBase\Source\CAN.c |
814 | //RXB0EIDL 07 06 05 04 03 02 01 00 F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 816 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
815 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 817 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
816 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 818 |
|
817 | 003524 0eee MOVLW 0xee if (cp.type==ptBOOT) F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 819 |
|
818 | 003526 50db MOVF 0xdb,0x0,0x0 |
| 820 |
|
819 | 003528 e124 BNZ 0x3572 |
| 821 | { F:\MCP\projects\CAN\canBase\Source\CAN.c |
820 | { F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 822 |
|
821 | 00352a 0ef3 MOVLW 0xf3 RXB0SIDH = ((cp.type&0x3)<<6)+((cp.boot.type&0x7)<<3)+((cp.boot.offset&0xE0)>>5); F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 823 |
|
822 | 00352c 50db MOVF 0xdb,0x0,0x0 |
| - | 823 | 00352e 0be0 ANDLW 0xe0 |
|
| 824 | 003530 0be0 ANDLW 0xe0 |
824 | 003530 0be0 ANDLW 0xe0 |
| 825 | 003532 0be0 ANDLW 0xe0 |
- | |
| 826 |
|
825 | 003532 38e8 SWAPF 0xe8,0x0,0x0 |
| 827 |
|
826 | 003534 40e8 RRNCF 0xe8,0x0,0x0 |
| 828 |
|
827 | 003536 6e01 MOVWF 0x1,0x0 |
| 829 |
|
828 | 003538 0ef2 MOVLW 0xf2 |
| 830 |
|
829 | 00353a 50db MOVF 0xdb,0x0,0x0 |
| 831 |
|
830 | 00353c 0b07 ANDLW 0x7 |
| 832 |
|
831 | 00353e 0d08 MULLW 0x8 |
| 833 |
|
832 | 003540 cff3 MOVFF 0xff3,0x0 |
| 834 |
|
833 | 003542 f000 |
| 835 |
|
834 | 003544 0eee MOVLW 0xee |
| 836 |
|
835 | 003546 50db MOVF 0xdb,0x0,0x0 |
| 837 |
|
836 | 003548 0b03 ANDLW 0x3 |
| 838 |
|
837 | 00354a 0d40 MULLW 0x40 |
| 839 |
|
838 | 00354c 50f3 MOVF 0xf3,0x0,0x0 |
| 840 |
|
839 | 00354e 2400 ADDWF 0x0,0x0,0x0 |
| 841 |
|
840 | 003550 2401 ADDWF 0x1,0x0,0x0 |
| 842 |
|
841 | 003552 6e61 MOVWF 0x61,0x0 |
| 843 |
|
842 | 003554 0ef3 MOVLW 0xf3 RXB0SIDL = ((cp.boot.offset&0x1C)<<3)+(cp.boot.offset&0x3); F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 844 |
|
843 | 003556 50db MOVF 0xdb,0x0,0x0 |
| 845 |
|
844 | 003558 0b03 ANDLW 0x3 |
| 846 |
|
845 | 00355a 6e00 MOVWF 0x0,0x0 |
| 847 |
|
846 | 00355c 0ef3 MOVLW 0xf3 |
| 848 |
|
847 | 00355e 50db MOVF 0xdb,0x0,0x0 |
| 849 |
|
848 | 003560 0b1c ANDLW 0x1c |
| 850 |
|
849 | 003562 0d08 MULLW 0x8 |
| 851 |
|
850 | 003564 50f3 MOVF 0xf3,0x0,0x0 |
| 852 |
|
851 | 003566 2400 ADDWF 0x0,0x0,0x0 |
| 853 |
|
852 | 003568 6e62 MOVWF 0x62,0x0 |
| 854 |
|
853 | 00356a 0ef4 MOVLW 0xf4 RXB0EIDH = cp.boot.rid; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 855 |
|
854 | 00356c 50db MOVF 0xdb,0x0,0x0 |
| 856 |
|
855 | 00356e 6e63 MOVWF 0x63,0x0 |
| 857 | } F:\MCP\projects\CAN\canBase\Source\CAN.c |
856 | } F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 858 |
|
857 | 003570 d04f BRA 0x3610 else F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 859 | { F:\MCP\projects\CAN\canBase\Source\CAN.c |
858 | { F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 860 |
|
859 | 003572 0eef MOVLW 0xef RXB0SIDH = ((cp.type&0x3)<<6)+((cp.pgm.class&0xF)<<2)+((cp.pgm.id&0x6000)>>13); F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 861 |
|
860 | 003574 50db MOVF 0xdb,0x0,0x0 |
| 862 |
|
861 | 003576 0b0f ANDLW 0xf |
| 863 |
|
862 | 003578 0d04 MULLW 0x4 |
| 864 |
|
863 | 00357a cff3 MOVFF 0xff3,0x2 |
| 865 |
|
864 | 00357c f002 |
| 866 |
|
865 | 00357e 0eee MOVLW 0xee |
| 867 |
|
866 | 003580 50db MOVF 0xdb,0x0,0x0 |
| 868 |
|
867 | 003582 0b03 ANDLW 0x3 |
| 869 |
|
868 | 003584 0d40 MULLW 0x40 |
| 870 |
|
869 | 003586 50f3 MOVF 0xf3,0x0,0x0 |
| 871 |
|
870 | 003588 2402 ADDWF 0x2,0x0,0x0 |
| 872 |
|
871 | 00358a 6e00 MOVWF 0x0,0x0 |
| 873 |
|
872 | 00358c 6a01 CLRF 0x1,0x0 |
| 874 |
|
873 | 00358e be00 BTFSC 0x0,0x7,0x0 |
| 875 |
|
874 | 003590 6801 SETF 0x1,0x0 |
| 876 |
|
875 | 003592 0ef0 MOVLW 0xf0 |
| 877 |
|
876 | 003594 cfdb MOVFF 0xfdb,0x3 |
| 878 |
|
877 | 003596 f003 |
| 879 |
|
878 | 003598 0ef1 MOVLW 0xf1 |
| 880 |
|
879 | 00359a cfdb MOVFF 0xfdb,0x4 |
| 881 |
|
880 | 00359c f004 |
| 882 |
|
881 | 00359e 0e00 MOVLW 0x0 |
| 883 |
|
882 | 0035a0 1603 ANDWF 0x3,0x1,0x0 |
| 884 |
|
883 | 0035a2 0e60 MOVLW 0x60 |
| 885 |
|
884 | 0035a4 1604 ANDWF 0x4,0x1,0x0 |
| 886 |
|
885 | 0035a6 3804 SWAPF 0x4,0x0,0x0 |
| 887 |
|
886 | 0035a8 6a04 CLRF 0x4,0x0 |
| 888 |
|
887 | 0035aa 30e8 RRCF 0xe8,0x0,0x0 |
| 889 |
|
888 | 0035ac 0b07 ANDLW 0x7 |
| 890 |
|
889 | 0035ae 6e03 MOVWF 0x3,0x0 |
| 891 |
|
890 | 0035b0 5000 MOVF 0x0,0x0,0x0 |
| 892 |
|
891 | 0035b2 2403 ADDWF 0x3,0x0,0x0 |
| 893 |
|
892 | 0035b4 6e61 MOVWF 0x61,0x0 |
| 894 |
|
893 | 0035b6 0ef0 MOVLW 0xf0 RXB0SIDL = ((cp.pgm.id&0x1C00)>>5)+((cp.pgm.id&0x300)>>8); F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 895 |
|
894 | 0035b8 cfdb MOVFF 0xfdb,0x0 |
| 896 |
|
895 | 0035ba f000 |
| 897 |
|
896 | 0035bc 0ef1 MOVLW 0xf1 |
| 898 |
|
897 | 0035be cfdb MOVFF 0xfdb,0x1 |
| 899 |
|
898 | 0035c0 f001 |
| 900 |
|
899 | 0035c2 0e00 MOVLW 0x0 |
| 901 |
|
900 | 0035c4 1600 ANDWF 0x0,0x1,0x0 |
| 902 |
|
901 | 0035c6 0e1c MOVLW 0x1c |
| 903 |
|
902 | 0035c8 1601 ANDWF 0x1,0x1,0x0 |
| 904 |
|
903 | 0035ca 0e05 MOVLW 0x5 |
| 905 |
|
904 | 0035cc 90d8 BCF 0xd8,0x0,0x0 |
| 906 |
|
905 | 0035ce 3201 RRCF 0x1,0x1,0x0 |
| 907 |
|
906 | 0035d0 3200 RRCF 0x0,0x1,0x0 |
| 908 |
|
907 | 0035d2 04e8 DECF 0xe8,0x0,0x0 |
| 909 |
|
908 | 0035d4 e1fb BNZ 0x35cc |
| 910 |
|
909 | 0035d6 0ef0 MOVLW 0xf0 |
| 911 |
|
910 | 0035d8 cfdb MOVFF 0xfdb,0x2 |
| 912 |
|
911 | 0035da f002 |
| 913 |
|
912 | 0035dc 0ef1 MOVLW 0xf1 |
| 914 |
|
913 | 0035de cfdb MOVFF 0xfdb,0x3 |
| 915 |
|
914 | 0035e0 f003 |
| 916 |
|
915 | 0035e2 0e00 MOVLW 0x0 |
| 917 |
|
916 | 0035e4 1602 ANDWF 0x2,0x1,0x0 |
| 918 |
|
917 | 0035e6 0e03 MOVLW 0x3 |
| 919 |
|
918 | 0035e8 1603 ANDWF 0x3,0x1,0x0 |
| 920 |
|
919 | 0035ea c003 MOVFF 0x3,0x2 |
| 921 |
|
920 | 0035ec f002 |
| 922 |
|
921 | 0035ee 6a03 CLRF 0x3,0x0 |
| 923 |
|
922 | 0035f0 5000 MOVF 0x0,0x0,0x0 |
| 924 |
|
923 | 0035f2 2402 ADDWF 0x2,0x0,0x0 |
| 925 |
|
924 | 0035f4 6e62 MOVWF 0x62,0x0 |
| 926 |
|
925 | 0035f6 0eff MOVLW 0xff RXB0EIDH = (cp.pgm.id&0xFF); F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 927 |
|
926 | 0035f8 6ee7 MOVWF 0xe7,0x0 |
| 928 |
|
927 | 0035fa 0ef0 MOVLW 0xf0 |
| 929 |
|
928 | 0035fc cfdb MOVFF 0xfdb,0x0 |
| 930 |
|
929 | 0035fe f000 |
| 931 |
|
930 | 003600 0ef1 MOVLW 0xf1 |
| 932 |
|
931 | 003602 cfdb MOVFF 0xfdb,0x1 |
| 933 |
|
932 | 003604 f001 |
| 934 |
|
933 | 003606 50e7 MOVF 0xe7,0x0,0x0 |
| 935 |
|
934 | 003608 1600 ANDWF 0x0,0x1,0x0 |
| 936 |
|
935 | 00360a 6a01 CLRF 0x1,0x0 |
| 937 |
|
936 | 00360c 5000 MOVF 0x0,0x0,0x0 |
| 938 |
|
937 | 00360e 6e63 MOVWF 0x63,0x0 |
| 939 | } F:\MCP\projects\CAN\canBase\Source\CAN.c |
938 | } F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 940 |
|
939 | 003610 c0a1 MOVFF 0xa1,0xf64 RXB0EIDL = MY_ID; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 941 |
|
940 | 003612 ff64 |
| 942 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
941 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 943 | // Data length F:\MCP\projects\CAN\canBase\Source\CAN.c |
942 | // Data length F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 944 |
|
943 | 003614 6a65 CLRF 0x65,0x0 RXB0DLC = 0; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 945 |
|
944 | 003616 0ef6 MOVLW 0xf6 if (cp.length>8) RXB0DLC=8; else RXB0DLC=cp.length; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 946 |
|
945 | 003618 50db MOVF 0xdb,0x0,0x0 |
| 947 |
|
946 | 00361a 0808 SUBLW 0x8 |
| 948 |
|
947 | 00361c e203 BC 0x3624 |
| 949 |
|
948 | 00361e 0e08 MOVLW 0x8 |
| 950 |
|
949 | 003620 6e65 MOVWF 0x65,0x0 |
| 951 |
|
950 | 003622 d003 BRA 0x362a |
| 952 |
|
951 | 003624 0ef6 MOVLW 0xf6 |
| 953 |
|
952 | 003626 50db MOVF 0xdb,0x0,0x0 |
| 954 |
|
953 | 003628 6e65 MOVWF 0x65,0x0 |
| 955 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
954 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 956 | // NOT Remote request F:\MCP\projects\CAN\canBase\Source\CAN.c |
955 | // NOT Remote request F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 957 | _asm F:\MCP\projects\CAN\canBase\Source\CAN.c |
956 | _asm F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 958 |
|
957 | 00362a 9c65 BCF 0x65,0x6,0x0 bcf RXB0DLC, 6, 0 F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 959 | _endasm F:\MCP\projects\CAN\canBase\Source\CAN.c |
958 | _endasm F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 960 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
959 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 961 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
960 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 962 | // Data one bye one, for speed F:\MCP\projects\CAN\canBase\Source\CAN.c |
961 | // Data one bye one, for speed F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 963 |
|
962 | 00362c 0ef7 MOVLW 0xf7 RXB0D0=cp.data[0]; RXB0D1=cp.data[1]; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 964 |
|
963 | 00362e 50db MOVF 0xdb,0x0,0x0 |
| 965 |
|
964 | 003630 6e66 MOVWF 0x66,0x0 |
| 966 |
|
965 | 003632 0ef8 MOVLW 0xf8 |
| 967 |
|
966 | 003634 50db MOVF 0xdb,0x0,0x0 |
| 968 |
|
967 | 003636 6e67 MOVWF 0x67,0x0 |
| 969 |
|
968 | 003638 0ef9 MOVLW 0xf9 RXB0D2=cp.data[2]; RXB0D3=cp.data[3]; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 970 |
|
969 | 00363a 50db MOVF 0xdb,0x0,0x0 |
| 971 |
|
970 | 00363c 6e68 MOVWF 0x68,0x0 |
| 972 |
|
971 | 00363e 0efa MOVLW 0xfa |
| 973 |
|
972 | 003640 50db MOVF 0xdb,0x0,0x0 |
| 974 |
|
973 | 003642 6e69 MOVWF 0x69,0x0 |
| 975 |
|
974 | 003644 0efb MOVLW 0xfb RXB0D4=cp.data[4]; RXB0D5=cp.data[5]; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 976 |
|
975 | 003646 50db MOVF 0xdb,0x0,0x0 |
| 977 |
|
976 | 003648 6e6a MOVWF 0x6a,0x0 |
| 978 |
|
977 | 00364a 0efc MOVLW 0xfc |
| 979 |
|
978 | 00364c 50db MOVF 0xdb,0x0,0x0 |
| 980 |
|
979 | 00364e 6e6b MOVWF 0x6b,0x0 |
| 981 |
|
980 | 003650 0efd MOVLW 0xfd RXB0D6=cp.data[6]; RXB0D7=cp.data[7]; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 982 |
|
981 | 003652 50db MOVF 0xdb,0x0,0x0 |
| 983 |
|
982 | 003654 6e6c MOVWF 0x6c,0x0 |
| 984 |
|
983 | 003656 0efe MOVLW 0xfe |
| 985 |
|
984 | 003658 50db MOVF 0xdb,0x0,0x0 |
| 986 |
|
985 | 00365a 6e6d MOVWF 0x6d,0x0 |
| 987 | // set extended F:\MCP\projects\CAN\canBase\Source\CAN.c |
986 | // set extended F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 988 |
|
987 | 00365c 8662 BSF 0x62,0x3,0x0 RXB0SIDLbits.EXID=1; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 989 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
988 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 990 | // Priority F:\MCP\projects\CAN\canBase\Source\CAN.c |
989 | // Priority F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 991 |
|
990 | 00365e 0eed MOVLW 0xed RXB0CON = (RXB0CON & 0b11111100) | prio; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 992 |
|
991 | 003660 cfdb MOVFF 0xfdb,0xfe6 |
| 993 |
|
992 | 003662 ffe6 |
| 994 |
|
993 | 003664 0efc MOVLW 0xfc |
| 995 |
|
994 | 003666 1460 ANDWF 0x60,0x0,0x0 |
| 996 |
|
995 | 003668 52e5 MOVF 0xe5,0x1,0x0 |
| 997 |
|
996 | 00366a 10e7 IORWF 0xe7,0x0,0x0 |
| 998 |
|
997 | 00366c 6e60 MOVWF 0x60,0x0 |
| 999 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
998 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 1000 | // mark as redy to transmit F:\MCP\projects\CAN\canBase\Source\CAN.c |
999 | // mark as redy to transmit F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 1001 | _asm F:\MCP\projects\CAN\canBase\Source\CAN.c |
1000 | _asm F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 1002 |
|
1001 | 00366e 8660 BSF 0x60,0x3,0x0 bsf RXB0CON, 3, 0 F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 1003 | _endasm F:\MCP\projects\CAN\canBase\Source\CAN.c |
1002 | _endasm F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 1004 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
1003 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 1005 |
|
1004 | 003670 0e01 MOVLW 0x1 return TRUE; F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 1006 |
|
1005 | 003672 d000 BRA 0x3674 |
| 1007 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
1006 | F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 1008 |
|
1007 | 003674 52e5 MOVF 0xe5,0x1,0x0 } F:\MCP\projects\CAN\canBase\Source\CAN.c |
| 1009 |
|
1008 | 003676 cfe7 MOVFF 0xfe7,0xfd9 |
| 1010 |
|
1009 | 003678 ffd9 |
| 1011 |
|
1010 | 00367a 0012 RETURN 0x0 |
| 1012 | /********************************************************************* F:\MCP\projects\CAN\canBase\Source\Tick.c |
1011 | /********************************************************************* F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1013 | * F:\MCP\projects\CAN\canBase\Source\Tick.c |
1012 | * F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1014 | * Ticker module service F:\MCP\projects\CAN\canBase\Source\Tick.c |
1013 | * Ticker module service F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1015 | * F:\MCP\projects\CAN\canBase\Source\Tick.c |
1014 | * F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1016 | ********************************************************************* F:\MCP\projects\CAN\canBase\Source\Tick.c |
1015 | ********************************************************************* F:\MCP\projects\CAN\canBase\Source\Tick.c |
| Line 1073... | Line 1072... | ||
| 1073 | */ F:\MCP\projects\CAN\canBase\Source\Tick.c |
1072 | */ F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1074 | #define PERIOD (INSTR_FREQ/256/1000)*TICK_PERIOD_MS F:\MCP\projects\CAN\canBase\Source\Tick.c |
1073 | #define PERIOD (INSTR_FREQ/256/1000)*TICK_PERIOD_MS F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1075 | void tickInit(void) F:\MCP\projects\CAN\canBase\Source\Tick.c |
1074 | void tickInit(void) F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1076 | { F:\MCP\projects\CAN\canBase\Source\Tick.c |
1075 | { F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1077 | // Start the timer. F:\MCP\projects\CAN\canBase\Source\Tick.c |
1076 | // Start the timer. F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1078 |
|
1077 | 004640 0e79 MOVLW 0x79 TMR0L = TICK_COUNTER_LOW; F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1079 |
|
1078 | 004642 6ed6 MOVWF 0xd6,0x0 |
| 1080 |
|
1079 | 004644 0efe MOVLW 0xfe TMR0H = TICK_COUNTER_HIGH; F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1081 |
|
1080 | 004646 6ed7 MOVWF 0xd7,0x0 |
| 1082 | F:\MCP\projects\CAN\canBase\Source\Tick.c |
1081 | F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1083 | // 16-BIT, internal timer, PSA set to 1:256 F:\MCP\projects\CAN\canBase\Source\Tick.c |
1082 | // 16-BIT, internal timer, PSA set to 1:256 F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1084 |
|
1083 | 004648 0e07 MOVLW 0x7 T0CON = 0b00000000 | TIMER_PRESCALE; F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1085 |
|
1084 | 00464a 6ed5 MOVWF 0xd5,0x0 |
| 1086 | F:\MCP\projects\CAN\canBase\Source\Tick.c |
1085 | F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1087 | // Start the timer. F:\MCP\projects\CAN\canBase\Source\Tick.c |
1086 | // Start the timer. F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1088 |
|
1087 | 00464c 8ed5 BSF 0xd5,0x7,0x0 T0CONbits.TMR0ON = 1; F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1089 | F:\MCP\projects\CAN\canBase\Source\Tick.c |
1088 | F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1090 |
|
1089 | 00464e 84f2 BSF 0xf2,0x2,0x0 INTCONbits.TMR0IF = 1; F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1091 |
|
1090 | 004650 8af2 BSF 0xf2,0x5,0x0 INTCONbits.TMR0IE = 1; F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1092 |
|
1091 | 004652 0012 RETURN 0x0 } F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1093 | F:\MCP\projects\CAN\canBase\Source\Tick.c |
1092 | F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1094 | /* F:\MCP\projects\CAN\canBase\Source\Tick.c |
1093 | /* F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1095 | * Function: TickGet F:\MCP\projects\CAN\canBase\Source\Tick.c |
1094 | * Function: TickGet F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1096 | * F:\MCP\projects\CAN\canBase\Source\Tick.c |
1095 | * F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1097 | * Input: none F:\MCP\projects\CAN\canBase\Source\Tick.c |
1096 | * Input: none F:\MCP\projects\CAN\canBase\Source\Tick.c |
| Line 1100... | Line 1099... | ||
| 1100 | * Affects: none F:\MCP\projects\CAN\canBase\Source\Tick.c |
1099 | * Affects: none F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1101 | * Depends: none F:\MCP\projects\CAN\canBase\Source\Tick.c |
1100 | * Depends: none F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1102 | */ F:\MCP\projects\CAN\canBase\Source\Tick.c |
1101 | */ F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1103 | TICK tickGet(void) F:\MCP\projects\CAN\canBase\Source\Tick.c |
1102 | TICK tickGet(void) F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1104 | { F:\MCP\projects\CAN\canBase\Source\Tick.c |
1103 | { F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1105 |
|
1104 | 004654 c09d MOVFF 0x9d,0x29 return TickCount; F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1106 |
|
1105 | 004656 f029 |
| 1107 |
|
1106 | 004658 c09e MOVFF 0x9e,0x2a |
| 1108 |
|
1107 | 00465a f02a |
| 1109 |
|
1108 | 00465c c09f MOVFF 0x9f,0x2b |
| 1110 |
|
1109 | 00465e f02b |
| 1111 |
|
1110 | 004660 c0a0 MOVFF 0xa0,0x2c |
| 1112 |
|
1111 | 004662 f02c |
| 1113 |
|
1112 | 004664 d000 BRA 0x4666 |
| 1114 |
|
1113 | 004666 0012 RETURN 0x0 } F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1115 | F:\MCP\projects\CAN\canBase\Source\Tick.c |
1114 | F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1116 | F:\MCP\projects\CAN\canBase\Source\Tick.c |
1115 | F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1117 | /* F:\MCP\projects\CAN\canBase\Source\Tick.c |
1116 | /* F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1118 | * Function: tickUpdate F:\MCP\projects\CAN\canBase\Source\Tick.c |
1117 | * Function: tickUpdate F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1119 | * F:\MCP\projects\CAN\canBase\Source\Tick.c |
1118 | * F:\MCP\projects\CAN\canBase\Source\Tick.c |
| Line 1123... | Line 1122... | ||
| 1123 | * Affects: none F:\MCP\projects\CAN\canBase\Source\Tick.c |
1122 | * Affects: none F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1124 | * Depends: none F:\MCP\projects\CAN\canBase\Source\Tick.c |
1123 | * Depends: none F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1125 | */ F:\MCP\projects\CAN\canBase\Source\Tick.c |
1124 | */ F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1126 | void tickUpdate(void) F:\MCP\projects\CAN\canBase\Source\Tick.c |
1125 | void tickUpdate(void) F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1127 | { F:\MCP\projects\CAN\canBase\Source\Tick.c |
1126 | { F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1128 |
|
1127 | 004668 a4f2 BTFSS 0xf2,0x2,0x0 if(INTCONbits.TMR0IF) F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1129 |
|
1128 | 00466a d00b BRA 0x4682 |
| 1130 | { F:\MCP\projects\CAN\canBase\Source\Tick.c |
1129 | { F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1131 |
|
1130 | 00466c 0efe MOVLW 0xfe TMR0H = TICK_COUNTER_HIGH; F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1132 |
|
1131 | 00466e 6ed7 MOVWF 0xd7,0x0 |
| 1133 |
|
1132 | 004670 0e79 MOVLW 0x79 TMR0L = TICK_COUNTER_LOW; F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1134 |
|
1133 | 004672 6ed6 MOVWF 0xd6,0x0 |
| 1135 | F:\MCP\projects\CAN\canBase\Source\Tick.c |
1134 | F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1136 |
|
1135 | 004674 0100 MOVLB 0x0 TickCount++; F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1137 |
|
1136 | 004676 2b9d INCF 0x9d,0x1,0x1 |
| 1138 |
|
1137 | 004678 0e00 MOVLW 0x0 |
| 1139 |
|
1138 | 00467a 239e ADDWFC 0x9e,0x1,0x1 |
| 1140 |
|
1139 | 00467c 239f ADDWFC 0x9f,0x1,0x1 |
| 1141 |
|
1140 | 00467e 23a0 ADDWFC 0xa0,0x1,0x1 |
| 1142 | F:\MCP\projects\CAN\canBase\Source\Tick.c |
1141 | F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1143 |
|
1142 | 004680 94f2 BCF 0xf2,0x2,0x0 INTCONbits.TMR0IF = 0; F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1144 | } F:\MCP\projects\CAN\canBase\Source\Tick.c |
1143 | } F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1145 |
|
1144 | 004682 0012 RETURN 0x0 } F:\MCP\projects\CAN\canBase\Source\Tick.c |
| 1146 | /********************************************************************* F:\MCP\projects\CAN\canTemp\Source\Main.c |
1145 | /********************************************************************* F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1147 | * F:\MCP\projects\CAN\canTemp\Source\Main.c |
1146 | * F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1148 | * Main application F:\MCP\projects\CAN\canTemp\Source\Main.c |
1147 | * Main application F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1149 | * F:\MCP\projects\CAN\canTemp\Source\Main.c |
1148 | * F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1150 | ********************************************************************* F:\MCP\projects\CAN\canTemp\Source\Main.c |
1149 | ********************************************************************* F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1151 | * FileName: $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canTemp/Source/Main.c $ F:\MCP\projects\CAN\canTemp\Source\Main.c |
1150 | * FileName: $HeadURL: http://svn.arune.se/svn/HomeAutomation/trunk/EmbeddedSoftware/PIC/canTemp/Source/Main.c $ F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1152 | * Last changed: $LastChangedDate: 2007-02- |
1151 | * Last changed: $LastChangedDate: 2007-02-26 21:38:37 +0100 (må, 26 feb 2007) $ F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1153 | * By: $LastChangedBy: johboh $ F:\MCP\projects\CAN\canTemp\Source\Main.c |
1152 | * By: $LastChangedBy: johboh $ F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1154 | * Revision: $Revision: |
1153 | * Revision: $Revision: 342 $ F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1155 | ********************************************************************/ F:\MCP\projects\CAN\canTemp\Source\Main.c |
1154 | ********************************************************************/ F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1156 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1155 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1157 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1156 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1158 | #include <compiler.h> F:\MCP\projects\CAN\canTemp\Source\Main.c |
1157 | #include <compiler.h> F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1159 | #include <stackTasks.h> F:\MCP\projects\CAN\canTemp\Source\Main.c |
1158 | #include <stackTasks.h> F:\MCP\projects\CAN\canTemp\Source\Main.c |
| Line 1171... | Line 1170... | ||
| 1171 | #include <blinds.h> F:\MCP\projects\CAN\canTemp\Source\Main.c |
1170 | #include <blinds.h> F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1172 | #endif F:\MCP\projects\CAN\canTemp\Source\Main.c |
1171 | #endif F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1173 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1172 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1174 | static void mainInit(void); F:\MCP\projects\CAN\canTemp\Source\Main.c |
1173 | static void mainInit(void); F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1175 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1174 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1176 |
|
1175 | 003abe cfd9 MOVFF 0xfd9,0xfe6 void main() F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1177 |
|
1176 | 003ac0 ffe6 |
| 1178 |
|
1177 | 003ac2 cfe1 MOVFF 0xfe1,0xfd9 |
| 1179 |
|
1178 | 003ac4 ffd9 |
| 1180 |
|
1179 | 003ac6 0e17 MOVLW 0x17 |
| 1181 |
|
1180 | 003ac8 26e1 ADDWF 0xe1,0x1,0x0 |
| 1182 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
1181 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1183 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1182 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1184 | static TICK t = 0; F:\MCP\projects\CAN\canTemp\Source\Main.c |
1183 | static TICK t = 0; F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1185 | CAN_PACKET outCp; F:\MCP\projects\CAN\canTemp\Source\Main.c |
1184 | CAN_PACKET outCp; F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1186 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1185 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1187 | // Inits F:\MCP\projects\CAN\canTemp\Source\Main.c |
1186 | // Inits F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1188 |
|
1187 | 003aca d9f0 RCALL 0x3eac mainInit(); F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1189 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1188 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1190 |
|
1189 | 003acc ec34 CALL 0x3068,0x0 canInit(); F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1191 |
|
1190 | 003ace f018 |
| 1192 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1191 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1193 | #ifdef USE_ADC F:\MCP\projects\CAN\canTemp\Source\Main.c |
1192 | #ifdef USE_ADC F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1194 |
|
1193 | 003ad0 0e0b MOVLW 0xb adcInit(TRUE,0b1011); F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1195 |
|
1194 | 003ad2 6ee6 MOVWF 0xe6,0x0 |
| 1196 |
|
1195 | 003ad4 0e01 MOVLW 0x1 |
| 1197 |
|
1196 | 003ad6 6ee6 MOVWF 0xe6,0x0 |
| 1198 |
|
1197 | 003ad8 ec7a CALL 0x3ef4,0x0 |
| 1199 |
|
1198 | 003ada f01f |
| - | 1199 | 003adc 52e5 MOVF 0xe5,0x1,0x0 |
|
| 1200 | 003ade 52e5 MOVF 0xe5,0x1,0x0 |
1200 | 003ade 52e5 MOVF 0xe5,0x1,0x0 |
| 1201 | 003ae0 52e5 MOVF 0xe5,0x1,0x0 |
- | |
| 1202 | #endif F:\MCP\projects\CAN\canTemp\Source\Main.c |
1201 | #endif F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1203 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1202 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1204 | #ifdef USE_BLINDS F:\MCP\projects\CAN\canTemp\Source\Main.c |
1203 | #ifdef USE_BLINDS F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1205 |
|
1204 | 003ae0 ecfd CALL 0x41fa,0x0 blindsInit(); F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1206 |
|
1205 | 003ae2 f020 |
| 1207 |
|
1206 | 003ae4 6ae6 CLRF 0xe6,0x0 blindsTurn(0); F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1208 |
|
1207 | 003ae6 ec15 CALL 0x422a,0x0 |
| 1209 |
|
1208 | 003ae8 f021 |
| 1210 |
|
1209 | 003aea 52e5 MOVF 0xe5,0x1,0x0 |
| 1211 | #else F:\MCP\projects\CAN\canTemp\Source\Main.c |
1210 | #else F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1212 | BLINDS0P_IO=0; F:\MCP\projects\CAN\canTemp\Source\Main.c |
1211 | BLINDS0P_IO=0; F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1213 | #endif F:\MCP\projects\CAN\canTemp\Source\Main.c |
1212 | #endif F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1214 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1213 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1215 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1214 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1216 |
|
1215 | 003d66 d6c2 BRA 0x3aec while(1) F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1217 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
1216 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1218 | static TICK t = 0; F:\MCP\projects\CAN\canTemp\Source\Main.c |
1217 | static TICK t = 0; F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1219 | static TICK temperature = 0; F:\MCP\projects\CAN\canTemp\Source\Main.c |
1218 | static TICK temperature = 0; F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1220 | static BOOL getNewTemperature = TRUE; F:\MCP\projects\CAN\canTemp\Source\Main.c |
1219 | static BOOL getNewTemperature = TRUE; F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1221 | static BYTE lastTemperature = TEMPERATURE_INSIDE; F:\MCP\projects\CAN\canTemp\Source\Main.c |
1220 | static BYTE lastTemperature = TEMPERATURE_INSIDE; F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1222 | static TICK blinds = 0; F:\MCP\projects\CAN\canTemp\Source\Main.c |
1221 | static TICK blinds = 0; F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1223 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1222 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1224 |
|
1223 | 003aec ec2a CALL 0x4654,0x0 if ((tickGet()-t)>TICK_SECOND) F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1225 |
|
1224 | 003aee f023 |
| 1226 |
|
1225 | 003af0 0100 MOVLB 0x0 |
| 1227 |
|
1226 | 003af2 5179 MOVF 0x79,0x0,0x1 |
| 1228 |
|
1227 | 003af4 5c29 SUBWF 0x29,0x0,0x0 |
| 1229 |
|
1228 | 003af6 6e00 MOVWF 0x0,0x0 |
| 1230 |
|
1229 | 003af8 517a MOVF 0x7a,0x0,0x1 |
| 1231 |
|
1230 | 003afa 582a SUBWFB 0x2a,0x0,0x0 |
| 1232 |
|
1231 | 003afc 6e01 MOVWF 0x1,0x0 |
| 1233 |
|
1232 | 003afe 517b MOVF 0x7b,0x0,0x1 |
| 1234 |
|
1233 | 003b00 582b SUBWFB 0x2b,0x0,0x0 |
| 1235 |
|
1234 | 003b02 6e02 MOVWF 0x2,0x0 |
| 1236 |
|
1235 | 003b04 517c MOVF 0x7c,0x0,0x1 |
| 1237 |
|
1236 | 003b06 582c SUBWFB 0x2c,0x0,0x0 |
| 1238 |
|
1237 | 003b08 6e03 MOVWF 0x3,0x0 |
| 1239 |
|
1238 | 003b0a 80d8 BSF 0xd8,0x0,0x0 |
| 1240 |
|
1239 | 003b0c 0e64 MOVLW 0x64 |
| 1241 |
|
1240 | 003b0e 5400 SUBFWB 0x0,0x0,0x0 |
| 1242 |
|
1241 | 003b10 0e00 MOVLW 0x0 |
| 1243 |
|
1242 | 003b12 5401 SUBFWB 0x1,0x0,0x0 |
| 1244 |
|
1243 | 003b14 0e00 MOVLW 0x0 |
| 1245 |
|
1244 | 003b16 5402 SUBFWB 0x2,0x0,0x0 |
| 1246 |
|
1245 | 003b18 0e00 MOVLW 0x0 |
| 1247 |
|
1246 | 003b1a 5403 SUBFWB 0x3,0x0,0x0 |
| 1248 |
|
1247 | 003b1c e20b BC 0x3b34 |
| 1249 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
1248 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1250 |
|
1249 | 003b1e 7282 BTG 0x82,0x1,0x0 LED0_IO=~LED0_IO; F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1251 |
|
1250 | 003b20 ec2a CALL 0x4654,0x0 t = tickGet(); F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1252 |
|
1251 | 003b22 f023 |
| 1253 |
|
1252 | 003b24 c029 MOVFF 0x29,0x79 |
| 1254 |
|
1253 | 003b26 f079 |
| 1255 |
|
1254 | 003b28 c02a MOVFF 0x2a,0x7a |
| 1256 |
|
1255 | 003b2a f07a |
| 1257 |
|
1256 | 003b2c c02b MOVFF 0x2b,0x7b |
| 1258 |
|
1257 | 003b2e f07b |
| 1259 |
|
1258 | 003b30 c02c MOVFF 0x2c,0x7c |
| 1260 |
|
1259 | 003b32 f07c |
| 1261 | } F:\MCP\projects\CAN\canTemp\Source\Main.c |
1260 | } F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1262 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1261 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1263 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1262 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1264 | #ifdef USE_BLINDS F:\MCP\projects\CAN\canTemp\Source\Main.c |
1263 | #ifdef USE_BLINDS F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1265 |
|
1264 | 003b34 ec2a CALL 0x4654,0x0 if ((tickGet()-blinds)>3*TICK_SECOND) F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1266 |
|
1265 | 003b36 f023 |
| 1267 |
|
1266 | 003b38 0100 MOVLB 0x0 |
| 1268 |
|
1267 | 003b3a 5183 MOVF 0x83,0x0,0x1 |
| 1269 |
|
1268 | 003b3c 5c29 SUBWF 0x29,0x0,0x0 |
| 1270 |
|
1269 | 003b3e 6e00 MOVWF 0x0,0x0 |
| 1271 |
|
1270 | 003b40 5184 MOVF 0x84,0x0,0x1 |
| 1272 |
|
1271 | 003b42 582a SUBWFB 0x2a,0x0,0x0 |
| 1273 |
|
1272 | 003b44 6e01 MOVWF 0x1,0x0 |
| 1274 |
|
1273 | 003b46 5185 MOVF 0x85,0x0,0x1 |
| 1275 |
|
1274 | 003b48 582b SUBWFB 0x2b,0x0,0x0 |
| 1276 |
|
1275 | 003b4a 6e02 MOVWF 0x2,0x0 |
| 1277 |
|
1276 | 003b4c 5186 MOVF 0x86,0x0,0x1 |
| 1278 |
|
1277 | 003b4e 582c SUBWFB 0x2c,0x0,0x0 |
| 1279 |
|
1278 | 003b50 6e03 MOVWF 0x3,0x0 |
| 1280 |
|
1279 | 003b52 80d8 BSF 0xd8,0x0,0x0 |
| 1281 |
|
1280 | 003b54 0e2c MOVLW 0x2c |
| 1282 |
|
1281 | 003b56 5400 SUBFWB 0x0,0x0,0x0 |
| 1283 |
|
1282 | 003b58 0e01 MOVLW 0x1 |
| 1284 |
|
1283 | 003b5a 5401 SUBFWB 0x1,0x0,0x0 |
| 1285 |
|
1284 | 003b5c 0e00 MOVLW 0x0 |
| 1286 |
|
1285 | 003b5e 5402 SUBFWB 0x2,0x0,0x0 |
| 1287 |
|
1286 | 003b60 0e00 MOVLW 0x0 |
| 1288 |
|
1287 | 003b62 5403 SUBFWB 0x3,0x0,0x0 |
| 1289 |
|
1288 | 003b64 e251 BC 0x3c08 |
| 1290 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
1289 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1291 |
|
1290 | 003b66 0e01 MOVLW 0x1 outCp.type=ptPGM; F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1292 |
|
1291 | 003b68 6edf MOVWF 0xdf,0x0 |
| 1293 |
|
1292 | 003b6a 52de MOVF 0xde,0x1,0x0 outCp.pgm.class=pcSENSOR; F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1294 |
|
1293 | 003b6c 6edd MOVWF 0xdd,0x0 |
| 1295 |
|
1294 | 003b6e 0e07 MOVLW 0x7 outCp.pgm.id=pstBLIND_TR; F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1296 |
|
1295 | 003b70 6ef3 MOVWF 0xf3,0x0 |
| 1297 |
|
1296 | 003b72 0e02 MOVLW 0x2 |
| 1298 |
|
1297 | 003b74 cff3 MOVFF 0xff3,0xfdb |
| 1299 |
|
1298 | 003b76 ffdb |
| 1300 |
|
1299 | 003b78 0e03 MOVLW 0x3 |
| 1301 |
|
1300 | 003b7a 6adb CLRF 0xdb,0x0 |
| 1302 |
|
1301 | 003b7c 0e01 MOVLW 0x1 outCp.length=1; F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1303 |
|
1302 | 003b7e 6ef3 MOVWF 0xf3,0x0 |
| 1304 |
|
1303 | 003b80 0e08 MOVLW 0x8 |
| 1305 |
|
1304 | 003b82 cff3 MOVFF 0xff3,0xfdb |
| 1306 |
|
1305 | 003b84 ffdb |
| 1307 |
|
1306 | 003b86 ec11 CALL 0x4222,0x0 outCp.data[0]=blindsGetPrecent(); F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1308 |
|
1307 | 003b88 f021 |
| 1309 |
|
1308 | 003b8a 6ee7 MOVWF 0xe7,0x0 |
| 1310 |
|
1309 | 003b8c 0e09 MOVLW 0x9 |
| 1311 |
|
1310 | 003b8e cfe7 MOVFF 0xfe7,0xfdb |
| 1312 |
|
1311 | 003b90 ffdb |
| 1313 |
|
1312 | 003b92 0e02 MOVLW 0x2 while(!canSendMessage(outCp,PRIO_HIGH)); F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1314 |
|
1313 | 003b94 6ee6 MOVWF 0xe6,0x0 |
| 1315 |
|
1314 | 003b96 cfd9 MOVFF 0xfd9,0xfe9 |
| 1316 |
|
1315 | 003b98 ffe9 |
| 1317 |
|
1316 | 003b9a cfda MOVFF 0xfda,0xfea |
| 1318 |
|
1317 | 003b9c ffea |
| 1319 |
|
1318 | 003b9e cfee MOVFF 0xfee,0xfe6 |
| 1320 |
|
1319 | 003ba0 ffe6 |
| 1321 |
|
1320 | 003ba2 cfee MOVFF 0xfee,0xfe6 |
| 1322 |
|
1321 | 003ba4 ffe6 |
| 1323 |
|
1322 | 003ba6 cfee MOVFF 0xfee,0xfe6 |
| 1324 |
|
1323 | 003ba8 ffe6 |
| 1325 |
|
1324 | 003baa cfee MOVFF 0xfee,0xfe6 |
| 1326 |
|
1325 | 003bac ffe6 |
| 1327 |
|
1326 | 003bae cfee MOVFF 0xfee,0xfe6 |
| 1328 |
|
1327 | 003bb0 ffe6 |
| 1329 |
|
1328 | 003bb2 cfee MOVFF 0xfee,0xfe6 |
| 1330 |
|
1329 | 003bb4 ffe6 |
| 1331 |
|
1330 | 003bb6 cfee MOVFF 0xfee,0xfe6 |
| 1332 |
|
1331 | 003bb8 ffe6 |
| 1333 |
|
1332 | 003bba cfee MOVFF 0xfee,0xfe6 |
| 1334 |
|
1333 | 003bbc ffe6 |
| 1335 |
|
1334 | 003bbe cfee MOVFF 0xfee,0xfe6 |
| 1336 |
|
1335 | 003bc0 ffe6 |
| 1337 |
|
1336 | 003bc2 cfee MOVFF 0xfee,0xfe6 |
| 1338 |
|
1337 | 003bc4 ffe6 |
| 1339 |
|
1338 | 003bc6 cfee MOVFF 0xfee,0xfe6 |
| 1340 |
|
1339 | 003bc8 ffe6 |
| 1341 |
|
1340 | 003bca cfee MOVFF 0xfee,0xfe6 |
| 1342 |
|
1341 | 003bcc ffe6 |
| 1343 |
|
1342 | 003bce cfee MOVFF 0xfee,0xfe6 |
| 1344 |
|
1343 | 003bd0 ffe6 |
| 1345 |
|
1344 | 003bd2 cfee MOVFF 0xfee,0xfe6 |
| 1346 |
|
1345 | 003bd4 ffe6 |
| 1347 |
|
1346 | 003bd6 cfee MOVFF 0xfee,0xfe6 |
| 1348 |
|
1347 | 003bd8 ffe6 |
| 1349 |
|
1348 | 003bda cfee MOVFF 0xfee,0xfe6 |
| 1350 |
|
1349 | 003bdc ffe6 |
| 1351 |
|
1350 | 003bde cfee MOVFF 0xfee,0xfe6 |
| 1352 |
|
1351 | 003be0 ffe6 |
| 1353 |
|
1352 | 003be2 ec61 CALL 0x34c2,0x0 |
| 1354 |
|
1353 | 003be4 f01a |
| 1355 |
|
1354 | 003be6 6e00 MOVWF 0x0,0x0 |
| 1356 |
|
1355 | 003be8 0e12 MOVLW 0x12 |
| 1357 |
|
1356 | 003bea 5ee1 SUBWF 0xe1,0x1,0x0 |
| 1358 |
|
1357 | 003bec 5000 MOVF 0x0,0x0,0x0 |
| 1359 |
|
1358 | 003bee 0900 IORLW 0x0 |
| 1360 |
|
1359 | 003bf0 e101 BNZ 0x3bf4 |
| 1361 |
|
1360 | 003bf2 d7cf BRA 0x3b92 |
| 1362 |
|
1361 | 003bf4 ec2a CALL 0x4654,0x0 blinds = tickGet(); F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1363 |
|
1362 | 003bf6 f023 |
| 1364 |
|
1363 | 003bf8 c029 MOVFF 0x29,0x83 |
| 1365 |
|
1364 | 003bfa f083 |
| 1366 |
|
1365 | 003bfc c02a MOVFF 0x2a,0x84 |
| 1367 |
|
1366 | 003bfe f084 |
| 1368 |
|
1367 | 003c00 c02b MOVFF 0x2b,0x85 |
| 1369 |
|
1368 | 003c02 f085 |
| 1370 |
|
1369 | 003c04 c02c MOVFF 0x2c,0x86 |
| 1371 |
|
1370 | 003c06 f086 |
| 1372 | } F:\MCP\projects\CAN\canTemp\Source\Main.c |
1371 | } F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1373 | #endif F:\MCP\projects\CAN\canTemp\Source\Main.c |
1372 | #endif F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1374 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1373 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1375 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1374 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1376 | #ifdef USE_ADC F:\MCP\projects\CAN\canTemp\Source\Main.c |
1375 | #ifdef USE_ADC F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1377 |
|
1376 | 003c08 ec2a CALL 0x4654,0x0 if ((tickGet()-temperature)>TICK_SECOND*2 && getNewTemperature==TRUE) // Each 2 second, read temperature. F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1378 |
|
1377 | 003c0a f023 |
| 1379 |
|
1378 | 003c0c 0100 MOVLB 0x0 |
| 1380 |
|
1379 | 003c0e 517d MOVF 0x7d,0x0,0x1 |
| 1381 |
|
1380 | 003c10 5c29 SUBWF 0x29,0x0,0x0 |
| 1382 |
|
1381 | 003c12 6e00 MOVWF 0x0,0x0 |
| 1383 |
|
1382 | 003c14 517e MOVF 0x7e,0x0,0x1 |
| 1384 |
|
1383 | 003c16 582a SUBWFB 0x2a,0x0,0x0 |
| 1385 |
|
1384 | 003c18 6e01 MOVWF 0x1,0x0 |
| 1386 |
|
1385 | 003c1a 517f MOVF 0x7f,0x0,0x1 |
| 1387 |
|
1386 | 003c1c 582b SUBWFB 0x2b,0x0,0x0 |
| 1388 |
|
1387 | 003c1e 6e02 MOVWF 0x2,0x0 |
| 1389 |
|
1388 | 003c20 5180 MOVF 0x80,0x0,0x1 |
| 1390 |
|
1389 | 003c22 582c SUBWFB 0x2c,0x0,0x0 |
| 1391 |
|
1390 | 003c24 6e03 MOVWF 0x3,0x0 |
| 1392 |
|
1391 | 003c26 80d8 BSF 0xd8,0x0,0x0 |
| 1393 |
|
1392 | 003c28 0ec8 MOVLW 0xc8 |
| 1394 |
|
1393 | 003c2a 5400 SUBFWB 0x0,0x0,0x0 |
| 1395 |
|
1394 | 003c2c 0e00 MOVLW 0x0 |
| 1396 |
|
1395 | 003c2e 5401 SUBFWB 0x1,0x0,0x0 |
| 1397 |
|
1396 | 003c30 0e00 MOVLW 0x0 |
| 1398 |
|
1397 | 003c32 5402 SUBFWB 0x2,0x0,0x0 |
| 1399 |
|
1398 | 003c34 0e00 MOVLW 0x0 |
| 1400 |
|
1399 | 003c36 5403 SUBFWB 0x3,0x0,0x0 |
| 1401 |
|
1400 | 003c38 e21a BC 0x3c6e |
| 1402 |
|
1401 | 003c3a 0581 DECF 0x81,0x0,0x1 |
| 1403 |
|
1402 | 003c3c e118 BNZ 0x3c6e |
| 1404 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
1403 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1405 |
|
1404 | 003c3e 0582 DECF 0x82,0x0,0x1 if (lastTemperature==TEMPERATURE_INSIDE) lastTemperature=TEMPERATURE_OUTSIDE; else lastTemperature=TEMPERATURE_INSIDE; F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1406 |
|
1405 | 003c40 e103 BNZ 0x3c48 |
| 1407 |
|
1406 | 003c42 0e02 MOVLW 0x2 |
| 1408 |
|
1407 | 003c44 6f82 MOVWF 0x82,0x1 |
| 1409 |
|
1408 | 003c46 d002 BRA 0x3c4c |
| 1410 |
|
1409 | 003c48 0e01 MOVLW 0x1 |
| 1411 |
|
1410 | 003c4a 6f82 MOVWF 0x82,0x1 |
| 1412 |
|
1411 | 003c4c c082 MOVFF 0x82,0xfe6 adcConvert(lastTemperature); F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1413 |
|
1412 | 003c4e ffe6 |
| 1414 |
|
1413 | 003c50 ece8 CALL 0x3fd0,0x0 |
| 1415 |
|
1414 | 003c52 f01f |
| 1416 |
|
1415 | 003c54 52e5 MOVF 0xe5,0x1,0x0 |
| 1417 |
|
1416 | 003c56 ec2a CALL 0x4654,0x0 temperature = tickGet(); F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1418 |
|
1417 | 003c58 f023 |
| 1419 |
|
1418 | 003c5a c029 MOVFF 0x29,0x7d |
| 1420 |
|
1419 | 003c5c f07d |
| 1421 |
|
1420 | 003c5e c02a MOVFF 0x2a,0x7e |
| 1422 |
|
1421 | 003c60 f07e |
| 1423 |
|
1422 | 003c62 c02b MOVFF 0x2b,0x7f |
| 1424 |
|
1423 | 003c64 f07f |
| 1425 |
|
1424 | 003c66 c02c MOVFF 0x2c,0x80 |
| 1426 |
|
1425 | 003c68 f080 |
| 1427 |
|
1426 | 003c6a 0100 MOVLB 0x0 getNewTemperature=FALSE; F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1428 |
|
1427 | 003c6c 6b81 CLRF 0x81,0x1 |
| 1429 | } F:\MCP\projects\CAN\canTemp\Source\Main.c |
1428 | } F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1430 | #endif F:\MCP\projects\CAN\canTemp\Source\Main.c |
1429 | #endif F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1431 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1430 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1432 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1431 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1433 | #ifdef USE_ADC F:\MCP\projects\CAN\canTemp\Source\Main.c |
1432 | #ifdef USE_ADC F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1434 |
|
1433 | 003c6e ecf9 CALL 0x41f2,0x0 if (adcDone()) // Has temperature, send it to the bus F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1435 |
|
1434 | 003c70 f020 |
| 1436 |
|
1435 | 003c72 0900 IORLW 0x0 |
| 1437 |
|
1436 | 003c74 e101 BNZ 0x3c78 |
| 1438 |
|
1437 | 003c76 d077 BRA 0x3d66 |
| 1439 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
1438 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1440 | BYTE decimal; F:\MCP\projects\CAN\canTemp\Source\Main.c |
1439 | BYTE decimal; F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1441 | signed char tenth; F:\MCP\projects\CAN\canTemp\Source\Main.c |
1440 | signed char tenth; F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1442 | unsigned long q; F:\MCP\projects\CAN\canTemp\Source\Main.c |
1441 | unsigned long q; F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1443 |
|
1442 | 003c78 50d9 MOVF 0xd9,0x0,0x0 temperatureRead(&tenth,&decimal); F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1444 |
|
1443 | 003c7a 0f11 ADDLW 0x11 |
| 1445 |
|
1444 | 003c7c 6ee6 MOVWF 0xe6,0x0 |
| 1446 |
|
1445 | 003c7e 0e00 MOVLW 0x0 |
| 1447 |
|
1446 | 003c80 20da ADDWFC 0xda,0x0,0x0 |
| 1448 |
|
1447 | 003c82 6ee6 MOVWF 0xe6,0x0 |
| 1449 |
|
1448 | 003c84 50d9 MOVF 0xd9,0x0,0x0 |
| 1450 |
|
1449 | 003c86 0f12 ADDLW 0x12 |
| 1451 |
|
1450 | 003c88 6ee6 MOVWF 0xe6,0x0 |
| 1452 |
|
1451 | 003c8a 0e00 MOVLW 0x0 |
| 1453 |
|
1452 | 003c8c 20da ADDWFC 0xda,0x0,0x0 |
| 1454 |
|
1453 | 003c8e 6ee6 MOVWF 0xe6,0x0 |
| 1455 |
|
1454 | 003c90 ec13 CALL 0x4026,0x0 |
| 1456 |
|
1455 | 003c92 f020 |
| - | 1456 | 003c94 52e5 MOVF 0xe5,0x1,0x0 |
|
| 1457 | 003c96 52e5 MOVF 0xe5,0x1,0x0 |
1457 | 003c96 52e5 MOVF 0xe5,0x1,0x0 |
| 1458 | 003c98 52e5 MOVF 0xe5,0x1,0x0 |
1458 | 003c98 52e5 MOVF 0xe5,0x1,0x0 |
| 1459 | 003c9a 52e5 MOVF 0xe5,0x1,0x0 |
1459 | 003c9a 52e5 MOVF 0xe5,0x1,0x0 |
| 1460 | 003c9c 52e5 MOVF 0xe5,0x1,0x0 |
- | |
| 1461 |
|
1460 | 003c9c ecef CALL 0x41de,0x0 q = adcGetRaw(); F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1462 |
|
1461 | 003c9e f020 |
| 1463 |
|
1462 | 003ca0 0e13 MOVLW 0x13 |
| 1464 |
|
1463 | 003ca2 c029 MOVFF 0x29,0xfdb |
| 1465 |
|
1464 | 003ca4 ffdb |
| 1466 |
|
1465 | 003ca6 0e14 MOVLW 0x14 |
| 1467 |
|
1466 | 003ca8 c02a MOVFF 0x2a,0xfdb |
| 1468 |
|
1467 | 003caa ffdb |
| 1469 |
|
1468 | 003cac 0e15 MOVLW 0x15 |
| 1470 |
|
1469 | 003cae c02b MOVFF 0x2b,0xfdb |
| 1471 |
|
1470 | 003cb0 ffdb |
| 1472 |
|
1471 | 003cb2 0e16 MOVLW 0x16 |
| 1473 |
|
1472 | 003cb4 c02c MOVFF 0x2c,0xfdb |
| 1474 |
|
1473 | 003cb6 ffdb |
| 1475 |
|
1474 | 003cb8 0100 MOVLB 0x0 getNewTemperature=TRUE; F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1476 |
|
1475 | 003cba 0e01 MOVLW 0x1 |
| 1477 |
|
1476 | 003cbc 6f81 MOVWF 0x81,0x1 |
| 1478 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1477 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1479 |
|
1478 | 003cbe 6edf MOVWF 0xdf,0x0 outCp.type=ptPGM; F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1480 |
|
1479 | 003cc0 52de MOVF 0xde,0x1,0x0 outCp.pgm.class =pcSENSOR; F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1481 |
|
1480 | 003cc2 6edd MOVWF 0xdd,0x0 |
| 1482 |
|
1481 | 003cc4 0582 DECF 0x82,0x0,0x1 outCp.pgm.id =(lastTemperature==TEMPERATURE_INSIDE?pstTEMP_INSIDE:pstTEMP_OUTSIDE); F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1483 |
|
1482 | 003cc6 e102 BNZ 0x3ccc |
| 1484 |
|
1483 | 003cc8 0e01 MOVLW 0x1 |
| 1485 |
|
1484 | 003cca d001 BRA 0x3cce |
| 1486 |
|
1485 | 003ccc 0e02 MOVLW 0x2 |
| 1487 |
|
1486 | 003cce 6e00 MOVWF 0x0,0x0 |
| 1488 |
|
1487 | 003cd0 6a01 CLRF 0x1,0x0 |
| 1489 |
|
1488 | 003cd2 be00 BTFSC 0x0,0x7,0x0 |
| 1490 |
|
1489 | 003cd4 6801 SETF 0x1,0x0 |
| 1491 |
|
1490 | 003cd6 0e02 MOVLW 0x2 |
| 1492 |
|
1491 | 003cd8 c000 MOVFF 0x0,0xfdb |
| 1493 |
|
1492 | 003cda ffdb |
| 1494 |
|
1493 | 003cdc 0e03 MOVLW 0x3 |
| 1495 |
|
1494 | 003cde c001 MOVFF 0x1,0xfdb |
| 1496 |
|
1495 | 003ce0 ffdb |
| 1497 |
|
1496 | 003ce2 0e02 MOVLW 0x2 outCp.length =2; F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1498 |
|
1497 | 003ce4 6ef3 MOVWF 0xf3,0x0 |
| 1499 |
|
1498 | 003ce6 0e08 MOVLW 0x8 |
| 1500 |
|
1499 | 003ce8 cff3 MOVFF 0xff3,0xfdb |
| 1501 |
|
1500 | 003cea ffdb |
| 1502 |
|
1501 | 003cec 0e12 MOVLW 0x12 outCp.data[1] = tenth; // signed 10 an 1 decimal. F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1503 |
|
1502 | 003cee 50db MOVF 0xdb,0x0,0x0 |
| 1504 |
|
1503 | 003cf0 6ee7 MOVWF 0xe7,0x0 |
| 1505 |
|
1504 | 003cf2 0e0a MOVLW 0xa |
| 1506 |
|
1505 | 003cf4 cfe7 MOVFF 0xfe7,0xfdb |
| 1507 |
|
1506 | 003cf6 ffdb |
| 1508 |
|
1507 | 003cf8 0e11 MOVLW 0x11 outCp.data[0] = decimal; // Decimal value, 0-9 F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1509 |
|
1508 | 003cfa 50db MOVF 0xdb,0x0,0x0 |
| 1510 |
|
1509 | 003cfc 6ee7 MOVWF 0xe7,0x0 |
| 1511 |
|
1510 | 003cfe 0e09 MOVLW 0x9 |
| 1512 |
|
1511 | 003d00 cfe7 MOVFF 0xfe7,0xfdb |
| 1513 |
|
1512 | 003d02 ffdb |
| 1514 |
|
1513 | 003d04 0e02 MOVLW 0x2 while(!canSendMessage(outCp,PRIO_HIGH)); F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1515 |
|
1514 | 003d06 6ee6 MOVWF 0xe6,0x0 |
| 1516 |
|
1515 | 003d08 cfd9 MOVFF 0xfd9,0xfe9 |
| 1517 |
|
1516 | 003d0a ffe9 |
| 1518 |
|
1517 | 003d0c cfda MOVFF 0xfda,0xfea |
| 1519 |
|
1518 | 003d0e ffea |
| 1520 |
|
1519 | 003d10 cfee MOVFF 0xfee,0xfe6 |
| 1521 |
|
1520 | 003d12 ffe6 |
| 1522 |
|
1521 | 003d14 cfee MOVFF 0xfee,0xfe6 |
| 1523 |
|
1522 | 003d16 ffe6 |
| 1524 |
|
1523 | 003d18 cfee MOVFF 0xfee,0xfe6 |
| 1525 |
|
1524 | 003d1a ffe6 |
| 1526 |
|
1525 | 003d1c cfee MOVFF 0xfee,0xfe6 |
| 1527 |
|
1526 | 003d1e ffe6 |
| 1528 |
|
1527 | 003d20 cfee MOVFF 0xfee,0xfe6 |
| 1529 |
|
1528 | 003d22 ffe6 |
| 1530 |
|
1529 | 003d24 cfee MOVFF 0xfee,0xfe6 |
| 1531 |
|
1530 | 003d26 ffe6 |
| 1532 |
|
1531 | 003d28 cfee MOVFF 0xfee,0xfe6 |
| 1533 |
|
1532 | 003d2a ffe6 |
| 1534 |
|
1533 | 003d2c cfee MOVFF 0xfee,0xfe6 |
| 1535 |
|
1534 | 003d2e ffe6 |
| 1536 |
|
1535 | 003d30 cfee MOVFF 0xfee,0xfe6 |
| 1537 |
|
1536 | 003d32 ffe6 |
| 1538 |
|
1537 | 003d34 cfee MOVFF 0xfee,0xfe6 |
| 1539 |
|
1538 | 003d36 ffe6 |
| 1540 |
|
1539 | 003d38 cfee MOVFF 0xfee,0xfe6 |
| 1541 |
|
1540 | 003d3a ffe6 |
| 1542 |
|
1541 | 003d3c cfee MOVFF 0xfee,0xfe6 |
| 1543 |
|
1542 | 003d3e ffe6 |
| 1544 |
|
1543 | 003d40 cfee MOVFF 0xfee,0xfe6 |
| 1545 |
|
1544 | 003d42 ffe6 |
| 1546 |
|
1545 | 003d44 cfee MOVFF 0xfee,0xfe6 |
| 1547 |
|
1546 | 003d46 ffe6 |
| 1548 |
|
1547 | 003d48 cfee MOVFF 0xfee,0xfe6 |
| 1549 |
|
1548 | 003d4a ffe6 |
| 1550 |
|
1549 | 003d4c cfee MOVFF 0xfee,0xfe6 |
| 1551 |
|
1550 | 003d4e ffe6 |
| 1552 |
|
1551 | 003d50 cfee MOVFF 0xfee,0xfe6 |
| 1553 |
|
1552 | 003d52 ffe6 |
| 1554 |
|
1553 | 003d54 ec61 CALL 0x34c2,0x0 |
| 1555 |
|
1554 | 003d56 f01a |
| 1556 |
|
1555 | 003d58 6e00 MOVWF 0x0,0x0 |
| 1557 |
|
1556 | 003d5a 0e12 MOVLW 0x12 |
| 1558 |
|
1557 | 003d5c 5ee1 SUBWF 0xe1,0x1,0x0 |
| 1559 |
|
1558 | 003d5e 5000 MOVF 0x0,0x0,0x0 |
| 1560 |
|
1559 | 003d60 0900 IORLW 0x0 |
| 1561 |
|
1560 | 003d62 e101 BNZ 0x3d66 |
| 1562 |
|
1561 | 003d64 d7cf BRA 0x3d04 |
| 1563 | } F:\MCP\projects\CAN\canTemp\Source\Main.c |
1562 | } F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1564 | #endif F:\MCP\projects\CAN\canTemp\Source\Main.c |
1563 | #endif F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1565 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1564 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1566 | } F:\MCP\projects\CAN\canTemp\Source\Main.c |
1565 | } F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1567 |
|
1566 | 003d68 0e17 MOVLW 0x17 } F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1568 |
|
1567 | 003d6a 5ce1 SUBWF 0xe1,0x0,0x0 |
| 1569 |
|
1568 | 003d6c e202 BC 0x3d72 |
| 1570 |
|
1569 | 003d6e 6ae1 CLRF 0xe1,0x0 |
| 1571 |
|
1570 | 003d70 52e5 MOVF 0xe5,0x1,0x0 |
| 1572 |
|
1571 | 003d72 6ee1 MOVWF 0xe1,0x0 |
| 1573 |
|
1572 | 003d74 52e5 MOVF 0xe5,0x1,0x0 |
| 1574 |
|
1573 | 003d76 cfe7 MOVFF 0xfe7,0xfd9 |
| 1575 |
|
1574 | 003d78 ffd9 |
| 1576 |
|
1575 | 003d7a 0012 RETURN 0x0 |
| 1577 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1576 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1578 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1577 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1579 | #pragma interrupt high_isr F:\MCP\projects\CAN\canTemp\Source\Main.c |
1578 | #pragma interrupt high_isr F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1580 |
|
1579 | 003d7c cfda MOVFF 0xfda,0xfe4 void high_isr(void) F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1581 |
|
1580 | 003d7e ffe4 |
| 1582 |
|
1581 | 003d80 cfe2 MOVFF 0xfe2,0xfda |
| 1583 |
|
1582 | 003d82 ffda |
| 1584 |
|
1583 | 003d84 cfe9 MOVFF 0xfe9,0xfe4 |
| 1585 |
|
1584 | 003d86 ffe4 |
| 1586 |
|
1585 | 003d88 cfea MOVFF 0xfea,0xfe4 |
| 1587 |
|
1586 | 003d8a ffe4 |
| 1588 |
|
1587 | 003d8c cff6 MOVFF 0xff6,0xfe4 |
| 1589 |
|
1588 | 003d8e ffe4 |
| 1590 |
|
1589 | 003d90 cff7 MOVFF 0xff7,0xfe4 |
| 1591 |
|
1590 | 003d92 ffe4 |
| 1592 |
|
1591 | 003d94 cff5 MOVFF 0xff5,0xfe4 |
| 1593 |
|
1592 | 003d96 ffe4 |
| 1594 |
|
1593 | 003d98 cff3 MOVFF 0xff3,0xfe4 |
| 1595 |
|
1594 | 003d9a ffe4 |
| 1596 |
|
1595 | 003d9c cff4 MOVFF 0xff4,0xfe4 |
| 1597 |
|
1596 | 003d9e ffe4 |
| 1598 |
|
1597 | 003da0 cffa MOVFF 0xffa,0xfe4 |
| 1599 |
|
1598 | 003da2 ffe4 |
| 1600 |
|
1599 | 003da4 ee00 LFSR 0x0,0x23 |
| 1601 |
|
1600 | 003da6 f023 |
| 1602 |
|
1601 | 003da8 0e14 MOVLW 0x14 |
| 1603 |
|
1602 | 003daa 04e8 DECF 0xe8,0x0,0x0 |
| 1604 |
|
1603 | 003dac e303 BNC 0x3db4 |
| 1605 |
|
1604 | 003dae cfee MOVFF 0xfee,0xfe4 |
| 1606 |
|
1605 | 003db0 ffe4 |
| 1607 |
|
1606 | 003db2 d7fb BRA 0x3daa |
| 1608 |
|
1607 | 003db4 ee00 LFSR 0x0,0x0 |
| 1609 |
|
1608 | 003db6 f000 |
| 1610 |
|
1609 | 003db8 0e23 MOVLW 0x23 |
| 1611 |
|
1610 | 003dba 04e8 DECF 0xe8,0x0,0x0 |
| 1612 |
|
1611 | 003dbc e303 BNC 0x3dc4 |
| 1613 |
|
1612 | 003dbe cfee MOVFF 0xfee,0xfe4 |
| 1614 |
|
1613 | 003dc0 ffe4 |
| 1615 |
|
1614 | 003dc2 d7fb BRA 0x3dba |
| 1616 |
|
1615 | 003dc4 52e6 MOVF 0xe6,0x1,0x0 |
| 1617 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
1616 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1618 |
|
1617 | 003dc6 ec9e CALL 0x313c,0x0 canISR(); F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1619 |
|
1618 | 003dc8 f018 |
| 1620 |
|
1619 | 003dca 52e5 MOVF 0xe5,0x1,0x0 } F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1621 |
|
1620 | 003dcc ee00 LFSR 0x0,0x22 |
| 1622 |
|
1621 | 003dce f022 |
| 1623 |
|
1622 | 003dd0 0e23 MOVLW 0x23 |
| 1624 |
|
1623 | 003dd2 04e8 DECF 0xe8,0x0,0x0 |
| 1625 |
|
1624 | 003dd4 e303 BNC 0x3ddc |
| 1626 |
|
1625 | 003dd6 cfe5 MOVFF 0xfe5,0xfed |
| 1627 |
|
1626 | 003dd8 ffed |
| 1628 |
|
1627 | 003dda d7fb BRA 0x3dd2 |
| 1629 |
|
1628 | 003ddc ee00 LFSR 0x0,0x36 |
| 1630 |
|
1629 | 003dde f036 |
| 1631 |
|
1630 | 003de0 0e14 MOVLW 0x14 |
| 1632 |
|
1631 | 003de2 04e8 DECF 0xe8,0x0,0x0 |
| 1633 |
|
1632 | 003de4 e303 BNC 0x3dec |
| 1634 |
|
1633 | 003de6 cfe5 MOVFF 0xfe5,0xfed |
| 1635 |
|
1634 | 003de8 ffed |
| 1636 |
|
1635 | 003dea d7fb BRA 0x3de2 |
| 1637 |
|
1636 | 003dec cfe5 MOVFF 0xfe5,0xffa |
| 1638 |
|
1637 | 003dee fffa |
| 1639 |
|
1638 | 003df0 cfe5 MOVFF 0xfe5,0xff4 |
| 1640 |
|
1639 | 003df2 fff4 |
| 1641 |
|
1640 | 003df4 cfe5 MOVFF 0xfe5,0xff3 |
| 1642 |
|
1641 | 003df6 fff3 |
| 1643 |
|
1642 | 003df8 cfe5 MOVFF 0xfe5,0xff5 |
| 1644 |
|
1643 | 003dfa fff5 |
| 1645 |
|
1644 | 003dfc cfe5 MOVFF 0xfe5,0xff7 |
| 1646 |
|
1645 | 003dfe fff7 |
| 1647 |
|
1646 | 003e00 cfe5 MOVFF 0xfe5,0xff6 |
| 1648 |
|
1647 | 003e02 fff6 |
| 1649 |
|
1648 | 003e04 cfe5 MOVFF 0xfe5,0xfea |
| 1650 |
|
1649 | 003e06 ffea |
| 1651 |
|
1650 | 003e08 cfe5 MOVFF 0xfe5,0xfe9 |
| 1652 |
|
1651 | 003e0a ffe9 |
| 1653 |
|
1652 | 003e0c cfe5 MOVFF 0xfe5,0xfda |
| 1654 |
|
1653 | 003e0e ffda |
| 1655 |
|
1654 | 003e10 0011 RETFIE 0x1 |
| 1656 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1655 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1657 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1656 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1658 | #pragma interrupt low_isr F:\MCP\projects\CAN\canTemp\Source\Main.c |
1657 | #pragma interrupt low_isr F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1659 |
|
1658 | 003e12 cfda MOVFF 0xfda,0xfe4 void low_isr(void) F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1660 |
|
1659 | 003e14 ffe4 |
| 1661 |
|
1660 | 003e16 cfe2 MOVFF 0xfe2,0xfda |
| 1662 |
|
1661 | 003e18 ffda |
| 1663 |
|
1662 | 003e1a cfe9 MOVFF 0xfe9,0xfe4 |
| 1664 |
|
1663 | 003e1c ffe4 |
| 1665 |
|
1664 | 003e1e cfea MOVFF 0xfea,0xfe4 |
| 1666 |
|
1665 | 003e20 ffe4 |
| 1667 |
|
1666 | 003e22 cff6 MOVFF 0xff6,0xfe4 |
| 1668 |
|
1667 | 003e24 ffe4 |
| 1669 |
|
1668 | 003e26 cff7 MOVFF 0xff7,0xfe4 |
| 1670 |
|
1669 | 003e28 ffe4 |
| 1671 |
|
1670 | 003e2a cff5 MOVFF 0xff5,0xfe4 |
| 1672 |
|
1671 | 003e2c ffe4 |
| 1673 |
|
1672 | 003e2e cff3 MOVFF 0xff3,0xfe4 |
| 1674 |
|
1673 | 003e30 ffe4 |
| 1675 |
|
1674 | 003e32 cff4 MOVFF 0xff4,0xfe4 |
| 1676 |
|
1675 | 003e34 ffe4 |
| 1677 |
|
1676 | 003e36 cffa MOVFF 0xffa,0xfe4 |
| 1678 |
|
1677 | 003e38 ffe4 |
| 1679 |
|
1678 | 003e3a ee00 LFSR 0x0,0x23 |
| 1680 |
|
1679 | 003e3c f023 |
| 1681 |
|
1680 | 003e3e 0e14 MOVLW 0x14 |
| 1682 |
|
1681 | 003e40 04e8 DECF 0xe8,0x0,0x0 |
| 1683 |
|
1682 | 003e42 e303 BNC 0x3e4a |
| 1684 |
|
1683 | 003e44 cfee MOVFF 0xfee,0xfe4 |
| 1685 |
|
1684 | 003e46 ffe4 |
| 1686 |
|
1685 | 003e48 d7fb BRA 0x3e40 |
| 1687 |
|
1686 | 003e4a ee00 LFSR 0x0,0x0 |
| 1688 |
|
1687 | 003e4c f000 |
| 1689 |
|
1688 | 003e4e 0e23 MOVLW 0x23 |
| 1690 |
|
1689 | 003e50 04e8 DECF 0xe8,0x0,0x0 |
| 1691 |
|
1690 | 003e52 e303 BNC 0x3e5a |
| 1692 |
|
1691 | 003e54 cfee MOVFF 0xfee,0xfe4 |
| 1693 |
|
1692 | 003e56 ffe4 |
| 1694 |
|
1693 | 003e58 d7fb BRA 0x3e50 |
| 1695 |
|
1694 | 003e5a 52e6 MOVF 0xe6,0x1,0x0 |
| 1696 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
1695 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1697 | #ifdef USE_ADC F:\MCP\projects\CAN\canTemp\Source\Main.c |
1696 | #ifdef USE_ADC F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1698 |
|
1697 | 003e5c ec94 CALL 0x3f28,0x0 adcISR(); F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1699 |
|
1698 | 003e5e f01f |
| 1700 | #endif F:\MCP\projects\CAN\canTemp\Source\Main.c |
1699 | #endif F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1701 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1700 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1702 | #ifdef USE_BLINDS F:\MCP\projects\CAN\canTemp\Source\Main.c |
1701 | #ifdef USE_BLINDS F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1703 |
|
1702 | 003e60 eccc CALL 0x4398,0x0 blindsISR(); F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1704 |
|
1703 | 003e62 f021 |
| 1705 | #endif F:\MCP\projects\CAN\canTemp\Source\Main.c |
1704 | #endif F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1706 |
|
1705 | 003e64 52e5 MOVF 0xe5,0x1,0x0 } F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1707 |
|
1706 | 003e66 ee00 LFSR 0x0,0x22 |
| 1708 |
|
1707 | 003e68 f022 |
| 1709 |
|
1708 | 003e6a 0e23 MOVLW 0x23 |
| 1710 |
|
1709 | 003e6c 04e8 DECF 0xe8,0x0,0x0 |
| 1711 |
|
1710 | 003e6e e303 BNC 0x3e76 |
| 1712 |
|
1711 | 003e70 cfe5 MOVFF 0xfe5,0xfed |
| 1713 |
|
1712 | 003e72 ffed |
| 1714 |
|
1713 | 003e74 d7fb BRA 0x3e6c |
| 1715 |
|
1714 | 003e76 ee00 LFSR 0x0,0x36 |
| 1716 |
|
1715 | 003e78 f036 |
| 1717 |
|
1716 | 003e7a 0e14 MOVLW 0x14 |
| 1718 |
|
1717 | 003e7c 04e8 DECF 0xe8,0x0,0x0 |
| 1719 |
|
1718 | 003e7e e303 BNC 0x3e86 |
| 1720 |
|
1719 | 003e80 cfe5 MOVFF 0xfe5,0xfed |
| 1721 |
|
1720 | 003e82 ffed |
| 1722 |
|
1721 | 003e84 d7fb BRA 0x3e7c |
| 1723 |
|
1722 | 003e86 cfe5 MOVFF 0xfe5,0xffa |
| 1724 |
|
1723 | 003e88 fffa |
| 1725 |
|
1724 | 003e8a cfe5 MOVFF 0xfe5,0xff4 |
| 1726 |
|
1725 | 003e8c fff4 |
| 1727 |
|
1726 | 003e8e cfe5 MOVFF 0xfe5,0xff3 |
| 1728 |
|
1727 | 003e90 fff3 |
| 1729 |
|
1728 | 003e92 cfe5 MOVFF 0xfe5,0xff5 |
| 1730 |
|
1729 | 003e94 fff5 |
| 1731 |
|
1730 | 003e96 cfe5 MOVFF 0xfe5,0xff7 |
| 1732 |
|
1731 | 003e98 fff7 |
| 1733 |
|
1732 | 003e9a cfe5 MOVFF 0xfe5,0xff6 |
| 1734 |
|
1733 | 003e9c fff6 |
| 1735 |
|
1734 | 003e9e cfe5 MOVFF 0xfe5,0xfea |
| 1736 |
|
1735 | 003ea0 ffea |
| 1737 |
|
1736 | 003ea2 cfe5 MOVFF 0xfe5,0xfe9 |
| 1738 |
|
1737 | 003ea4 ffe9 |
| 1739 |
|
1738 | 003ea6 cfe5 MOVFF 0xfe5,0xfda |
| 1740 |
|
1739 | 003ea8 ffda |
| 1741 |
|
1740 | 003eaa 0011 RETFIE 0x1 |
| 1742 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1741 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1743 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1742 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1744 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1743 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1745 | /* F:\MCP\projects\CAN\canTemp\Source\Main.c |
1744 | /* F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1746 | * Function: mainInit F:\MCP\projects\CAN\canTemp\Source\Main.c |
1745 | * Function: mainInit F:\MCP\projects\CAN\canTemp\Source\Main.c |
| Line 1751... | Line 1750... | ||
| 1751 | * Affects: Se code F:\MCP\projects\CAN\canTemp\Source\Main.c |
1750 | * Affects: Se code F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1752 | * Depends: none. F:\MCP\projects\CAN\canTemp\Source\Main.c |
1751 | * Depends: none. F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1753 | */ F:\MCP\projects\CAN\canTemp\Source\Main.c |
1752 | */ F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1754 | void mainInit() F:\MCP\projects\CAN\canTemp\Source\Main.c |
1753 | void mainInit() F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1755 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
1754 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1756 |
|
1755 | 003eac 9294 BCF 0x94,0x1,0x0 LED0_TRIS=0; F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1757 |
|
1756 | 003eae 9894 BCF 0x94,0x4,0x0 BLINDS0_TRIS=0; F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1758 |
|
1757 | 003eb0 9a94 BCF 0x94,0x5,0x0 BLINDS0P_TRIS=0; F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1759 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1758 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1760 | // Enable Interrupts F:\MCP\projects\CAN\canTemp\Source\Main.c |
1759 | // Enable Interrupts F:\MCP\projects\CAN\canTemp\Source\Main.c |
| - | 1760 | 003eb2 8cf2 BSF 0xf2,0x6,0x0 INTCONbits.GIEL = 1; F:\MCP\projects\CAN\canTemp\Source\Main.c |
|
| 1761 | 003eb4 8ef2 BSF 0xf2,0x7,0x0 INTCONbits.GIEH = 1; F:\MCP\projects\CAN\canTemp\Source\Main.c |
1761 | 003eb4 8ef2 BSF 0xf2,0x7,0x0 INTCONbits.GIEH = 1; F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1762 |
|
1762 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1763 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1763 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1764 | // Enable interrupt prirority F:\MCP\projects\CAN\canTemp\Source\Main.c |
1764 | // Enable interrupt prirority F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1765 |
|
1765 | 003eb6 8ed0 BSF 0xd0,0x7,0x0 RCONbits.IPEN=1; F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1766 |
|
1766 | 003eb8 0012 RETURN 0x0 } F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1767 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1767 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1768 | /* F:\MCP\projects\CAN\canTemp\Source\Main.c |
1768 | /* F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1769 | * Function: canParse F:\MCP\projects\CAN\canTemp\Source\Main.c |
1769 | * Function: canParse F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1770 | * F:\MCP\projects\CAN\canTemp\Source\Main.c |
1770 | * F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1771 | * Input: Received can message F:\MCP\projects\CAN\canTemp\Source\Main.c |
1771 | * Input: Received can message F:\MCP\projects\CAN\canTemp\Source\Main.c |
| Line 1773... | Line 1773... | ||
| 1773 | * Pre-conditions: canInit and received packet. F:\MCP\projects\CAN\canTemp\Source\Main.c |
1773 | * Pre-conditions: canInit and received packet. F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1774 | * Affects: Sensors/actuators/etc. See code. F:\MCP\projects\CAN\canTemp\Source\Main.c |
1774 | * Affects: Sensors/actuators/etc. See code. F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1775 | * Depends: none. F:\MCP\projects\CAN\canTemp\Source\Main.c |
1775 | * Depends: none. F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1776 | */ F:\MCP\projects\CAN\canTemp\Source\Main.c |
1776 | */ F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1777 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1777 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1778 |
|
1778 | 003eba cfd9 MOVFF 0xfd9,0xfe6 void canParse(CAN_PACKET cp) F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1779 |
|
1779 | 003ebc ffe6 |
| 1780 |
|
1780 | 003ebe cfe1 MOVFF 0xfe1,0xfd9 |
| 1781 |
|
1781 | 003ec0 ffd9 |
| 1782 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
1782 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1783 | #ifdef USE_BLINDS F:\MCP\projects\CAN\canTemp\Source\Main.c |
1783 | #ifdef USE_BLINDS F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1784 |
|
1784 | 003ec2 0eef MOVLW 0xef if (cp.pgm.class==pcACTUATOR && cp.pgm.id==patBLIND_TR) F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1785 |
|
1785 | 003ec4 50db MOVF 0xdb,0x0,0x0 |
| 1786 |
|
1786 | 003ec6 0802 SUBLW 0x2 |
| 1787 |
|
1787 | 003ec8 e111 BNZ 0x3eec |
| 1788 |
|
1788 | 003eca 50d9 MOVF 0xd9,0x0,0x0 |
| 1789 |
|
1789 | 003ecc 0ff0 ADDLW 0xf0 |
| 1790 |
|
1790 | 003ece 6ee9 MOVWF 0xe9,0x0 |
| 1791 |
|
1791 | 003ed0 0eff MOVLW 0xff |
| 1792 |
|
1792 | 003ed2 20da ADDWFC 0xda,0x0,0x0 |
| 1793 |
|
1793 | 003ed4 6eea MOVWF 0xea,0x0 |
| 1794 |
|
1794 | 003ed6 0e07 MOVLW 0x7 |
| 1795 |
|
1795 | 003ed8 18ee XORWF 0xee,0x0,0x0 |
| 1796 |
|
1796 | 003eda e101 BNZ 0x3ede |
| 1797 |
|
1797 | 003edc 50ed MOVF 0xed,0x0,0x0 |
| 1798 |
|
1798 | 003ede e106 BNZ 0x3eec |
| 1799 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
1799 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1800 |
|
1800 | 003ee0 0ef7 MOVLW 0xf7 blindsTurn(cp.data[0]); F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1801 |
|
1801 | 003ee2 cfdb MOVFF 0xfdb,0xfe6 |
| 1802 |
|
1802 | 003ee4 ffe6 |
| 1803 |
|
1803 | 003ee6 ec15 CALL 0x422a,0x0 |
| 1804 |
|
1804 | 003ee8 f021 |
| 1805 |
|
1805 | 003eea 52e5 MOVF 0xe5,0x1,0x0 |
| 1806 | } F:\MCP\projects\CAN\canTemp\Source\Main.c |
1806 | } F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1807 | #endif F:\MCP\projects\CAN\canTemp\Source\Main.c |
1807 | #endif F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1808 |
|
1808 | 003eec 52e5 MOVF 0xe5,0x1,0x0 } F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1809 |
|
1809 | 003eee cfe7 MOVFF 0xfe7,0xfd9 |
| 1810 |
|
1810 | 003ef0 ffd9 |
| 1811 |
|
1811 | 003ef2 0012 RETURN 0x0 |
| 1812 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1812 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1813 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1813 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1814 | // Below are mandantory when using bootloader F:\MCP\projects\CAN\canTemp\Source\Main.c |
1814 | // Below are mandantory when using bootloader F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1815 | // define DEBUG_MODE to use without bootloader. F:\MCP\projects\CAN\canTemp\Source\Main.c |
1815 | // define DEBUG_MODE to use without bootloader. F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1816 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1816 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1817 | #ifndef DEBUG_MODE F:\MCP\projects\CAN\canTemp\Source\Main.c |
1817 | #ifndef DEBUG_MODE F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1818 | extern void _startup (void); F:\MCP\projects\CAN\canTemp\Source\Main.c |
1818 | extern void _startup (void); F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1819 | #pragma code _RESET_INTERRUPT_VECTOR = RM_RESET_VECTOR F:\MCP\projects\CAN\canTemp\Source\Main.c |
1819 | #pragma code _RESET_INTERRUPT_VECTOR = RM_RESET_VECTOR F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1820 | void _reset (void) F:\MCP\projects\CAN\canTemp\Source\Main.c |
1820 | void _reset (void) F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1821 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
1821 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1822 | 003000 |
1822 | 003000 ef58 GOTO 0x46b0 _asm goto _startup _endasm F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1823 | 003002 f023 |
1823 | 003002 f023 |
| 1824 | 003004 0012 RETURN 0x0 } F:\MCP\projects\CAN\canTemp\Source\Main.c |
1824 | 003004 0012 RETURN 0x0 } F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1825 | #pragma code F:\MCP\projects\CAN\canTemp\Source\Main.c |
1825 | #pragma code F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1826 | #endif F:\MCP\projects\CAN\canTemp\Source\Main.c |
1826 | #endif F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1827 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1827 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1828 | #pragma code _HIGH_INTERRUPT_VECTOR = RM_HIGH_INTERRUPT_VECTOR F:\MCP\projects\CAN\canTemp\Source\Main.c |
1828 | #pragma code _HIGH_INTERRUPT_VECTOR = RM_HIGH_INTERRUPT_VECTOR F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1829 | void _high_ISR (void) F:\MCP\projects\CAN\canTemp\Source\Main.c |
1829 | void _high_ISR (void) F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1830 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
1830 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1831 | 003008 |
1831 | 003008 efbe GOTO 0x3d7c _asm GOTO high_isr _endasm F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1832 | 00300a f01e |
1832 | 00300a f01e |
| 1833 | 00300c 0012 RETURN 0x0 } F:\MCP\projects\CAN\canTemp\Source\Main.c |
1833 | 00300c 0012 RETURN 0x0 } F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1834 | #pragma code F:\MCP\projects\CAN\canTemp\Source\Main.c |
1834 | #pragma code F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1835 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
1835 | F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1836 | #pragma code _LOW_INTERRUPT_VECTOR = RM_LOW_INTERRUPT_VECTOR F:\MCP\projects\CAN\canTemp\Source\Main.c |
1836 | #pragma code _LOW_INTERRUPT_VECTOR = RM_LOW_INTERRUPT_VECTOR F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1837 | void _low_ISR (void) F:\MCP\projects\CAN\canTemp\Source\Main.c |
1837 | void _low_ISR (void) F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1838 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
1838 | { F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1839 | 003018 |
1839 | 003018 ef09 GOTO 0x3e12 _asm GOTO low_isr _endasm F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1840 | 00301a f01f |
1840 | 00301a f01f |
| 1841 | 00301c 0012 RETURN 0x0 } F:\MCP\projects\CAN\canTemp\Source\Main.c |
1841 | 00301c 0012 RETURN 0x0 } F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1842 | #pragma code F:\MCP\projects\CAN\canTemp\Source\Main.c |
1842 | #pragma code F:\MCP\projects\CAN\canTemp\Source\Main.c |
| 1843 | /********************************************************************* F:\MCP\projects\CAN\Include\EEAccess.c |
1843 | /********************************************************************* F:\MCP\projects\CAN\Include\EEAccess.c |
| 1844 | * F:\MCP\projects\CAN\Include\EEAccess.c |
1844 | * F:\MCP\projects\CAN\Include\EEAccess.c |
| Line 1860... | Line 1860... | ||
| 1860 | * Output: Byte read. F:\MCP\projects\CAN\Include\EEAccess.c |
1860 | * Output: Byte read. F:\MCP\projects\CAN\Include\EEAccess.c |
| 1861 | * Pre-conditions: none F:\MCP\projects\CAN\Include\EEAccess.c |
1861 | * Pre-conditions: none F:\MCP\projects\CAN\Include\EEAccess.c |
| 1862 | * Affects: none. F:\MCP\projects\CAN\Include\EEAccess.c |
1862 | * Affects: none. F:\MCP\projects\CAN\Include\EEAccess.c |
| 1863 | * Depends: none. F:\MCP\projects\CAN\Include\EEAccess.c |
1863 | * Depends: none. F:\MCP\projects\CAN\Include\EEAccess.c |
| 1864 | */ F:\MCP\projects\CAN\Include\EEAccess.c |
1864 | */ F:\MCP\projects\CAN\Include\EEAccess.c |
| 1865 |
|
1865 | 00443e cfd9 MOVFF 0xfd9,0xfe6 BYTE EERead(WORD addr) F:\MCP\projects\CAN\Include\EEAccess.c |
| 1866 |
|
1866 | 004440 ffe6 |
| 1867 |
|
1867 | 004442 cfe1 MOVFF 0xfe1,0xfd9 |
| 1868 |
|
1868 | 004444 ffd9 |
| 1869 | { F:\MCP\projects\CAN\Include\EEAccess.c |
1869 | { F:\MCP\projects\CAN\Include\EEAccess.c |
| 1870 |
|
1870 | 004446 0efd MOVLW 0xfd EEADRH=(BYTE)(addr>>8); F:\MCP\projects\CAN\Include\EEAccess.c |
| 1871 |
|
1871 | 004448 cfdb MOVFF 0xfdb,0x0 |
| 1872 |
|
1872 | 00444a f000 |
| 1873 |
|
1873 | 00444c 0efe MOVLW 0xfe |
| 1874 |
|
1874 | 00444e cfdb MOVFF 0xfdb,0x1 |
| 1875 |
|
1875 | 004450 f001 |
| 1876 |
|
1876 | 004452 c001 MOVFF 0x1,0x0 |
| 1877 |
|
1877 | 004454 f000 |
| 1878 |
|
1878 | 004456 6a01 CLRF 0x1,0x0 |
| 1879 |
|
1879 | 004458 5000 MOVF 0x0,0x0,0x0 |
| 1880 |
|
1880 | 00445a 6eaa MOVWF 0xaa,0x0 |
| 1881 |
|
1881 | 00445c 0eff MOVLW 0xff EEADR=(BYTE)(addr & 0xFF); F:\MCP\projects\CAN\Include\EEAccess.c |
| 1882 |
|
1882 | 00445e 6ee7 MOVWF 0xe7,0x0 |
| 1883 |
|
1883 | 004460 0efd MOVLW 0xfd |
| 1884 |
|
1884 | 004462 cfdb MOVFF 0xfdb,0x0 |
| 1885 |
|
1885 | 004464 f000 |
| 1886 |
|
1886 | 004466 0efe MOVLW 0xfe |
| 1887 |
|
1887 | 004468 cfdb MOVFF 0xfdb,0x1 |
| 1888 |
|
1888 | 00446a f001 |
| 1889 |
|
1889 | 00446c 50e7 MOVF 0xe7,0x0,0x0 |
| 1890 |
|
1890 | 00446e 1600 ANDWF 0x0,0x1,0x0 |
| 1891 |
|
1891 | 004470 6a01 CLRF 0x1,0x0 |
| 1892 |
|
1892 | 004472 5000 MOVF 0x0,0x0,0x0 |
| 1893 |
|
1893 | 004474 6ea9 MOVWF 0xa9,0x0 |
| 1894 |
|
1894 | 004476 9ea6 BCF 0xa6,0x7,0x0 EECON1bits.EEPGD=0; F:\MCP\projects\CAN\Include\EEAccess.c |
| 1895 |
|
1895 | 004478 9ca6 BCF 0xa6,0x6,0x0 EECON1bits.CFGS=0; F:\MCP\projects\CAN\Include\EEAccess.c |
| 1896 |
|
1896 | 00447a 80a6 BSF 0xa6,0x0,0x0 EECON1bits.RD=1; F:\MCP\projects\CAN\Include\EEAccess.c |
| 1897 |
|
1897 | 00447c 50a8 MOVF 0xa8,0x0,0x0 return EEDATA; F:\MCP\projects\CAN\Include\EEAccess.c |
| 1898 |
|
1898 | 00447e d000 BRA 0x4480 |
| 1899 |
|
1899 | 004480 52e5 MOVF 0xe5,0x1,0x0 } F:\MCP\projects\CAN\Include\EEAccess.c |
| 1900 |
|
1900 | 004482 cfe7 MOVFF 0xfe7,0xfd9 |
| 1901 |
|
1901 | 004484 ffd9 |
| 1902 |
|
1902 | 004486 0012 RETURN 0x0 |
| 1903 | F:\MCP\projects\CAN\Include\EEAccess.c |
1903 | F:\MCP\projects\CAN\Include\EEAccess.c |
| 1904 | F:\MCP\projects\CAN\Include\EEAccess.c |
1904 | F:\MCP\projects\CAN\Include\EEAccess.c |
| 1905 | /* F:\MCP\projects\CAN\Include\EEAccess.c |
1905 | /* F:\MCP\projects\CAN\Include\EEAccess.c |
| 1906 | * Function: EEWrite F:\MCP\projects\CAN\Include\EEAccess.c |
1906 | * Function: EEWrite F:\MCP\projects\CAN\Include\EEAccess.c |
| 1907 | * F:\MCP\projects\CAN\Include\EEAccess.c |
1907 | * F:\MCP\projects\CAN\Include\EEAccess.c |
| Line 1909... | Line 1909... | ||
| 1909 | * Output: none. F:\MCP\projects\CAN\Include\EEAccess.c |
1909 | * Output: none. F:\MCP\projects\CAN\Include\EEAccess.c |
| 1910 | * Pre-conditions: none F:\MCP\projects\CAN\Include\EEAccess.c |
1910 | * Pre-conditions: none F:\MCP\projects\CAN\Include\EEAccess.c |
| 1911 | * Affects: none. F:\MCP\projects\CAN\Include\EEAccess.c |
1911 | * Affects: none. F:\MCP\projects\CAN\Include\EEAccess.c |
| 1912 | * Depends: none. F:\MCP\projects\CAN\Include\EEAccess.c |
1912 | * Depends: none. F:\MCP\projects\CAN\Include\EEAccess.c |
| 1913 | */ F:\MCP\projects\CAN\Include\EEAccess.c |
1913 | */ F:\MCP\projects\CAN\Include\EEAccess.c |
| 1914 |
|
1914 | 004488 cfd9 MOVFF 0xfd9,0xfe6 void EEWrite(WORD addr,BYTE data) F:\MCP\projects\CAN\Include\EEAccess.c |
| 1915 |
|
1915 | 00448a ffe6 |
| 1916 |
|
1916 | 00448c cfe1 MOVFF 0xfe1,0xfd9 |
| 1917 |
|
1917 | 00448e ffd9 |
| 1918 | { F:\MCP\projects\CAN\Include\EEAccess.c |
1918 | { F:\MCP\projects\CAN\Include\EEAccess.c |
| 1919 |
|
1919 | 004490 98a1 BCF 0xa1,0x4,0x0 PIR2bits.EEIF=0; F:\MCP\projects\CAN\Include\EEAccess.c |
| 1920 |
|
1920 | 004492 0efd MOVLW 0xfd EEADRH=(BYTE)(addr>>8); F:\MCP\projects\CAN\Include\EEAccess.c |
| 1921 |
|
1921 | 004494 cfdb MOVFF 0xfdb,0x0 |
| 1922 |
|
1922 | 004496 f000 |
| 1923 |
|
1923 | 004498 0efe MOVLW 0xfe |
| 1924 |
|
1924 | 00449a cfdb MOVFF 0xfdb,0x1 |
| 1925 |
|
1925 | 00449c f001 |
| 1926 |
|
1926 | 00449e c001 MOVFF 0x1,0x0 |
| 1927 |
|
1927 | 0044a0 f000 |
| 1928 |
|
1928 | 0044a2 6a01 CLRF 0x1,0x0 |
| 1929 |
|
1929 | 0044a4 5000 MOVF 0x0,0x0,0x0 |
| 1930 |
|
1930 | 0044a6 6eaa MOVWF 0xaa,0x0 |
| 1931 |
|
1931 | 0044a8 0eff MOVLW 0xff EEADR=(BYTE)(addr & 0xFF); F:\MCP\projects\CAN\Include\EEAccess.c |
| 1932 |
|
1932 | 0044aa 6ee7 MOVWF 0xe7,0x0 |
| 1933 |
|
1933 | 0044ac 0efd MOVLW 0xfd |
| 1934 |
|
1934 | 0044ae cfdb MOVFF 0xfdb,0x0 |
| 1935 |
|
1935 | 0044b0 f000 |
| 1936 |
|
1936 | 0044b2 0efe MOVLW 0xfe |
| 1937 |
|
1937 | 0044b4 cfdb MOVFF 0xfdb,0x1 |
| 1938 |
|
1938 | 0044b6 f001 |
| 1939 |
|
1939 | 0044b8 50e7 MOVF 0xe7,0x0,0x0 |
| 1940 |
|
1940 | 0044ba 1600 ANDWF 0x0,0x1,0x0 |
| 1941 |
|
1941 | 0044bc 6a01 CLRF 0x1,0x0 |
| 1942 |
|
1942 | 0044be 5000 MOVF 0x0,0x0,0x0 |
| 1943 |
|
1943 | 0044c0 6ea9 MOVWF 0xa9,0x0 |
| 1944 |
|
1944 | 0044c2 0efc MOVLW 0xfc EEDATA=data; F:\MCP\projects\CAN\Include\EEAccess.c |
| 1945 |
|
1945 | 0044c4 50db MOVF 0xdb,0x0,0x0 |
| 1946 |
|
1946 | 0044c6 6ea8 MOVWF 0xa8,0x0 |
| 1947 |
|
1947 | 0044c8 9ea6 BCF 0xa6,0x7,0x0 EECON1bits.EEPGD=0; F:\MCP\projects\CAN\Include\EEAccess.c |
| 1948 |
|
1948 | 0044ca 9ca6 BCF 0xa6,0x6,0x0 EECON1bits.CFGS=0; F:\MCP\projects\CAN\Include\EEAccess.c |
| 1949 |
|
1949 | 0044cc 84a6 BSF 0xa6,0x2,0x0 EECON1bits.WREN=1; F:\MCP\projects\CAN\Include\EEAccess.c |
| 1950 |
|
1950 | 0044ce 9ef2 BCF 0xf2,0x7,0x0 INTCONbits.GIE=0; F:\MCP\projects\CAN\Include\EEAccess.c |
| 1951 |
|
1951 | 0044d0 0e55 MOVLW 0x55 EECON2=0x55; F:\MCP\projects\CAN\Include\EEAccess.c |
| 1952 |
|
1952 | 0044d2 6ea7 MOVWF 0xa7,0x0 |
| 1953 |
|
1953 | 0044d4 0eaa MOVLW 0xaa EECON2=0xAA; F:\MCP\projects\CAN\Include\EEAccess.c |
| 1954 |
|
1954 | 0044d6 6ea7 MOVWF 0xa7,0x0 |
| 1955 |
|
1955 | 0044d8 82a6 BSF 0xa6,0x1,0x0 EECON1bits.WR=1; F:\MCP\projects\CAN\Include\EEAccess.c |
| 1956 |
|
1956 | 0044da 8ef2 BSF 0xf2,0x7,0x0 INTCONbits.GIE=1; F:\MCP\projects\CAN\Include\EEAccess.c |
| 1957 |
|
1957 | 0044dc a8a1 BTFSS 0xa1,0x4,0x0 while(!PIR2bits.EEIF); F:\MCP\projects\CAN\Include\EEAccess.c |
| 1958 |
|
1958 | 0044de d7fe BRA 0x44dc |
| 1959 |
|
1959 | 0044e0 94a6 BCF 0xa6,0x2,0x0 EECON1bits.WREN=0; F:\MCP\projects\CAN\Include\EEAccess.c |
| 1960 |
|
1960 | 0044e2 52e5 MOVF 0xe5,0x1,0x0 } F:\MCP\projects\CAN\Include\EEAccess.c |
| 1961 |
|
1961 | 0044e4 cfe7 MOVFF 0xfe7,0xfd9 |
| 1962 |
|
1962 | 0044e6 ffd9 |
| 1963 |
|
1963 | 0044e8 0012 RETURN 0x0 |
| 1964 | /********************************************************************* F:\MCP\projects\CAN\Include\adc.c |
1964 | /********************************************************************* F:\MCP\projects\CAN\Include\adc.c |
| 1965 | * F:\MCP\projects\CAN\Include\adc.c |
1965 | * F:\MCP\projects\CAN\Include\adc.c |
| 1966 | * Functions for reading ADC F:\MCP\projects\CAN\Include\adc.c |
1966 | * Functions for reading ADC F:\MCP\projects\CAN\Include\adc.c |
| 1967 | * F:\MCP\projects\CAN\Include\adc.c |
1967 | * F:\MCP\projects\CAN\Include\adc.c |
| 1968 | ********************************************************************* F:\MCP\projects\CAN\Include\adc.c |
1968 | ********************************************************************* F:\MCP\projects\CAN\Include\adc.c |
| Line 1982... | Line 1982... | ||
| 1982 | F:\MCP\projects\CAN\Include\adc.c |
1982 | F:\MCP\projects\CAN\Include\adc.c |
| 1983 | /* F:\MCP\projects\CAN\Include\adc.c |
1983 | /* F:\MCP\projects\CAN\Include\adc.c |
| 1984 | * Function: adcInit F:\MCP\projects\CAN\Include\adc.c |
1984 | * Function: adcInit F:\MCP\projects\CAN\Include\adc.c |
| 1985 | * F:\MCP\projects\CAN\Include\adc.c |
1985 | * F:\MCP\projects\CAN\Include\adc.c |
| 1986 | * Input: True or false to use external voltage reference or not. portCfg is portconfiguration. F:\MCP\projects\CAN\Include\adc.c |
1986 | * Input: True or false to use external voltage reference or not. portCfg is portconfiguration. F:\MCP\projects\CAN\Include\adc.c |
| 1987 | * Output: none. F:\MCP\projects\CAN\Include\adc.c |
1987 | * Output: none. F:\MCP\projects\CAN\Include\adc.c |
| 1988 | * Pre-conditions: none F:\MCP\projects\CAN\Include\adc.c |
1988 | * Pre-conditions: none F:\MCP\projects\CAN\Include\adc.c |
| 1989 | * Affects: none. F:\MCP\projects\CAN\Include\adc.c |
1989 | * Affects: none. F:\MCP\projects\CAN\Include\adc.c |
| 1990 | * Depends: none. F:\MCP\projects\CAN\Include\adc.c |
1990 | * Depends: none. F:\MCP\projects\CAN\Include\adc.c |
| 1991 | */ F:\MCP\projects\CAN\Include\adc.c |
1991 | */ F:\MCP\projects\CAN\Include\adc.c |
| 1992 |
|
1992 | 003ef4 cfd9 MOVFF 0xfd9,0xfe6 void adcInit(BOOL useExtRef,BYTE portCfg) F:\MCP\projects\CAN\Include\adc.c |
| 1993 |
|
1993 | 003ef6 ffe6 |
| 1994 |
|
1994 | 003ef8 cfe1 MOVFF 0xfe1,0xfd9 |
| 1995 |
|
1995 | 003efa ffd9 |
| 1996 | { F:\MCP\projects\CAN\Include\adc.c |
1996 | { F:\MCP\projects\CAN\Include\adc.c |
| 1997 | // Setup ADC to use low interrupt prior and external ref or not. F:\MCP\projects\CAN\Include\adc.c |
1997 | // Setup ADC to use low interrupt prior and external ref or not. F:\MCP\projects\CAN\Include\adc.c |
| 1998 | F:\MCP\projects\CAN\Include\adc.c |
1998 | F:\MCP\projects\CAN\Include\adc.c |
| 1999 |
|
1999 | 003efc 0efd MOVLW 0xfd ADCON1 = 0b00000000 | ((1 & useExtRef)<<4) | (0xF & portCfg); F:\MCP\projects\CAN\Include\adc.c |
| 2000 |
|
2000 | 003efe 50db MOVF 0xdb,0x0,0x0 |
| 2001 |
|
2001 | 003f00 0b0f ANDLW 0xf |
| 2002 |
|
2002 | 003f02 6e00 MOVWF 0x0,0x0 |
| 2003 |
|
2003 | 003f04 0efe MOVLW 0xfe |
| 2004 |
|
2004 | 003f06 50db MOVF 0xdb,0x0,0x0 |
| 2005 |
|
2005 | 003f08 0b01 ANDLW 0x1 |
| 2006 |
|
2006 | 003f0a 0d10 MULLW 0x10 |
| 2007 |
|
2007 | 003f0c 50f3 MOVF 0xf3,0x0,0x0 |
| 2008 |
|
2008 | 003f0e 1000 IORWF 0x0,0x0,0x0 |
| 2009 |
|
2009 | 003f10 6ec1 MOVWF 0xc1,0x0 |
| 2010 |
|
2010 | 003f12 6ac2 CLRF 0xc2,0x0 ADCON0 = 0b00000000; F:\MCP\projects\CAN\Include\adc.c |
| 2011 |
|
2011 | 003f14 0eab MOVLW 0xab ADCON2 = 0b10101011; F:\MCP\projects\CAN\Include\adc.c |
| 2012 |
|
2012 | 003f16 6ec0 MOVWF 0xc0,0x0 |
| 2013 | //useExtRef F:\MCP\projects\CAN\Include\adc.c |
2013 | //useExtRef F:\MCP\projects\CAN\Include\adc.c |
| 2014 |
|
2014 | 003f18 80c2 BSF 0xc2,0x0,0x0 ADCON0bits.ADON = 1; F:\MCP\projects\CAN\Include\adc.c |
| 2015 |
|
2015 | 003f1a 9c9e BCF 0x9e,0x6,0x0 PIR1bits.ADIF = 0; F:\MCP\projects\CAN\Include\adc.c |
| 2016 |
|
2016 | 003f1c 8c9d BSF 0x9d,0x6,0x0 PIE1bits.ADIE = 1; F:\MCP\projects\CAN\Include\adc.c |
| 2017 |
|
2017 | 003f1e 9c9f BCF 0x9f,0x6,0x0 IPR1bits.ADIP = 0; // Low priority F:\MCP\projects\CAN\Include\adc.c |
| 2018 |
|
2018 | 003f20 52e5 MOVF 0xe5,0x1,0x0 } F:\MCP\projects\CAN\Include\adc.c |
| 2019 |
|
2019 | 003f22 cfe7 MOVFF 0xfe7,0xfd9 |
| 2020 |
|
2020 | 003f24 ffd9 |
| 2021 |
|
2021 | 003f26 0012 RETURN 0x0 |
| 2022 | F:\MCP\projects\CAN\Include\adc.c |
2022 | F:\MCP\projects\CAN\Include\adc.c |
| 2023 | F:\MCP\projects\CAN\Include\adc.c |
2023 | F:\MCP\projects\CAN\Include\adc.c |
| 2024 | /* F:\MCP\projects\CAN\Include\adc.c |
2024 | /* F:\MCP\projects\CAN\Include\adc.c |
| 2025 | * Function: adcISR F:\MCP\projects\CAN\Include\adc.c |
2025 | * Function: adcISR F:\MCP\projects\CAN\Include\adc.c |
| 2026 | * F:\MCP\projects\CAN\Include\adc.c |
2026 | * F:\MCP\projects\CAN\Include\adc.c |
| 2027 | * Input: ADC interrupt rotune. Need to be called from LOW ISR. F:\MCP\projects\CAN\Include\adc.c |
2027 | * Input: ADC interrupt rotune. Need to be called from LOW ISR. F:\MCP\projects\CAN\Include\adc.c |
| 2028 | * Output: none. F:\MCP\projects\CAN\Include\adc.c |
2028 | * Output: none. F:\MCP\projects\CAN\Include\adc.c |
| 2029 | * Pre-conditions: none F:\MCP\projects\CAN\Include\adc.c |
2029 | * Pre-conditions: none F:\MCP\projects\CAN\Include\adc.c |
| 2030 | * Affects: none. F:\MCP\projects\CAN\Include\adc.c |
2030 | * Affects: none. F:\MCP\projects\CAN\Include\adc.c |
| 2031 | * Depends: none. F:\MCP\projects\CAN\Include\adc.c |
2031 | * Depends: none. F:\MCP\projects\CAN\Include\adc.c |
| 2032 | */ F:\MCP\projects\CAN\Include\adc.c |
2032 | */ F:\MCP\projects\CAN\Include\adc.c |
| 2033 | void adcISR(void) F:\MCP\projects\CAN\Include\adc.c |
2033 | void adcISR(void) F:\MCP\projects\CAN\Include\adc.c |
| 2034 | { F:\MCP\projects\CAN\Include\adc.c |
2034 | { F:\MCP\projects\CAN\Include\adc.c |
| 2035 |
|
2035 | 003f28 509d MOVF 0x9d,0x0,0x0 if (PIE1bits.ADIE && PIR1bits.ADIF) F:\MCP\projects\CAN\Include\adc.c |
| 2036 |
|
2036 | 003f2a 0b40 ANDLW 0x40 |
| 2037 |
|
2037 | 003f2c e050 BZ 0x3fce |
| 2038 |
|
2038 | 003f2e 509e MOVF 0x9e,0x0,0x0 |
| 2039 |
|
2039 | 003f30 0b40 ANDLW 0x40 |
| 2040 |
|
2040 | 003f32 e04d BZ 0x3fce |
| 2041 | { F:\MCP\projects\CAN\Include\adc.c |
2041 | { F:\MCP\projects\CAN\Include\adc.c |
| 2042 |
|
2042 | 003f34 9c9e BCF 0x9e,0x6,0x0 PIR1bits.ADIF = 0; F:\MCP\projects\CAN\Include\adc.c |
| 2043 | F:\MCP\projects\CAN\Include\adc.c |
2043 | F:\MCP\projects\CAN\Include\adc.c |
| 2044 |
|
2044 | 003f36 50c4 MOVF 0xc4,0x0,0x0 TEMP_VALUE+=((int)ADRESH)<<8 | ADRESL; F:\MCP\projects\CAN\Include\adc.c |
| 2045 |
|
2045 | 003f38 6e04 MOVWF 0x4,0x0 |
| 2046 |
|
2046 | 003f3a c004 MOVFF 0x4,0x5 |
| 2047 |
|
2047 | 003f3c f005 |
| 2048 |
|
2048 | 003f3e 6a04 CLRF 0x4,0x0 |
| 2049 |
|
2049 | 003f40 50c3 MOVF 0xc3,0x0,0x0 |
| 2050 |
|
2050 | 003f42 0100 MOVLB 0x0 |
| 2051 |
|
2051 | 003f44 1004 IORWF 0x4,0x0,0x0 |
| 2052 |
|
2052 | 003f46 6e00 MOVWF 0x0,0x0 |
| 2053 |
|
2053 | 003f48 c005 MOVFF 0x5,0x1 |
| 2054 |
|
2054 | 003f4a f001 |
| 2055 |
|
2055 | 003f4c 6a02 CLRF 0x2,0x0 |
| 2056 |
|
2056 | 003f4e 6a03 CLRF 0x3,0x0 |
| 2057 |
|
2057 | 003f50 ae01 BTFSS 0x1,0x7,0x0 |
| 2058 |
|
2058 | 003f52 d002 BRA 0x3f58 |
| 2059 |
|
2059 | 003f54 6802 SETF 0x2,0x0 |
| 2060 |
|
2060 | 003f56 6803 SETF 0x3,0x0 |
| 2061 |
|
2061 | 003f58 5000 MOVF 0x0,0x0,0x0 |
| 2062 |
|
2062 | 003f5a 0100 MOVLB 0x0 |
| 2063 |
|
2063 | 003f5c 2791 ADDWF 0x91,0x1,0x1 |
| 2064 |
|
2064 | 003f5e 5001 MOVF 0x1,0x0,0x0 |
| 2065 |
|
2065 | 003f60 2392 ADDWFC 0x92,0x1,0x1 |
| 2066 |
|
2066 | 003f62 5002 MOVF 0x2,0x0,0x0 |
| 2067 |
|
2067 | 003f64 2393 ADDWFC 0x93,0x1,0x1 |
| 2068 |
|
2068 | 003f66 5003 MOVF 0x3,0x0,0x0 |
| 2069 |
|
2069 | 003f68 2394 ADDWFC 0x94,0x1,0x1 |
| 2070 |
|
2070 | 003f6a 2b95 INCF 0x95,0x1,0x1 TEMP_COUNT++; F:\MCP\projects\CAN\Include\adc.c |
| 2071 |
|
2071 | 003f6c 0e00 MOVLW 0x0 |
| 2072 |
|
2072 | 003f6e 2396 ADDWFC 0x96,0x1,0x1 |
| 2073 | F:\MCP\projects\CAN\Include\adc.c |
2073 | F:\MCP\projects\CAN\Include\adc.c |
| 2074 |
|
2074 | 003f70 0e32 MOVLW 0x32 if (TEMP_COUNT>=TEMP_SAMPLES) F:\MCP\projects\CAN\Include\adc.c |
| 2075 |
|
2075 | 003f72 5d95 SUBWF 0x95,0x0,0x1 |
| 2076 |
|
2076 | 003f74 0e00 MOVLW 0x0 |
| 2077 |
|
2077 | 003f76 5996 SUBWFB 0x96,0x0,0x1 |
| 2078 |
|
2078 | 003f78 e324 BNC 0x3fc2 |
| 2079 | { F:\MCP\projects\CAN\Include\adc.c |
2079 | { F:\MCP\projects\CAN\Include\adc.c |
| 2080 |
|
2080 | 003f7a c095 MOVFF 0x95,0x0 TEMP_VALUE = TEMP_VALUE/TEMP_COUNT; F:\MCP\projects\CAN\Include\adc.c |
| 2081 |
|
2081 | 003f7c f000 |
| 2082 |
|
2082 | 003f7e c096 MOVFF 0x96,0x1 |
| 2083 |
|
2083 | 003f80 f001 |
| 2084 |
|
2084 | 003f82 6a02 CLRF 0x2,0x0 |
| 2085 |
|
2085 | 003f84 6a03 CLRF 0x3,0x0 |
| 2086 |
|
2086 | 003f86 c091 MOVFF 0x91,0x29 |
| 2087 |
|
2087 | 003f88 f029 |
| 2088 |
|
2088 | 003f8a c092 MOVFF 0x92,0x2a |
| 2089 |
|
2089 | 003f8c f02a |
| 2090 |
|
2090 | 003f8e c093 MOVFF 0x93,0x2b |
| 2091 |
|
2091 | 003f90 f02b |
| 2092 |
|
2092 | 003f92 c094 MOVFF 0x94,0x2c |
| 2093 |
|
2093 | 003f94 f02c |
| 2094 |
|
2094 | 003f96 c000 MOVFF 0x0,0x2e |
| 2095 |
|
2095 | 003f98 f02e |
| 2096 |
|
2096 | 003f9a c001 MOVFF 0x1,0x2f |
| 2097 |
|
2097 | 003f9c f02f |
| 2098 |
|
2098 | 003f9e c002 MOVFF 0x2,0x30 |
| 2099 |
|
2099 | 003fa0 f030 |
| 2100 |
|
2100 | 003fa2 c003 MOVFF 0x3,0x31 |
| 2101 |
|
2101 | 003fa4 f031 |
| 2102 |
|
2102 | 003fa6 ecfc CALL 0x45f8,0x0 |
| 2103 |
|
2103 | 003fa8 f022 |
| 2104 |
|
2104 | 003faa c029 MOVFF 0x29,0x91 |
| 2105 |
|
2105 | 003fac f091 |
| 2106 |
|
2106 | 003fae c02a MOVFF 0x2a,0x92 |
| 2107 |
|
2107 | 003fb0 f092 |
| 2108 |
|
2108 | 003fb2 c02b MOVFF 0x2b,0x93 |
| 2109 |
|
2109 | 003fb4 f093 |
| 2110 |
|
2110 | 003fb6 c02c MOVFF 0x2c,0x94 |
| 2111 |
|
2111 | 003fb8 f094 |
| 2112 |
|
2112 | 003fba 0100 MOVLB 0x0 TEMP_DONE = TRUE; F:\MCP\projects\CAN\Include\adc.c |
| 2113 |
|
2113 | 003fbc 0e01 MOVLW 0x1 |
| 2114 |
|
2114 | 003fbe 6fa3 MOVWF 0xa3,0x1 |
| 2115 | } F:\MCP\projects\CAN\Include\adc.c |
2115 | } F:\MCP\projects\CAN\Include\adc.c |
| 2116 |
|
2116 | 003fc0 d006 BRA 0x3fce else F:\MCP\projects\CAN\Include\adc.c |
| 2117 | { F:\MCP\projects\CAN\Include\adc.c |
2117 | { F:\MCP\projects\CAN\Include\adc.c |
| 2118 |
|
2118 | 003fc2 0e64 MOVLW 0x64 Delay10TCYx(100); F:\MCP\projects\CAN\Include\adc.c |
| 2119 |
|
2119 | 003fc4 6ee6 MOVWF 0xe6,0x0 |
| 2120 |
|
2120 | 003fc6 ec66 CALL 0x46cc,0x0 |
| 2121 |
|
2121 | 003fc8 f023 |
| 2122 |
|
2122 | 003fca 52e5 MOVF 0xe5,0x1,0x0 |
| 2123 |
|
2123 | 003fcc 82c2 BSF 0xc2,0x1,0x0 ADCON0bits.GO = 1; F:\MCP\projects\CAN\Include\adc.c |
| 2124 | } F:\MCP\projects\CAN\Include\adc.c |
2124 | } F:\MCP\projects\CAN\Include\adc.c |
| 2125 | F:\MCP\projects\CAN\Include\adc.c |
2125 | F:\MCP\projects\CAN\Include\adc.c |
| 2126 | } F:\MCP\projects\CAN\Include\adc.c |
2126 | } F:\MCP\projects\CAN\Include\adc.c |
| 2127 |
|
2127 | 003fce 0012 RETURN 0x0 } F:\MCP\projects\CAN\Include\adc.c |
| 2128 | F:\MCP\projects\CAN\Include\adc.c |
2128 | F:\MCP\projects\CAN\Include\adc.c |
| 2129 | F:\MCP\projects\CAN\Include\adc.c |
2129 | F:\MCP\projects\CAN\Include\adc.c |
| 2130 | /* F:\MCP\projects\CAN\Include\adc.c |
2130 | /* F:\MCP\projects\CAN\Include\adc.c |
| 2131 | * Function: adcConvert F:\MCP\projects\CAN\Include\adc.c |
2131 | * Function: adcConvert F:\MCP\projects\CAN\Include\adc.c |
| 2132 | * F:\MCP\projects\CAN\Include\adc.c |
2132 | * F:\MCP\projects\CAN\Include\adc.c |
| 2133 | * Input: Channel to start convert. Between 0 and 15 F:\MCP\projects\CAN\Include\adc.c |
2133 | * Input: Channel to start convert. Between 0 and 15 F:\MCP\projects\CAN\Include\adc.c |
| 2134 | * Output: none. F:\MCP\projects\CAN\Include\adc.c |
2134 | * Output: none. F:\MCP\projects\CAN\Include\adc.c |
| 2135 | * Pre-conditions: none F:\MCP\projects\CAN\Include\adc.c |
2135 | * Pre-conditions: none F:\MCP\projects\CAN\Include\adc.c |
| 2136 | * Affects: none. F:\MCP\projects\CAN\Include\adc.c |
2136 | * Affects: none. F:\MCP\projects\CAN\Include\adc.c |
| 2137 | * Depends: none. F:\MCP\projects\CAN\Include\adc.c |
2137 | * Depends: none. F:\MCP\projects\CAN\Include\adc.c |
| 2138 | */ F:\MCP\projects\CAN\Include\adc.c |
2138 | */ F:\MCP\projects\CAN\Include\adc.c |
| 2139 |
|
2139 | 003fd0 cfd9 MOVFF 0xfd9,0xfe6 BOOL adcConvert(BYTE channel) F:\MCP\projects\CAN\Include\adc.c |
| 2140 |
|
2140 | 003fd2 ffe6 |
| 2141 |
|
2141 | 003fd4 cfe1 MOVFF 0xfe1,0xfd9 |
| 2142 |
|
2142 | 003fd6 ffd9 |
| 2143 | { F:\MCP\projects\CAN\Include\adc.c |
2143 | { F:\MCP\projects\CAN\Include\adc.c |
| 2144 |
|
2144 | 003fd8 0efe MOVLW 0xfe if (channel>15) return FALSE; F:\MCP\projects\CAN\Include\adc.c |
| 2145 |
|
2145 | 003fda 50db MOVF 0xdb,0x0,0x0 |
| 2146 |
|
2146 | 003fdc 080f SUBLW 0xf |
| 2147 |
|
2147 | 003fde e202 BC 0x3fe4 |
| 2148 |
|
2148 | 003fe0 0e00 MOVLW 0x0 |
| 2149 |
|
2149 | 003fe2 d015 BRA 0x400e |
| 2150 | F:\MCP\projects\CAN\Include\adc.c |
- | |
| 2151 | 003fe6 0100 MOVLB 0x0 TEMP_VALUE = 0; F:\MCP\projects\CAN\Include\adc.c |
- | |
| 2152 | 003fe8 6b91 CLRF 0x91,0x1 |
- | |
| 2153 | 003fea 6b92 CLRF 0x92,0x1 |
- | |
| 2154 | 003fec 6b93 CLRF 0x93,0x1 |
- | |
| 2155 | 003fee 6b94 CLRF 0x94,0x1 |
- | |
| 2156 | 003ff0 6b95 CLRF 0x95,0x1 TEMP_COUNT = 0; F:\MCP\projects\CAN\Include\adc.c |
- | |
| 2157 | 003ff2 6b96 CLRF 0x96,0x1 |
- | |
| 2158 | F:\MCP\projects\CAN\Include\adc.c |
- | |
| 2159 | 003ff4 0ec3 MOVLW 0xc3 ADCON0 = (channel << 2) | (ADCON0 & 0b11000011); F:\MCP\projects\CAN\Include\adc.c |
- | |
| 2160 | 003ff6 14c2 ANDWF 0xc2,0x0,0x0 |
- | |
| 2161 | 003ff8 6e00 MOVWF 0x0,0x0 |
- | |
| 2162 | 003ffa 0efe MOVLW 0xfe |
- | |
| 2163 | 003ffc 50db MOVF 0xdb,0x0,0x0 |
- | |
| 2164 | 003ffe 0d04 MULLW 0x4 |
- | |
| 2165 | 004000 50f3 MOVF 0xf3,0x0,0x0 |
- | |
| 2166 | 004002 1000 IORWF 0x0,0x0,0x0 |
- | |
| 2167 | 004004 6ec2 MOVWF 0xc2,0x0 |
- | |
| 2168 | F:\MCP\projects\CAN\Include\adc.c |
- | |
| 2169 | 004006 0100 MOVLB 0x0 TEMP_DONE = FALSE; F:\MCP\projects\CAN\Include\adc.c |
- | |
| 2170 | 004008 6ba2 CLRF 0xa2,0x1 |
- | |
| 2171 | F:\MCP\projects\CAN\Include\adc.c |
2150 | F:\MCP\projects\CAN\Include\adc.c |
| - | 2151 | 003fe4 0100 MOVLB 0x0 TEMP_VALUE = 0; F:\MCP\projects\CAN\Include\adc.c |
|
| - | 2152 | 003fe6 6b91 CLRF 0x91,0x1 |
|
| - | 2153 | 003fe8 6b92 CLRF 0x92,0x1 |
|
| - | 2154 | 003fea 6b93 CLRF 0x93,0x1 |
|
| - | 2155 | 003fec 6b94 CLRF 0x94,0x1 |
|
| 2172 |
|
2156 | 003fee 6b95 CLRF 0x95,0x1 TEMP_COUNT = 0; F:\MCP\projects\CAN\Include\adc.c |
| - | 2157 | 003ff0 6b96 CLRF 0x96,0x1 |
|
| 2173 | F:\MCP\projects\CAN\Include\adc.c |
2158 | F:\MCP\projects\CAN\Include\adc.c |
| - | 2159 | 003ff2 0ec3 MOVLW 0xc3 ADCON0 = (channel << 2) | (ADCON0 & 0b11000011); F:\MCP\projects\CAN\Include\adc.c |
|
| - | 2160 | 003ff4 14c2 ANDWF 0xc2,0x0,0x0 |
|
| - | 2161 | 003ff6 6e00 MOVWF 0x0,0x0 |
|
| - | 2162 | 003ff8 0efe MOVLW 0xfe |
|
| - | 2163 | 003ffa 50db MOVF 0xdb,0x0,0x0 |
|
| - | 2164 | 003ffc 0d04 MULLW 0x4 |
|
| - | 2165 | 003ffe 50f3 MOVF 0xf3,0x0,0x0 |
|
| - | 2166 | 004000 1000 IORWF 0x0,0x0,0x0 |
|
| - | 2167 | 004002 6ec2 MOVWF 0xc2,0x0 |
|
| - | 2168 | F:\MCP\projects\CAN\Include\adc.c |
|
| - | 2169 | 004004 0100 MOVLB 0x0 TEMP_DONE = FALSE; F:\MCP\projects\CAN\Include\adc.c |
|
| - | 2170 | 004006 6ba3 CLRF 0xa3,0x1 |
|
| - | 2171 | F:\MCP\projects\CAN\Include\adc.c |
|
| - | 2172 | 004008 82c2 BSF 0xc2,0x1,0x0 ADCON0bits.GO = 1; F:\MCP\projects\CAN\Include\adc.c |
|
| - | 2173 | F:\MCP\projects\CAN\Include\adc.c |
|
| 2174 |
|
2174 | 00400a 0e01 MOVLW 0x1 return TRUE; F:\MCP\projects\CAN\Include\adc.c |
| 2175 |
|
2175 | 00400c d000 BRA 0x400e |
| 2176 |
|
2176 | 00400e 52e5 MOVF 0xe5,0x1,0x0 } F:\MCP\projects\CAN\Include\adc.c |
| 2177 |
|
2177 | 004010 cfe7 MOVFF 0xfe7,0xfd9 |
| 2178 |
|
2178 | 004012 ffd9 |
| 2179 |
|
2179 | 004014 0012 RETURN 0x0 |
| 2180 | F:\MCP\projects\CAN\Include\adc.c |
2180 | F:\MCP\projects\CAN\Include\adc.c |
| 2181 | F:\MCP\projects\CAN\Include\adc.c |
2181 | F:\MCP\projects\CAN\Include\adc.c |
| 2182 | /* F:\MCP\projects\CAN\Include\adc.c |
2182 | /* F:\MCP\projects\CAN\Include\adc.c |
| 2183 | * Function: adcRead F:\MCP\projects\CAN\Include\adc.c |
2183 | * Function: adcRead F:\MCP\projects\CAN\Include\adc.c |
| 2184 | * F:\MCP\projects\CAN\Include\adc.c |
2184 | * F:\MCP\projects\CAN\Include\adc.c |
| 2185 | * Input: none. F:\MCP\projects\CAN\Include\adc.c |
2185 | * Input: none. F:\MCP\projects\CAN\Include\adc.c |
| 2186 | * Output: Raw read data. F:\MCP\projects\CAN\Include\adc.c |
2186 | * Output: Raw read data. F:\MCP\projects\CAN\Include\adc.c |
| 2187 | * Pre-conditions: none F:\MCP\projects\CAN\Include\adc.c |
2187 | * Pre-conditions: none F:\MCP\projects\CAN\Include\adc.c |
| 2188 | * Affects: none. F:\MCP\projects\CAN\Include\adc.c |
2188 | * Affects: none. F:\MCP\projects\CAN\Include\adc.c |
| 2189 | * Depends: none. F:\MCP\projects\CAN\Include\adc.c |
2189 | * Depends: none. F:\MCP\projects\CAN\Include\adc.c |
| 2190 | */ F:\MCP\projects\CAN\Include\adc.c |
2190 | */ F:\MCP\projects\CAN\Include\adc.c |
| 2191 | int adcRead(void) F:\MCP\projects\CAN\Include\adc.c |
2191 | int adcRead(void) F:\MCP\projects\CAN\Include\adc.c |
| 2192 | { F:\MCP\projects\CAN\Include\adc.c |
2192 | { F:\MCP\projects\CAN\Include\adc.c |
| 2193 |
|
2193 | 004016 0100 MOVLB 0x0 TEMP_DONE=FALSE; F:\MCP\projects\CAN\Include\adc.c |
| 2194 |
|
2194 | 004018 6ba3 CLRF 0xa3,0x1 |
| 2195 |
|
2195 | 00401a c091 MOVFF 0x91,0xff3 return TEMP_VALUE; F:\MCP\projects\CAN\Include\adc.c |
| 2196 |
|
2196 | 00401c fff3 |
| 2197 |
|
2197 | 00401e c092 MOVFF 0x92,0xff4 |
| 2198 |
|
2198 | 004020 fff4 |
| 2199 |
|
2199 | 004022 d000 BRA 0x4024 |
| 2200 |
|
2200 | 004024 0012 RETURN 0x0 } F:\MCP\projects\CAN\Include\adc.c |
| 2201 | F:\MCP\projects\CAN\Include\adc.c |
2201 | F:\MCP\projects\CAN\Include\adc.c |
| 2202 | F:\MCP\projects\CAN\Include\adc.c |
2202 | F:\MCP\projects\CAN\Include\adc.c |
| 2203 | /* F:\MCP\projects\CAN\Include\adc.c |
2203 | /* F:\MCP\projects\CAN\Include\adc.c |
| 2204 | * Function: temperatureRead F:\MCP\projects\CAN\Include\adc.c |
2204 | * Function: temperatureRead F:\MCP\projects\CAN\Include\adc.c |
| 2205 | * F:\MCP\projects\CAN\Include\adc.c |
2205 | * F:\MCP\projects\CAN\Include\adc.c |
| 2206 | * Input: none. F:\MCP\projects\CAN\Include\adc.c |
2206 | * Input: none. F:\MCP\projects\CAN\Include\adc.c |
| 2207 | * Output: XX.Y C, where tenth is XX and decimal is Y F:\MCP\projects\CAN\Include\adc.c |
2207 | * Output: XX.Y C, where tenth is XX and decimal is Y F:\MCP\projects\CAN\Include\adc.c |
| 2208 | * Pre-conditions: none F:\MCP\projects\CAN\Include\adc.c |
2208 | * Pre-conditions: none F:\MCP\projects\CAN\Include\adc.c |
| 2209 | * Affects: none. F:\MCP\projects\CAN\Include\adc.c |
2209 | * Affects: none. F:\MCP\projects\CAN\Include\adc.c |
| 2210 | * Depends: none. F:\MCP\projects\CAN\Include\adc.c |
2210 | * Depends: none. F:\MCP\projects\CAN\Include\adc.c |
| 2211 | */ F:\MCP\projects\CAN\Include\adc.c |
2211 | */ F:\MCP\projects\CAN\Include\adc.c |
| 2212 |
|
2212 | 004026 cfd9 MOVFF 0xfd9,0xfe6 void temperatureRead(signed char *tenth, BYTE *decimal) F:\MCP\projects\CAN\Include\adc.c |
| 2213 |
|
2213 | 004028 ffe6 |
| 2214 |
|
2214 | 00402a cfe1 MOVFF 0xfe1,0xfd9 |
| 2215 |
|
2215 | 00402c ffd9 |
| 2216 |
|
2216 | 00402e 0e08 MOVLW 0x8 |
| 2217 |
|
2217 | 004030 26e1 ADDWF 0xe1,0x1,0x0 |
| 2218 | { F:\MCP\projects\CAN\Include\adc.c |
2218 | { F:\MCP\projects\CAN\Include\adc.c |
| 2219 | // assuming 2.5V ref and TC47 F:\MCP\projects\CAN\Include\adc.c |
2219 | // assuming 2.5V ref and TC47 F:\MCP\projects\CAN\Include\adc.c |
| 2220 |
|
2220 | 004032 6ade CLRF 0xde,0x0 signed int i = 0, v11,v01,tfloat; F:\MCP\projects\CAN\Include\adc.c |
| 2221 |
|
2221 | 004034 6add CLRF 0xdd,0x0 |
| 2222 | F:\MCP\projects\CAN\Include\adc.c |
2222 | F:\MCP\projects\CAN\Include\adc.c |
| 2223 |
|
2223 | 004036 c091 MOVFF 0x91,0x4 tfloat =((TEMP_VALUE * 39)>>4) - 499; F:\MCP\projects\CAN\Include\adc.c |
| 2224 |
|
2224 | 004038 f004 |
| 2225 |
|
2225 | 00403a c092 MOVFF 0x92,0x5 |
| 2226 |
|
2226 | 00403c f005 |
| 2227 |
|
2227 | 00403e c093 MOVFF 0x93,0x6 |
| 2228 |
|
2228 | 004040 f006 |
| 2229 |
|
2229 | 004042 c094 MOVFF 0x94,0x7 |
| 2230 |
|
2230 | 004044 f007 |
| 2231 |
|
2231 | 004046 0e27 MOVLW 0x27 |
| 2232 |
|
2232 | 004048 6e2e MOVWF 0x2e,0x0 |
| 2233 |
|
2233 | 00404a 6a2f CLRF 0x2f,0x0 |
| 2234 |
|
2234 | 00404c 6a30 CLRF 0x30,0x0 |
| 2235 |
|
2235 | 00404e 6a31 CLRF 0x31,0x0 |
| 2236 |
|
2236 | 004050 c004 MOVFF 0x4,0x29 |
| 2237 |
|
2237 | 004052 f029 |
| 2238 |
|
2238 | 004054 c005 MOVFF 0x5,0x2a |
| 2239 |
|
2239 | 004056 f02a |
| 2240 |
|
2240 | 004058 c006 MOVFF 0x6,0x2b |
| 2241 |
|
2241 | 00405a f02b |
| 2242 |
|
2242 | 00405c c007 MOVFF 0x7,0x2c |
| 2243 |
|
2243 | 00405e f02c |
| 2244 |
|
2244 | 004060 ecc4 CALL 0x4588,0x0 |
| 2245 |
|
2245 | 004062 f022 |
| 2246 |
|
2246 | 004064 c025 MOVFF 0x25,0x4 |
| 2247 |
|
2247 | 004066 f004 |
| 2248 |
|
2248 | 004068 c026 MOVFF 0x26,0x5 |
| 2249 |
|
2249 | 00406a f005 |
| 2250 |
|
2250 | 00406c c027 MOVFF 0x27,0x6 |
| 2251 |
|
2251 | 00406e f006 |
| 2252 |
|
2252 | 004070 c028 MOVFF 0x28,0x7 |
| 2253 |
|
2253 | 004072 f007 |
| 2254 |
|
2254 | 004074 0e04 MOVLW 0x4 |
| 2255 |
|
2255 | 004076 90d8 BCF 0xd8,0x0,0x0 |
| 2256 |
|
2256 | 004078 3207 RRCF 0x7,0x1,0x0 |
| 2257 |
|
2257 | 00407a 3206 RRCF 0x6,0x1,0x0 |
| 2258 |
|
2258 | 00407c 3205 RRCF 0x5,0x1,0x0 |
| 2259 |
|
2259 | 00407e 3204 RRCF 0x4,0x1,0x0 |
| 2260 |
|
2260 | 004080 06e8 DECF 0xe8,0x1,0x0 |
| 2261 |
|
2261 | 004082 e1f9 BNZ 0x4076 |
| 2262 |
|
2262 | 004084 c004 MOVFF 0x4,0x0 |
| 2263 |
|
2263 | 004086 f000 |
| 2264 |
|
2264 | 004088 c005 MOVFF 0x5,0x1 |
| 2265 |
|
2265 | 00408a f001 |
| 2266 |
|
2266 | 00408c c006 MOVFF 0x6,0x2 |
| 2267 |
|
2267 | 00408e f002 |
| 2268 |
|
2268 | 004090 c007 MOVFF 0x7,0x3 |
| 2269 |
|
2269 | 004092 f003 |
| 2270 |
|
2270 | 004094 0ef3 MOVLW 0xf3 |
| 2271 |
|
2271 | 004096 5e00 SUBWF 0x0,0x1,0x0 |
| 2272 |
|
2272 | 004098 0e01 MOVLW 0x1 |
| 2273 |
|
2273 | 00409a 5a01 SUBWFB 0x1,0x1,0x0 |
| 2274 |
|
2274 | 00409c 0e00 MOVLW 0x0 |
| 2275 |
|
2275 | 00409e 5a02 SUBWFB 0x2,0x1,0x0 |
| 2276 |
|
2276 | 0040a0 5a03 SUBWFB 0x3,0x1,0x0 |
| 2277 |
|
2277 | 0040a2 0e06 MOVLW 0x6 |
| 2278 |
|
2278 | 0040a4 c000 MOVFF 0x0,0xfdb |
| 2279 |
|
2279 | 0040a6 ffdb |
| 2280 |
|
2280 | 0040a8 0e07 MOVLW 0x7 |
| 2281 |
|
2281 | 0040aa c001 MOVFF 0x1,0xfdb |
| 2282 |
|
2282 | 0040ac ffdb |
| 2283 | F:\MCP\projects\CAN\Include\adc.c |
2283 | F:\MCP\projects\CAN\Include\adc.c |
| 2284 |
|
2284 | 0040ae 0e0a MOVLW 0xa v11 = tfloat/10; F:\MCP\projects\CAN\Include\adc.c |
| 2285 |
|
2285 | 0040b0 6e00 MOVWF 0x0,0x0 |
| 2286 |
|
2286 | 0040b2 6a01 CLRF 0x1,0x0 |
| 2287 |
|
2287 | 0040b4 0e06 MOVLW 0x6 |
| 2288 |
|
2288 | 0040b6 cfdb MOVFF 0xfdb,0x2b |
| 2289 |
|
2289 | 0040b8 f02b |
| 2290 |
|
2290 | 0040ba 0e07 MOVLW 0x7 |
| 2291 |
|
2291 | 0040bc cfdb MOVFF 0xfdb,0x2c |
| 2292 |
|
2292 | 0040be f02c |
| 2293 |
|
2293 | 0040c0 c000 MOVFF 0x0,0x30 |
| 2294 |
|
2294 | 0040c2 f030 |
| 2295 |
|
2295 | 0040c4 c001 MOVFF 0x1,0x31 |
| 2296 |
|
2296 | 0040c6 f031 |
| 2297 |
|
2297 | 0040c8 ec57 CALL 0x38ae,0x0 |
| 2298 |
|
2298 | 0040ca f01c |
| 2299 |
|
2299 | 0040cc 0e02 MOVLW 0x2 |
| 2300 |
|
2300 | 0040ce c02b MOVFF 0x2b,0xfdb |
| 2301 |
|
2301 | 0040d0 ffdb |
| 2302 |
|
2302 | 0040d2 0e03 MOVLW 0x3 |
| 2303 |
|
2303 | 0040d4 c02c MOVFF 0x2c,0xfdb |
| 2304 |
|
2304 | 0040d6 ffdb |
| 2305 |
|
2305 | 0040d8 0e06 MOVLW 0x6 v01 = tfloat-v11*10; F:\MCP\projects\CAN\Include\adc.c |
| 2306 |
|
2306 | 0040da cfdb MOVFF 0xfdb,0x2 |
| 2307 |
|
2307 | 0040dc f002 |
| 2308 |
|
2308 | 0040de 0e07 MOVLW 0x7 |
| 2309 |
|
2309 | 0040e0 cfdb MOVFF 0xfdb,0x3 |
| 2310 |
|
2310 | 0040e2 f003 |
| 2311 |
|
2311 | 0040e4 0e0a MOVLW 0xa |
| 2312 |
|
2312 | 0040e6 6e2b MOVWF 0x2b,0x0 |
| 2313 |
|
2313 | 0040e8 6a2c CLRF 0x2c,0x0 |
| 2314 |
|
2314 | 0040ea 0e02 MOVLW 0x2 |
| 2315 |
|
2315 | 0040ec cfdb MOVFF 0xfdb,0x30 |
| 2316 |
|
2316 | 0040ee f030 |
| 2317 |
|
2317 | 0040f0 0e03 MOVLW 0x3 |
| 2318 |
|
2318 | 0040f2 cfdb MOVFF 0xfdb,0x31 |
| 2319 |
|
2319 | 0040f4 f031 |
| 2320 |
|
2320 | 0040f6 ec7d CALL 0x38fa,0x0 |
| 2321 |
|
2321 | 0040f8 f01c |
| 2322 |
|
2322 | 0040fa 5029 MOVF 0x29,0x0,0x0 |
| 2323 |
|
2323 | 0040fc 5c02 SUBWF 0x2,0x0,0x0 |
| 2324 |
|
2324 | 0040fe 6e00 MOVWF 0x0,0x0 |
| 2325 |
|
2325 | 004100 502a MOVF 0x2a,0x0,0x0 |
| 2326 |
|
2326 | 004102 5803 SUBWFB 0x3,0x0,0x0 |
| 2327 |
|
2327 | 004104 6e01 MOVWF 0x1,0x0 |
| 2328 |
|
2328 | 004106 0e04 MOVLW 0x4 |
| 2329 |
|
2329 | 004108 c000 MOVFF 0x0,0xfdb |
| 2330 |
|
2330 | 00410a ffdb |
| 2331 |
|
2331 | 00410c 0e05 MOVLW 0x5 |
| 2332 |
|
2332 | 00410e c001 MOVFF 0x1,0xfdb |
| 2333 |
|
2333 | 004110 ffdb |
| 2334 | F:\MCP\projects\CAN\Include\adc.c |
2334 | F:\MCP\projects\CAN\Include\adc.c |
| 2335 |
|
2335 | 004112 0e04 MOVLW 0x4 if (v01>=0 && v01<=2) v01 = 0; F:\MCP\projects\CAN\Include\adc.c |
| 2336 |
|
2336 | 004114 cfdb MOVFF 0xfdb,0x0 |
| 2337 |
|
2337 | 004116 f000 |
| 2338 |
|
2338 | 004118 0e05 MOVLW 0x5 |
| 2339 |
|
2339 | 00411a cfdb MOVFF 0xfdb,0x1 |
| 2340 |
|
2340 | 00411c f001 |
| 2341 |
|
2341 | 00411e 0100 MOVLB 0x0 |
| 2342 |
|
2342 | 004120 0e80 MOVLW 0x80 |
| 2343 |
|
2343 | 004122 1401 ANDWF 0x1,0x0,0x0 |
| 2344 |
|
2344 | 004124 e112 BNZ 0x414a |
| 2345 |
|
2345 | 004126 0e04 MOVLW 0x4 |
| 2346 |
|
2346 | 004128 cfdb MOVFF 0xfdb,0x2 |
| 2347 |
|
2347 | 00412a f002 |
| 2348 |
|
2348 | 00412c 0e05 MOVLW 0x5 |
| 2349 |
|
2349 | 00412e cfdb MOVFF 0xfdb,0x3 |
| 2350 |
|
2350 | 004130 f003 |
| 2351 |
|
2351 | 004132 3403 RLCF 0x3,0x0,0x0 |
| 2352 |
|
2352 | 004134 e204 BC 0x413e |
| 2353 |
|
2353 | 004136 5002 MOVF 0x2,0x0,0x0 |
| 2354 |
|
2354 | 004138 0802 SUBLW 0x2 |
| 2355 |
|
2355 | 00413a 0e00 MOVLW 0x0 |
| 2356 |
|
2356 | 00413c 5403 SUBFWB 0x3,0x0,0x0 |
| 2357 |
|
2357 | 00413e e305 BNC 0x414a |
| 2358 |
|
2358 | 004140 0e04 MOVLW 0x4 |
| 2359 |
|
2359 | 004142 6adb CLRF 0xdb,0x0 |
| 2360 |
|
2360 | 004144 0e05 MOVLW 0x5 |
| 2361 |
|
2361 | 004146 6adb CLRF 0xdb,0x0 |
| 2362 |
|
2362 | 004148 d02c BRA 0x41a2 else if (v01>=3 && v01<=7) v01 = 5; F:\MCP\projects\CAN\Include\adc.c |
| 2363 |
|
2363 | 00414a 0e04 MOVLW 0x4 |
| 2364 |
|
2364 | 00414c cfdb MOVFF 0xfdb,0x0 |
| 2365 |
|
2365 | 00414e f000 |
| 2366 |
|
2366 | 004150 0e05 MOVLW 0x5 |
| 2367 |
|
2367 | 004152 cfdb MOVFF 0xfdb,0x1 |
| 2368 |
|
2368 | 004154 f001 |
| 2369 |
|
2369 | 004156 90d8 BCF 0xd8,0x0,0x0 |
| 2370 |
|
2370 | 004158 5001 MOVF 0x1,0x0,0x0 |
| 2371 |
|
2371 | 00415a e604 BN 0x4164 |
| 2372 |
|
2372 | 00415c 0e03 MOVLW 0x3 |
| 2373 |
|
2373 | 00415e 5c00 SUBWF 0x0,0x0,0x0 |
| 2374 |
|
2374 | 004160 0e00 MOVLW 0x0 |
| 2375 |
|
2375 | 004162 5801 SUBWFB 0x1,0x0,0x0 |
| 2376 |
|
2376 | 004164 e315 BNC 0x4190 |
| 2377 |
|
2377 | 004166 0e04 MOVLW 0x4 |
| 2378 |
|
2378 | 004168 cfdb MOVFF 0xfdb,0x2 |
| 2379 |
|
2379 | 00416a f002 |
| 2380 |
|
2380 | 00416c 0e05 MOVLW 0x5 |
| 2381 |
|
2381 | 00416e cfdb MOVFF 0xfdb,0x3 |
| 2382 |
|
2382 | 004170 f003 |
| 2383 |
|
2383 | 004172 3403 RLCF 0x3,0x0,0x0 |
| 2384 |
|
2384 | 004174 e204 BC 0x417e |
| 2385 |
|
2385 | 004176 5002 MOVF 0x2,0x0,0x0 |
| 2386 |
|
2386 | 004178 0807 SUBLW 0x7 |
| 2387 |
|
2387 | 00417a 0e00 MOVLW 0x0 |
| 2388 |
|
2388 | 00417c 5403 SUBFWB 0x3,0x0,0x0 |
| 2389 |
|
2389 | 00417e e308 BNC 0x4190 |
| 2390 |
|
2390 | 004180 0e05 MOVLW 0x5 |
| 2391 |
|
2391 | 004182 6ef3 MOVWF 0xf3,0x0 |
| 2392 |
|
2392 | 004184 0e04 MOVLW 0x4 |
| 2393 |
|
2393 | 004186 cff3 MOVFF 0xff3,0xfdb |
| 2394 |
|
2394 | 004188 ffdb |
| 2395 |
|
2395 | 00418a 0e05 MOVLW 0x5 |
| 2396 |
|
2396 | 00418c 6adb CLRF 0xdb,0x0 |
| 2397 |
|
2397 | 00418e d009 BRA 0x41a2 else { v01 = 0; v11++;} F:\MCP\projects\CAN\Include\adc.c |
| 2398 |
|
2398 | 004190 0e04 MOVLW 0x4 |
| 2399 |
|
2399 | 004192 6adb CLRF 0xdb,0x0 |
| 2400 |
|
2400 | 004194 0e05 MOVLW 0x5 |
| 2401 |
|
2401 | 004196 6adb CLRF 0xdb,0x0 |
| 2402 |
|
2402 | 004198 0e02 MOVLW 0x2 |
| 2403 |
|
2403 | 00419a 2adb INCF 0xdb,0x1,0x0 |
| 2404 |
|
2404 | 00419c 0e03 MOVLW 0x3 |
| 2405 |
|
2405 | 00419e e301 BNC 0x41a2 |
| 2406 |
|
2406 | 0041a0 2adb INCF 0xdb,0x1,0x0 |
| 2407 | F:\MCP\projects\CAN\Include\adc.c |
2407 | F:\MCP\projects\CAN\Include\adc.c |
| 2408 |
|
2408 | 0041a2 0efd MOVLW 0xfd *tenth = (signed char)v11; F:\MCP\projects\CAN\Include\adc.c |
| 2409 |
|
2409 | 0041a4 cfdb MOVFF 0xfdb,0xfe9 |
| 2410 |
|
2410 | 0041a6 ffe9 |
| 2411 |
|
2411 | 0041a8 0efe MOVLW 0xfe |
| 2412 |
|
2412 | 0041aa cfdb MOVFF 0xfdb,0xfea |
| 2413 |
|
2413 | 0041ac ffea |
| 2414 |
|
2414 | 0041ae 0e02 MOVLW 0x2 |
| 2415 |
|
2415 | 0041b0 cfdb MOVFF 0xfdb,0xfef |
| 2416 |
|
2416 | 0041b2 ffef |
| 2417 |
|
2417 | 0041b4 0efb MOVLW 0xfb *decimal = (BYTE)v01; F:\MCP\projects\CAN\Include\adc.c |
| 2418 |
|
2418 | 0041b6 cfdb MOVFF 0xfdb,0xfe9 |
| 2419 |
|
2419 | 0041b8 ffe9 |
| 2420 |
|
2420 | 0041ba 0efc MOVLW 0xfc |
| 2421 |
|
2421 | 0041bc cfdb MOVFF 0xfdb,0xfea |
| 2422 |
|
2422 | 0041be ffea |
| 2423 |
|
2423 | 0041c0 0e04 MOVLW 0x4 |
| 2424 |
|
2424 | 0041c2 cfdb MOVFF 0xfdb,0xfef |
| 2425 |
|
2425 | 0041c4 ffef |
| 2426 | F:\MCP\projects\CAN\Include\adc.c |
2426 | F:\MCP\projects\CAN\Include\adc.c |
| 2427 |
|
2427 | 0041c6 0100 MOVLB 0x0 TEMP_DONE=FALSE; F:\MCP\projects\CAN\Include\adc.c |
| 2428 |
|
2428 | 0041c8 6ba3 CLRF 0xa3,0x1 |
| 2429 |
|
2429 | 0041ca 0e08 MOVLW 0x8 } F:\MCP\projects\CAN\Include\adc.c |
| 2430 |
|
2430 | 0041cc 5ce1 SUBWF 0xe1,0x0,0x0 |
| 2431 |
|
2431 | 0041ce e202 BC 0x41d4 |
| 2432 |
|
2432 | 0041d0 6ae1 CLRF 0xe1,0x0 |
| 2433 |
|
2433 | 0041d2 52e5 MOVF 0xe5,0x1,0x0 |
| 2434 |
|
2434 | 0041d4 6ee1 MOVWF 0xe1,0x0 |
| 2435 |
|
2435 | 0041d6 52e5 MOVF 0xe5,0x1,0x0 |
| 2436 |
|
2436 | 0041d8 cfe7 MOVFF 0xfe7,0xfd9 |
| 2437 |
|
2437 | 0041da ffd9 |
| 2438 |
|
2438 | 0041dc 0012 RETURN 0x0 |
| 2439 | F:\MCP\projects\CAN\Include\adc.c |
2439 | F:\MCP\projects\CAN\Include\adc.c |
| 2440 | unsigned long adcGetRaw() F:\MCP\projects\CAN\Include\adc.c |
2440 | unsigned long adcGetRaw() F:\MCP\projects\CAN\Include\adc.c |
| 2441 | { F:\MCP\projects\CAN\Include\adc.c |
2441 | { F:\MCP\projects\CAN\Include\adc.c |
| 2442 |
|
2442 | 0041de c091 MOVFF 0x91,0x29 return TEMP_VALUE; F:\MCP\projects\CAN\Include\adc.c |
| 2443 |
|
2443 | 0041e0 f029 |
| 2444 |
|
2444 | 0041e2 c092 MOVFF 0x92,0x2a |
| 2445 |
|
2445 | 0041e4 f02a |
| 2446 |
|
2446 | 0041e6 c093 MOVFF 0x93,0x2b |
| 2447 |
|
2447 | 0041e8 f02b |
| 2448 |
|
2448 | 0041ea c094 MOVFF 0x94,0x2c |
| 2449 |
|
2449 | 0041ec f02c |
| 2450 |
|
2450 | 0041ee d000 BRA 0x41f0 |
| 2451 |
|
2451 | 0041f0 0012 RETURN 0x0 } F:\MCP\projects\CAN\Include\adc.c |
| 2452 | F:\MCP\projects\CAN\Include\adc.c |
2452 | F:\MCP\projects\CAN\Include\adc.c |
| 2453 | F:\MCP\projects\CAN\Include\adc.c |
2453 | F:\MCP\projects\CAN\Include\adc.c |
| 2454 | /* F:\MCP\projects\CAN\Include\adc.c |
2454 | /* F:\MCP\projects\CAN\Include\adc.c |
| 2455 | * Function: adcDone F:\MCP\projects\CAN\Include\adc.c |
2455 | * Function: adcDone F:\MCP\projects\CAN\Include\adc.c |
| 2456 | * F:\MCP\projects\CAN\Include\adc.c |
2456 | * F:\MCP\projects\CAN\Include\adc.c |
| Line 2460... | Line 2460... | ||
| 2460 | * Affects: none. F:\MCP\projects\CAN\Include\adc.c |
2460 | * Affects: none. F:\MCP\projects\CAN\Include\adc.c |
| 2461 | * Depends: none. F:\MCP\projects\CAN\Include\adc.c |
2461 | * Depends: none. F:\MCP\projects\CAN\Include\adc.c |
| 2462 | */ F:\MCP\projects\CAN\Include\adc.c |
2462 | */ F:\MCP\projects\CAN\Include\adc.c |
| 2463 | BOOL adcDone(void) F:\MCP\projects\CAN\Include\adc.c |
2463 | BOOL adcDone(void) F:\MCP\projects\CAN\Include\adc.c |
| 2464 | { F:\MCP\projects\CAN\Include\adc.c |
2464 | { F:\MCP\projects\CAN\Include\adc.c |
| 2465 |
|
2465 | 0041f2 0100 MOVLB 0x0 return TEMP_DONE; F:\MCP\projects\CAN\Include\adc.c |
| 2466 |
|
2466 | 0041f4 51a3 MOVF 0xa3,0x0,0x1 |
| 2467 |
|
2467 | 0041f6 d000 BRA 0x41f8 |
| 2468 |
|
2468 | 0041f8 0012 RETURN 0x0 } F:\MCP\projects\CAN\Include\adc.c |
| 2469 | F:\MCP\projects\CAN\Include\adc.c |
2469 | F:\MCP\projects\CAN\Include\adc.c |
| 2470 | #endif F:\MCP\projects\CAN\Include\adc.c |
2470 | #endif F:\MCP\projects\CAN\Include\adc.c |
| 2471 | /********************************************************************* F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2471 | /********************************************************************* F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2472 | * F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2472 | * F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2473 | * Functions for controlling blinds F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2473 | * Functions for controlling blinds F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| Line 2480... | Line 2480... | ||
| 2480 | ********************************************************************/ F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2480 | ********************************************************************/ F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2481 | #include <blinds.h> F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2481 | #include <blinds.h> F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2482 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2482 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2483 | #ifdef USE_BLINDS F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2483 | #ifdef USE_BLINDS F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2484 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2484 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2485 | static |
2485 | static WORD timerVal = 50536; F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2486 | static |
2486 | static WORD turnOffIO = 0; F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2487 | static signed char currentPrecent = 0; F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2487 | static signed char currentPrecent = 0; F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| - | 2488 | static BYTE dutyOffCounter = 0; F:\MCP\projects\CAN\canTemp\Source\blinds.c |
|
| 2488 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2489 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2489 | /* F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2490 | /* F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2490 | * Function: blindsInit F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2491 | * Function: blindsInit F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2491 | * F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2492 | * F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2492 | * Input: none. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2493 | * Input: none. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2493 | * Output: none. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2494 | * Output: none. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2494 | * Pre-conditions: none F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2495 | * Pre-conditions: none F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2495 | * Affects: none. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2496 | * Affects: none. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2496 | * Depends: none. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2497 | * Depends: none. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2497 | */ F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2498 | */ F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2498 | void blindsInit() F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2499 | void blindsInit() F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2499 | { F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2500 | { F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2500 | // setup timer one on 0.5ms. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2501 | // setup timer one on 0.5ms. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2501 | // 16 bit write, system clock, prescale 2 bit, oscillator off, F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2502 | // 16 bit write, system clock, prescale 2 bit, oscillator off, F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2502 |
|
2503 | 0041fa 0ec1 MOVLW 0xc1 T1CON = 0b11000001; F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2503 |
|
2504 | 0041fc 6ecd MOVWF 0xcd,0x0 |
| 2504 |
|
2505 | 0041fe 0e00 MOVLW 0x0 TMR1H=((timerVal&0xFF00)>>8); F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2505 |
|
2506 | 004200 0100 MOVLB 0x0 |
| 2506 |
|
2507 | 004202 1597 ANDWF 0x97,0x0,0x1 |
| 2507 |
|
2508 | 004204 6e00 MOVWF 0x0,0x0 |
| 2508 |
|
2509 | 004206 0eff MOVLW 0xff |
| 2509 |
|
2510 | 004208 1598 ANDWF 0x98,0x0,0x1 |
| 2510 |
|
2511 | 00420a 6e01 MOVWF 0x1,0x0 |
| 2511 |
|
2512 | 00420c c001 MOVFF 0x1,0x0 |
| 2512 |
|
2513 | 00420e f000 |
| 2513 |
|
2514 | 004210 6a01 CLRF 0x1,0x0 |
| 2514 |
|
2515 | 004212 5000 MOVF 0x0,0x0,0x0 |
| 2515 |
|
2516 | 004214 6ecf MOVWF 0xcf,0x0 |
| 2516 |
|
2517 | 004216 5197 MOVF 0x97,0x0,0x1 TMR1L=(timerVal&0xFF); F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2517 |
|
2518 | 004218 6ece MOVWF 0xce,0x0 |
| 2518 |
|
2519 | 00421a 909e BCF 0x9e,0x0,0x0 PIR1bits.TMR1IF = 0; F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2519 |
|
2520 | 00421c 809d BSF 0x9d,0x0,0x0 PIE1bits.TMR1IE = 1; F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2520 |
|
2521 | 00421e 909f BCF 0x9f,0x0,0x0 IPR1bits.TMR1IP = 0; // Low prior F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2521 |
|
2522 | 004220 0012 RETURN 0x0 } F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2522 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2523 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2523 | /* F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2524 | /* F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2524 | * Function: blindsGetAngle F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2525 | * Function: blindsGetAngle F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2525 | * F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2526 | * F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2526 | * Input: none. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2527 | * Input: none. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2527 | * Output: angle. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2528 | * Output: angle. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2528 | * Pre-conditions: none F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2529 | * Pre-conditions: none F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2529 | * Affects: none. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2530 | * Affects: none. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2530 | * Depends: none. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2531 | * Depends: none. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2531 | */ F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2532 | */ F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2532 | BYTE blindsGetPrecent() F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2533 | BYTE blindsGetPrecent() F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2533 | { F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2534 | { F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2534 |
|
2535 | 004222 0100 MOVLB 0x0 return currentPrecent; F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2535 |
|
2536 | 004224 519b MOVF 0x9b,0x0,0x1 |
| 2536 |
|
2537 | 004226 d000 BRA 0x4228 |
| 2537 |
|
2538 | 004228 0012 RETURN 0x0 } F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2538 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2539 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2539 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2540 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2540 | /* F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2541 | /* F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2541 | * Function: blindsTurn F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2542 | * Function: blindsTurn F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2542 | * F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2543 | * F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2543 | * Input: Angle to turn to. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2544 | * Input: Angle to turn to. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2544 | * Output: none. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2545 | * Output: none. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2545 | * Pre-conditions: none F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2546 | * Pre-conditions: none F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2546 | * Affects: none. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2547 | * Affects: none. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2547 | * Depends: none. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2548 | * Depends: none. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2548 | */ F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2549 | */ F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2549 |
|
2550 | 00422a cfd9 MOVFF 0xfd9,0xfe6 void blindsTurn(BYTE precent) F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2550 |
|
2551 | 00422c ffe6 |
| 2551 |
|
2552 | 00422e cfe1 MOVFF 0xfe1,0xfd9 |
| 2552 |
|
2553 | 004230 ffd9 |
| 2553 | { F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2554 | { F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2554 | // 65536-TIME/0,0000001 F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2555 | // 65536-TIME/0,0000001 F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2555 | // -90 0.5 ms = 60536 (5000) F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2556 | // -90 0.5 ms = 60536 (5000) F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2556 | // 0 1.5 ms = 50536 (15000) F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2557 | // 0 1.5 ms = 50536 (15000) F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2557 | // 90 2.5 ms = 40536 (25000) F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2558 | // 90 2.5 ms = 40536 (25000) F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2558 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2559 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2559 |
|
2560 | 004232 8a82 BSF 0x82,0x5,0x0 BLINDS0P_IO=1; F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2560 |
|
2561 | 004234 0100 MOVLB 0x0 turnOffIO = IO_TIMEOUT; F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2561 |
|
2562 | 004236 0ebc MOVLW 0xbc |
| 2562 |
|
2563 | 004238 6f99 MOVWF 0x99,0x1 |
| 2563 |
|
2564 | 00423a 0e02 MOVLW 0x2 |
| 2564 |
|
2565 | 00423c 6f9a MOVWF 0x9a,0x1 |
| 2565 | /* F:\MCP\projects\CAN\canTemp\Source\blinds.c |
- | |
| 2566 | if (angle<ANGLE_MIN) {timerVal=ANGLE_MIN_TIMER; currentAngle=ANGLE_MIN; } F:\MCP\projects\CAN\canTemp\Source\blinds.c |
- | |
| 2567 | else if (angle>ANGLE_MAX) {timerVal=ANGLE_MAX_TIMER; currentAngle=ANGLE_MAX; } F:\MCP\projects\CAN\canTemp\Source\blinds.c |
- | |
| 2568 | else F:\MCP\projects\CAN\canTemp\Source\blinds.c |
- | |
| 2569 | { F:\MCP\projects\CAN\canTemp\Source\blinds.c |
- | |
| 2570 | timerVal=60536-(unsigned int)((90+(signed int)angle)*111.111); F:\MCP\projects\CAN\canTemp\Source\blinds.c |
- | |
| 2571 | currentAngle=angle; F:\MCP\projects\CAN\canTemp\Source\blinds.c |
- | |
| 2572 | } F:\MCP\projects\CAN\canTemp\Source\blinds.c |
- | |
| 2573 | */ F:\MCP\projects\CAN\canTemp\Source\blinds.c |
- | |
| 2574 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
- | |
| 2575 | /* F:\MCP\projects\CAN\canTemp\Source\blinds.c |
- | |
| 2576 | angle=precent* F:\MCP\projects\CAN\canTemp\Source\blinds.c |
- | |
| 2577 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
- | |
| 2578 | -50=k*100+m F:\MCP\projects\CAN\canTemp\Source\blinds.c |
- | |
| 2579 | 60=k*0+m F:\MCP\projects\CAN\canTemp\Source\blinds.c |
- | |
| 2580 | angle=-1.1x+60 F:\MCP\projects\CAN\canTemp\Source\blinds.c |
- | |
| 2581 | */ F:\MCP\projects\CAN\canTemp\Source\blinds.c |
- | |
| 2582 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
- | |
| 2583 | 004240 0efe MOVLW 0xfe currentPrecent=precent; F:\MCP\projects\CAN\canTemp\Source\blinds.c |
- | |
| 2584 | 004242 cfdb MOVFF 0xfdb,0x9b |
- | |
| 2585 | 004244 f09b |
- | |
| 2586 | 004246 50db MOVF 0xdb,0x0,0x0 if (precent>100) { currentPrecent=100; } F:\MCP\projects\CAN\canTemp\Source\blinds.c |
- | |
| 2587 | 004248 0864 SUBLW 0x64 |
- | |
| 2588 | 00424a e202 BC 0x4250 |
- | |
| 2589 | 00424c 0e64 MOVLW 0x64 |
- | |
| 2590 | 00424e 6f9b MOVWF 0x9b,0x1 |
- | |
| 2591 | 004250 0e00 MOVLW 0x0 if (precent<0) { currentPrecent=0; } F:\MCP\projects\CAN\canTemp\Source\blinds.c |
- | |
| 2592 | 004252 6ef3 MOVWF 0xf3,0x0 |
- | |
| 2593 | 004254 0efe MOVLW 0xfe |
- | |
| 2594 | 004256 cfdb MOVFF 0xfdb,0xff4 |
- | |
| 2595 | 004258 fff4 |
- | |
| 2596 | 00425a 50f3 MOVF 0xf3,0x0,0x0 |
- | |
| 2597 | 00425c 5cf4 SUBWF 0xf4,0x0,0x0 |
- | |
| 2598 | 00425e e201 BC 0x4262 |
- | |
| 2599 | 004260 6b9b CLRF 0x9b,0x1 |
- | |
| 2600 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2566 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| - | 2567 | 00423e 0efe MOVLW 0xfe currentPrecent = precent; F:\MCP\projects\CAN\canTemp\Source\blinds.c |
|
| - | 2568 | 004240 cfdb MOVFF 0xfdb,0x9b |
|
| - | 2569 | 004242 f09b |
|
| - | 2570 | 004244 50db MOVF 0xdb,0x0,0x0 if (precent>100) { currentPrecent = 100; } F:\MCP\projects\CAN\canTemp\Source\blinds.c |
|
| - | 2571 | 004246 0864 SUBLW 0x64 |
|
| - | 2572 | 004248 e202 BC 0x424e |
|
| - | 2573 | 00424a 0e64 MOVLW 0x64 |
|
| - | 2574 | 00424c 6f9b MOVWF 0x9b,0x1 |
|
| - | 2575 | 00424e 0e00 MOVLW 0x0 if (precent<0) { currentPrecent = 0; } F:\MCP\projects\CAN\canTemp\Source\blinds.c |
|
| - | 2576 | 004250 6ef3 MOVWF 0xf3,0x0 |
|
| - | 2577 | 004252 0efe MOVLW 0xfe |
|
| - | 2578 | 004254 cfdb MOVFF 0xfdb,0xff4 |
|
| - | 2579 | 004256 fff4 |
|
| - | 2580 | 004258 50f3 MOVF 0xf3,0x0,0x0 |
|
| - | 2581 | 00425a 5cf4 SUBWF 0xf4,0x0,0x0 |
|
| - | 2582 | 00425c e201 BC 0x4260 |
|
| - | 2583 | 00425e 6b9b CLRF 0x9b,0x1 |
|
| - | 2584 | 004260 6b9c CLRF 0x9c,0x1 dutyOffCounter = 0; F:\MCP\projects\CAN\canTemp\Source\blinds.c |
|
| 2601 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2585 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2602 | 004262 0e78 MOVLW 0x78 timerVal=60536-(unsigned int)((90+(-1.05*(signed int)currentPrecent+60))*111.111); F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2586 | 004262 0e78 MOVLW 0x78 timerVal=60536-(unsigned int)((90+(-1.05*(signed int)currentPrecent+60))*111.111); F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2603 | 004264 6e03 MOVWF 0x3,0x0 |
2587 | 004264 6e03 MOVWF 0x3,0x0 |
| 2604 | 004266 0eec MOVLW 0xec |
2588 | 004266 0eec MOVLW 0xec |
| 2605 | 004268 6e04 MOVWF 0x4,0x0 |
2589 | 004268 6e04 MOVWF 0x4,0x0 |
| Line 2624... | Line 2608... | ||
| 2624 | 00428e 6822 SETF 0x22,0x0 |
2608 | 00428e 6822 SETF 0x22,0x0 |
| 2625 | 004290 c021 MOVFF 0x21,0x2b |
2609 | 004290 c021 MOVFF 0x21,0x2b |
| 2626 | 004292 f02b |
2610 | 004292 f02b |
| 2627 | 004294 c022 MOVFF 0x22,0x2c |
2611 | 004294 c022 MOVFF 0x22,0x2c |
| 2628 | 004296 f02c |
2612 | 004296 f02c |
| 2629 | 004298 |
2613 | 004298 ec40 CALL 0x3680,0x0 |
| 2630 | 00429a f01b |
2614 | 00429a f01b |
| 2631 | 00429c c02a MOVFF 0x2a,0x1d |
2615 | 00429c c02a MOVFF 0x2a,0x1d |
| 2632 | 00429e f01d |
2616 | 00429e f01d |
| 2633 | 0042a0 c02b MOVFF 0x2b,0x1e |
2617 | 0042a0 c02b MOVFF 0x2b,0x1e |
| 2634 | 0042a2 f01e |
2618 | 0042a2 f01e |
| Line 2650... | Line 2634... | ||
| 2650 | 0042c2 f02b |
2634 | 0042c2 f02b |
| 2651 | 0042c4 c01b MOVFF 0x1b,0x2c |
2635 | 0042c4 c01b MOVFF 0x1b,0x2c |
| 2652 | 0042c6 f02c |
2636 | 0042c6 f02c |
| 2653 | 0042c8 c01c MOVFF 0x1c,0x2d |
2637 | 0042c8 c01c MOVFF 0x1c,0x2d |
| 2654 | 0042ca f02d |
2638 | 0042ca f02d |
| 2655 | 0042cc |
2639 | 0042cc ecea CALL 0x37d4,0x0 |
| 2656 | 0042ce f01b |
2640 | 0042ce f01b |
| 2657 | 0042d0 c02a MOVFF 0x2a,0x15 |
2641 | 0042d0 c02a MOVFF 0x2a,0x15 |
| 2658 | 0042d2 f015 |
2642 | 0042d2 f015 |
| 2659 | 0042d4 c02b MOVFF 0x2b,0x16 |
2643 | 0042d4 c02b MOVFF 0x2b,0x16 |
| 2660 | 0042d6 f016 |
2644 | 0042d6 f016 |
| Line 2674... | Line 2658... | ||
| 2674 | 0042f2 f02b |
2658 | 0042f2 f02b |
| 2675 | 0042f4 c017 MOVFF 0x17,0x2c |
2659 | 0042f4 c017 MOVFF 0x17,0x2c |
| 2676 | 0042f6 f02c |
2660 | 0042f6 f02c |
| 2677 | 0042f8 c018 MOVFF 0x18,0x2d |
2661 | 0042f8 c018 MOVFF 0x18,0x2d |
| 2678 | 0042fa f02d |
2662 | 0042fa f02d |
| 2679 | 0042fc |
2663 | 0042fc ec54 CALL 0x36a8,0x0 |
| 2680 | 0042fe f01b |
2664 | 0042fe f01b |
| 2681 | 004300 c02a MOVFF 0x2a,0x11 |
2665 | 004300 c02a MOVFF 0x2a,0x11 |
| 2682 | 004302 f011 |
2666 | 004302 f011 |
| 2683 | 004304 c02b MOVFF 0x2b,0x12 |
2667 | 004304 c02b MOVFF 0x2b,0x12 |
| 2684 | 004306 f012 |
2668 | 004306 f012 |
| Line 2700... | Line 2684... | ||
| 2700 | 004326 f02b |
2684 | 004326 f02b |
| 2701 | 004328 c00f MOVFF 0xf,0x2c |
2685 | 004328 c00f MOVFF 0xf,0x2c |
| 2702 | 00432a f02c |
2686 | 00432a f02c |
| 2703 | 00432c c010 MOVFF 0x10,0x2d |
2687 | 00432c c010 MOVFF 0x10,0x2d |
| 2704 | 00432e f02d |
2688 | 00432e f02d |
| 2705 | 004330 |
2689 | 004330 ec54 CALL 0x36a8,0x0 |
| 2706 | 004332 f01b |
2690 | 004332 f01b |
| 2707 | 004334 c02a MOVFF 0x2a,0x9 |
2691 | 004334 c02a MOVFF 0x2a,0x9 |
| 2708 | 004336 f009 |
2692 | 004336 f009 |
| 2709 | 004338 c02b MOVFF 0x2b,0xa |
2693 | 004338 c02b MOVFF 0x2b,0xa |
| 2710 | 00433a f00a |
2694 | 00433a f00a |
| Line 2726... | Line 2710... | ||
| 2726 | 00435a f02b |
2710 | 00435a f02b |
| 2727 | 00435c c00b MOVFF 0xb,0x2c |
2711 | 00435c c00b MOVFF 0xb,0x2c |
| 2728 | 00435e f02c |
2712 | 00435e f02c |
| 2729 | 004360 c00c MOVFF 0xc,0x2d |
2713 | 004360 c00c MOVFF 0xc,0x2d |
| 2730 | 004362 f02d |
2714 | 004362 f02d |
| 2731 | 004364 |
2715 | 004364 ecea CALL 0x37d4,0x0 |
| 2732 | 004366 f01b |
2716 | 004366 f01b |
| 2733 | 004368 |
2717 | 004368 ecaa CALL 0x3954,0x0 |
| 2734 | 00436a f01c |
2718 | 00436a f01c |
| 2735 | 00436c c02b MOVFF 0x2b,0x6 |
2719 | 00436c c02b MOVFF 0x2b,0x6 |
| 2736 | 00436e f006 |
2720 | 00436e f006 |
| 2737 | 004370 c02c MOVFF 0x2c,0x7 |
2721 | 004370 c02c MOVFF 0x2c,0x7 |
| 2738 | 004372 f007 |
2722 | 004372 f007 |
| Line 2763... | Line 2747... | ||
| 2763 | * Output: none. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2747 | * Output: none. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2764 | * Pre-conditions: none F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2748 | * Pre-conditions: none F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2765 | * Affects: none. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2749 | * Affects: none. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2766 | * Depends: none. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2750 | * Depends: none. F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2767 | */ F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2751 | */ F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2768 | void blindsISR(void) F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2752 | 004398 cfd9 MOVFF 0xfd9,0xfe6 void blindsISR(void) F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| - | 2753 | 00439a ffe6 |
|
| - | 2754 | 00439c cfe1 MOVFF 0xfe1,0xfd9 |
|
| - | 2755 | 00439e ffd9 |
|
| - | 2756 | 0043a0 0e02 MOVLW 0x2 |
|
| - | 2757 | 0043a2 26e1 ADDWF 0xe1,0x1,0x0 |
|
| 2769 | { F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2758 | { F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2770 |
|
2759 | 0043a4 509e MOVF 0x9e,0x0,0x0 if (PIR1bits.TMR1IF == 1 && PIE1bits.TMR1IE == 1) F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2771 |
|
2760 | 0043a6 0b01 ANDLW 0x1 |
| 2772 |
|
2761 | 0043a8 e040 BZ 0x442a |
| 2773 |
|
2762 | 0043aa 509d MOVF 0x9d,0x0,0x0 |
| 2774 |
|
2763 | 0043ac 0b01 ANDLW 0x1 |
| 2775 |
|
2764 | 0043ae e03d BZ 0x442a |
| 2776 | { F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2765 | { F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| - | 2766 | 0043b0 c097 MOVFF 0x97,0xfde WORD timerValBuffer = timerVal; F:\MCP\projects\CAN\canTemp\Source\blinds.c |
|
| - | 2767 | 0043b2 ffde |
|
| - | 2768 | 0043b4 c098 MOVFF 0x98,0xfdd |
|
| - | 2769 | 0043b6 ffdd |
|
| - | 2770 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
|
| 2777 |
|
2771 | 0043b8 0100 MOVLB 0x0 dutyOffCounter++; F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| - | 2772 | 0043ba 2b9c INCF 0x9c,0x1,0x1 |
|
| - | 2773 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
|
| - | 2774 | 0043bc 5082 MOVF 0x82,0x0,0x0 if (BLINDS0_IO==0 && dutyOffCounter>4) F:\MCP\projects\CAN\canTemp\Source\blinds.c |
|
| 2778 |
|
2775 | 0043be 0b10 ANDLW 0x10 |
| - | 2776 | 0043c0 e106 BNZ 0x43ce |
|
| 2779 |
|
2777 | 0043c2 519c MOVF 0x9c,0x0,0x1 |
| 2780 |
|
2778 | 0043c4 0804 SUBLW 0x4 |
| 2781 |
|
2779 | 0043c6 e203 BC 0x43ce |
| - | 2780 | { F:\MCP\projects\CAN\canTemp\Source\blinds.c |
|
| - | 2781 | 0043c8 8882 BSF 0x82,0x4,0x0 BLINDS0_IO=1; F:\MCP\projects\CAN\canTemp\Source\blinds.c |
|
| - | 2782 | 0043ca 6b9c CLRF 0x9c,0x1 dutyOffCounter=0; F:\MCP\projects\CAN\canTemp\Source\blinds.c |
|
| - | 2783 | } F:\MCP\projects\CAN\canTemp\Source\blinds.c |
|
| - | 2784 | 0043cc d00d BRA 0x43e8 else if (BLINDS0_IO==0 && dutyOffCounter<=4) F:\MCP\projects\CAN\canTemp\Source\blinds.c |
|
| 2782 |
|
2785 | 0043ce 5082 MOVF 0x82,0x0,0x0 |
| 2783 |
|
2786 | 0043d0 0b10 ANDLW 0x10 |
| - | 2787 | 0043d2 e108 BNZ 0x43e4 |
|
| 2784 |
|
2788 | 0043d4 519c MOVF 0x9c,0x0,0x1 |
| 2785 |
|
2789 | 0043d6 0804 SUBLW 0x4 |
| 2786 |
|
2790 | 0043d8 e305 BNC 0x43e4 |
| - | 2791 | { F:\MCP\projects\CAN\canTemp\Source\blinds.c |
|
| - | 2792 | 0043da 0eb0 MOVLW 0xb0 timerValBuffer = DUTY_OFF_DELAY; F:\MCP\projects\CAN\canTemp\Source\blinds.c |
|
| 2787 |
|
2793 | 0043dc 6ede MOVWF 0xde,0x0 |
| - | 2794 | 0043de 0e3c MOVLW 0x3c |
|
| 2788 |
|
2795 | 0043e0 6edd MOVWF 0xdd,0x0 |
| - | 2796 | } F:\MCP\projects\CAN\canTemp\Source\blinds.c |
|
| 2789 |
|
2797 | 0043e2 d002 BRA 0x43e8 else if (BLINDS0_IO==1) F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2790 |
|
2798 | 0043e4 b882 BTFSC 0x82,0x4,0x0 |
| - | 2799 | { F:\MCP\projects\CAN\canTemp\Source\blinds.c |
|
| - | 2800 | 0043e6 9882 BCF 0x82,0x4,0x0 BLINDS0_IO=0; F:\MCP\projects\CAN\canTemp\Source\blinds.c |
|
| - | 2801 | } F:\MCP\projects\CAN\canTemp\Source\blinds.c |
|
| 2791 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2802 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| - | 2803 | 0043e8 cfde MOVFF 0xfde,0x0 TMR1H=((timerValBuffer&0xFF00)>>8); F:\MCP\projects\CAN\canTemp\Source\blinds.c |
|
| - | 2804 | 0043ea f000 |
|
| - | 2805 | 0043ec cfdd MOVFF 0xfdd,0x1 |
|
| - | 2806 | 0043ee f001 |
|
| - | 2807 | 0043f0 0e00 MOVLW 0x0 |
|
| - | 2808 | 0043f2 1600 ANDWF 0x0,0x1,0x0 |
|
| - | 2809 | 0043f4 0eff MOVLW 0xff |
|
| - | 2810 | 0043f6 1601 ANDWF 0x1,0x1,0x0 |
|
| - | 2811 | 0043f8 c001 MOVFF 0x1,0x0 |
|
| - | 2812 | 0043fa f000 |
|
| - | 2813 | 0043fc 6a01 CLRF 0x1,0x0 |
|
| - | 2814 | 0043fe 5000 MOVF 0x0,0x0,0x0 |
|
| - | 2815 | 004400 6ecf MOVWF 0xcf,0x0 |
|
| 2792 |
|
2816 | 004402 cfde MOVFF 0xfde,0x0 TMR1L=(timerValBuffer&0xFF); F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| - | 2817 | 004404 f000 |
|
| - | 2818 | 004406 cfdd MOVFF 0xfdd,0x1 |
|
| - | 2819 | 004408 f001 |
|
| - | 2820 | 00440a 5000 MOVF 0x0,0x0,0x0 |
|
| - | 2821 | 00440c 6ece MOVWF 0xce,0x0 |
|
| 2793 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2822 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2794 |
|
2823 | 00440e c099 MOVFF 0x99,0x0 if (turnOffIO--<1) F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2795 |
|
2824 | 004410 f000 |
| 2796 |
|
2825 | 004412 c09a MOVFF 0x9a,0x1 |
| 2797 |
|
2826 | 004414 f001 |
| 2798 |
|
2827 | 004416 0799 DECF 0x99,0x1,0x1 |
| 2799 |
|
2828 | 004418 0e00 MOVLW 0x0 |
| 2800 |
|
2829 | 00441a 5b9a SUBWFB 0x9a,0x1,0x1 |
| 2801 |
|
2830 | 00441c 0e01 MOVLW 0x1 |
| 2802 |
|
2831 | 00441e 5c00 SUBWF 0x0,0x0,0x0 |
| 2803 |
|
2832 | 004420 0e00 MOVLW 0x0 |
| 2804 |
|
2833 | 004422 5801 SUBWFB 0x1,0x0,0x0 |
| 2805 |
|
2834 | 004424 e201 BC 0x4428 |
| 2806 | { F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2835 | { F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2807 |
|
2836 | 004426 9a82 BCF 0x82,0x5,0x0 BLINDS0P_IO=0; F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2808 | } F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2837 | } F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2809 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2838 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2810 |
|
2839 | 004428 909e BCF 0x9e,0x0,0x0 PIR1bits.TMR1IF = 0; F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2811 | } F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2840 | } F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2812 |
|
2841 | 00442a 0e02 MOVLW 0x2 } F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| - | 2842 | 00442c 5ce1 SUBWF 0xe1,0x0,0x0 |
|
| - | 2843 | 00442e e202 BC 0x4434 |
|
| - | 2844 | 004430 6ae1 CLRF 0xe1,0x0 |
|
| - | 2845 | 004432 52e5 MOVF 0xe5,0x1,0x0 |
|
| - | 2846 | 004434 6ee1 MOVWF 0xe1,0x0 |
|
| - | 2847 | 004436 52e5 MOVF 0xe5,0x1,0x0 |
|
| - | 2848 | 004438 cfe7 MOVFF 0xfe7,0xfd9 |
|
| - | 2849 | 00443a ffd9 |
|
| - | 2850 | 00443c 0012 RETURN 0x0 |
|
| 2813 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2851 | F:\MCP\projects\CAN\canTemp\Source\blinds.c |
| 2814 | #endif F:\MCP\projects\CAN\canTemp\Source\blinds.c |
2852 | #endif F:\MCP\projects\CAN\canTemp\Source\blinds.c |