📄 stm8_tsl_api.ls
字号:
1 ; C Compiler for STM8 (COSMIC Software)
2 ; Parser V4.9.2 - 29 Jun 2010
3 ; Generator V4.3.5 - 02 Jul 2010
94 ; 144 void TSL_Init(void)
94 ; 145 {
96 switch .text
97 0000 _TSL_Init:
101 ; 147 disableInterrupts();
104 0000 9b sim
106 ; 149 DetectionIntegrator = DETECTION_INTEGRATOR_DEFAULT;
109 0001 3502004b mov _DetectionIntegrator,#2
110 ; 150 EndDetectionIntegrator = END_DETECTION_INTEGRATOR_DEFAULT;
112 0005 3502004a mov _EndDetectionIntegrator,#2
113 ; 151 ECSTimeStep = ECS_TIME_STEP_DEFAULT;
115 0009 35140048 mov _ECSTimeStep,#20
116 ; 152 ECSTemporization = ECS_TEMPO_DEFAULT;
118 000d 35140047 mov _ECSTemporization,#20
119 ; 153 RecalibrationIntegrator = RECALIBRATION_INTEGRATOR_DEFAULT;
121 0011 350a0049 mov _RecalibrationIntegrator,#10
122 ; 154 DetectionTimeout = DTO_DEFAULT;
124 0015 3f4c clr _DetectionTimeout
125 ; 156 ECS_K_Fast = ECS_IIR_KFAST_DEFAULT;
127 0017 35140046 mov _ECS_K_Fast,#20
128 ; 157 ECS_K_Slow = ECS_IIR_KSLOW_DEFAULT;
130 001b 350a0045 mov _ECS_K_Slow,#10
131 ; 158 ECSTimeStepCounter = ECSTimeStep;
133 001f 35140002 mov _ECSTimeStepCounter,#20
134 ; 159 ECSTempoCounter = 0;
136 0023 3f01 clr _ECSTempoCounter
137 ; 160 ECSTempoPrescaler = 0;
139 0025 3f00 clr _ECSTempoPrescaler
140 ; 162 TSL_IO_Init();
142 0027 cd0000 call _TSL_IO_Init
144 ; 165 TSL_Timer_Init();
146 002a cd0000 call _TSL_Timer_Init
148 ; 169 TSL_SCKey_Init();
150 002d cd0000 call _TSL_SCKey_Init
152 ; 172 TSL_MCKey_Init();
154 0030 cd0000 call _TSL_MCKey_Init
156 ; 175 enableInterrupts();
159 0033 9a rim
161 ; 177 TSLState = TSL_IDLE_STATE;
164 0034 35010070 mov _TSLState,#1
165 ; 179 }
168 0038 81 ret
206 ; 192 void TSL_Action(void)
206 ; 193 {
207 switch .text
208 0039 _TSL_Action:
212 ; 195 switch (TSLState)
214 0039 b670 ld a,_TSLState
216 ; 311 break;
217 003b 4a dec a
218 003c 2713 jreq L53
219 003e 4a dec a
220 003f 2725 jreq L73
221 0041 4a dec a
222 0042 272b jreq L14
223 0044 a005 sub a,#5
224 0046 273a jreq L34
225 0048 a002 sub a,#2
226 004a 273f jreq L54
227 004c 4a dec a
228 004d 274d jreq L74
229 004f L301:
231 004f 20fe jra L301
232 0051 L53:
233 ; 199 disableInterrupts();
236 0051 9b sim
238 ; 200 Local_TickFlag.b.DTO_1sec = TSL_Tick_Flags.b.DTO_1sec;
241 btst _TSL_Tick_Flags,#0
242 0057 90110003 bccm _Local_TickFlag,#0
243 ; 201 TSL_Tick_Flags.b.DTO_1sec = 0;
245 005b 72110000 bres _TSL_Tick_Flags,#0
246 ; 202 enableInterrupts();
249 005f 9a rim
251 ; 204 TSLState = TSL_SCKEY_P1_ACQ_STATE;
254 0060 35020070 mov _TSLState,#2
255 ; 206 break;
257 0064 2049 jra L56
258 0066 L73:
259 ; 208 case TSL_SCKEY_P1_ACQ_STATE:
259 ; 209 TSL_SCKEY_P1_Acquisition();
261 0066 cd0000 call _TSL_SCKEY_P1_Acquisition
263 ; 211 TSLState = TSL_SCKEY_P1_PROC_STATE;
265 0069 35030070 mov _TSLState,#3
266 ; 212 break;
268 006d 2040 jra L56
269 006f L14:
270 ; 214 case TSL_SCKEY_P1_PROC_STATE:
270 ; 215 for (KeyIndex = 0; KeyIndex < SCKEY_P1_KEY_COUNT; KeyIndex++)
272 006f 3f11 clr _KeyIndex
273 0071 L76:
274 ; 217 TSL_SCKey_Process();
276 0071 cd0000 call _TSL_SCKey_Process
278 ; 215 for (KeyIndex = 0; KeyIndex < SCKEY_P1_KEY_COUNT; KeyIndex++)
280 0074 3c11 inc _KeyIndex
283 0076 b611 ld a,_KeyIndex
284 0078 a102 cp a,#2
285 007a 25f5 jrult L76
286 ; 225 TSLState = TSL_MCKEY1_ACQ_STATE;
288 007c 35080070 mov _TSLState,#8
289 ; 230 break;
291 0080 202d jra L56
292 0082 L34:
293 ; 279 case TSL_MCKEY1_ACQ_STATE:
293 ; 280 TSL_MCKey1_Acquisition();
295 0082 cd0000 call _TSL_MCKey1_Acquisition
297 ; 284 TSLState = TSL_MCKEY_PROC_STATE;
299 0085 350a0070 mov _TSLState,#10
300 ; 286 break;
302 0089 2024 jra L56
303 008b L54:
304 ; 295 case TSL_MCKEY_PROC_STATE:
304 ; 296 for (KeyIndex = 0; KeyIndex < NUMBER_OF_MULTI_CHANNEL_KEYS; KeyIndex++)
306 008b 3f11 clr _KeyIndex
307 008d L57:
308 ; 298 TSL_MCKey_Process();
310 008d cd0000 call _TSL_MCKey_Process
312 ; 296 for (KeyIndex = 0; KeyIndex < NUMBER_OF_MULTI_CHANNEL_KEYS; KeyIndex++)
314 0090 3c11 inc _KeyIndex
317 0092 3d11 tnz _KeyIndex
318 0094 27f7 jreq L57
319 ; 300 TSLState = TSL_ECS_STATE;
321 0096 350b0070 mov _TSLState,#11
322 ; 301 break;
324 009a 2013 jra L56
325 009c L74:
326 ; 304 case TSL_ECS_STATE:
326 ; 305 TSL_ECS();
328 009c cd0000 call _TSL_ECS
330 ; 306 TSL_GlobalSetting.whole = TSL_TempGlobalSetting.whole;
332 009f be06 ldw x,_TSL_TempGlobalSetting
333 00a1 bf6e ldw _TSL_GlobalSetting,x
334 ; 307 TSL_TempGlobalSetting.whole = 0;
336 00a3 5f clrw x
337 00a4 bf06 ldw _TSL_TempGlobalSetting,x
338 ; 308 TSL_GlobalState.whole = TSL_TempGlobalState.whole;
340 00a6 45056d mov _TSL_GlobalState,_TSL_TempGlobalState
341 ; 309 TSL_TempGlobalState.whole = 0;
343 00a9 3f05 clr _TSL_TempGlobalState
344 ; 310 TSLState = TSL_IDLE_STATE;
346 00ab 35010070 mov _TSLState,#1
347 ; 311 break;
349 00af L56:
350 ; 319 }
353 00af 81 ret
1435 xref _TSL_ECS
1436 switch .ubsct
1437 0000 _ECSTempoPrescaler:
1438 0000 00 ds.b 1
1439 xdef _ECSTempoPrescaler
1440 0001 _ECSTempoCounter:
1441 0001 00 ds.b 1
1442 xdef _ECSTempoCounter
1443 0002 _ECSTimeStepCounter:
1444 0002 00 ds.b 1
1445 xdef _ECSTimeStepCounter
1446 0003 _Local_TickFlag:
1447 0003 00 ds.b 1
1448 xdef _Local_TickFlag
1449 0004 _Local_TickECS10ms:
1450 0004 00 ds.b 1
1451 xdef _Local_TickECS10ms
1452 0005 _TSL_TempGlobalState:
1453 0005 00 ds.b 1
1454 xdef _TSL_TempGlobalState
1455 0006 _TSL_TempGlobalSetting:
1456 0006 0000 ds.b 2
1457 xdef _TSL_TempGlobalSetting
1458 0008 _Delta3:
1459 0008 0000 ds.b 2
1460 xdef _Delta3
1461 000a _Delta2:
1462 000a 0000 ds.b 2
1463 xdef _Delta2
1464 000c _Delta1:
1465 000c 0000 ds.b 2
1466 xdef _Delta1
1467 000e _Delta:
1468 000e 0000 ds.b 2
1469 xdef _Delta
1470 0010 _ChannelIndex:
1471 0010 00 ds.b 1
1472 xdef _ChannelIndex
1473 0011 _KeyIndex:
1474 0011 00 ds.b 1
1475 xdef _KeyIndex
1476 xref _TSL_IO_Init
1477 xref _TSL_MCKey_Process
1478 xref _TSL_MCKey1_Acquisition
1479 xref _TSL_MCKey_Init
1480 xref _TSL_SCKey_Process
1481 xref _TSL_SCKEY_P1_Acquisition
1482 xref _TSL_SCKey_Init
1483 xdef _TSL_Action
1484 xdef _TSL_Init
1485 0012 _sMCKeyInfo:
1486 0012 000000000000 ds.b 48
1487 xdef _sMCKeyInfo
1488 0042 _pMCKeyStruct:
1489 0042 0000 ds.b 2
1490 xdef _pMCKeyStruct
1491 0044 _IT_Sync_Flags:
1492 0044 00 ds.b 1
1493 xdef _IT_Sync_Flags
1494 0045 _ECS_K_Slow:
1495 0045 00 ds.b 1
1496 xdef _ECS_K_Slow
1497 0046 _ECS_K_Fast:
1498 0046 00 ds.b 1
1499 xdef _ECS_K_Fast
1500 0047 _ECSTemporization:
1501 0047 00 ds.b 1
1502 xdef _ECSTemporization
1503 0048 _ECSTimeStep:
1504 0048 00 ds.b 1
1505 xdef _ECSTimeStep
1506 0049 _RecalibrationIntegrator:
1507 0049 00 ds.b 1
1508 xdef _RecalibrationIntegrator
1509 004a _EndDetectionIntegrator:
1510 004a 00 ds.b 1
1511 xdef _EndDetectionIntegrator
1512 004b _DetectionIntegrator:
1513 004b 00 ds.b 1
1514 xdef _DetectionIntegrator
1515 004c _DetectionTimeout:
1516 004c 00 ds.b 1
1517 xdef _DetectionTimeout
1518 004d _sSCKeyInfo:
1519 004d 000000000000 ds.b 30
1520 xdef _sSCKeyInfo
1521 006b _pKeyStruct:
1522 006b 0000 ds.b 2
1523 xdef _pKeyStruct
1524 006d _TSL_GlobalState:
1525 006d 00 ds.b 1
1526 xdef _TSL_GlobalState
1527 006e _TSL_GlobalSetting:
1528 006e 0000 ds.b 2
1529 xdef _TSL_GlobalSetting
1530 0070 _TSLState:
1531 0070 00 ds.b 1
1532 xdef _TSLState
1533 xref _TSL_Timer_Init
1534 xref.b _TSL_Tick_Flags
1554 end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -