📄 mc_user_interface.ls
字号:
1 ; C Compiler for STM8 (COSMIC Software)
2 ; Parser V4.9.10 - 10 Feb 2011
3 ; Generator (Limited) V4.3.6 - 15 Feb 2011
4 ; Optimizer V4.3.5 - 15 Feb 2011
19 .const: section .text
20 0000 _HW_Error_Message:
21 0000 20 dc.b 32
22 0001 4f dc.b 79
23 0002 56 dc.b 86
24 0003 45 dc.b 69
25 0004 52 dc.b 82
26 0005 20 dc.b 32
27 0006 56 dc.b 86
28 0007 4f dc.b 79
29 0008 4c dc.b 76
30 0009 54 dc.b 84
31 000a 41 dc.b 65
32 000b 47 dc.b 71
33 000c 45 dc.b 69
34 000d 20 dc.b 32
35 000e 20 dc.b 32
36 000f 20 dc.b 32
37 0010 55 dc.b 85
38 0011 4e dc.b 78
39 0012 44 dc.b 68
40 0013 45 dc.b 69
41 0014 52 dc.b 82
42 0015 20 dc.b 32
43 0016 56 dc.b 86
44 0017 4f dc.b 79
45 0018 4c dc.b 76
46 0019 54 dc.b 84
47 001a 41 dc.b 65
48 001b 47 dc.b 71
49 001c 45 dc.b 69
50 001d 20 dc.b 32
51 001e 20 dc.b 32
52 001f 4f dc.b 79
53 0020 56 dc.b 86
54 0021 45 dc.b 69
55 0022 52 dc.b 82
56 0023 20 dc.b 32
57 0024 43 dc.b 67
58 0025 55 dc.b 85
59 0026 52 dc.b 82
60 0027 52 dc.b 82
61 0028 45 dc.b 69
62 0029 4e dc.b 78
63 002a 54 dc.b 84
64 002b 20 dc.b 32
65 002c 20 dc.b 32
66 002d 4f dc.b 79
67 002e 56 dc.b 86
68 002f 45 dc.b 69
69 0030 52 dc.b 82
70 0031 54 dc.b 84
71 0032 45 dc.b 69
72 0033 4d dc.b 77
73 0034 50 dc.b 80
74 0035 45 dc.b 69
75 0036 52 dc.b 82
76 0037 41 dc.b 65
77 0038 54 dc.b 84
78 0039 55 dc.b 85
79 003a 52 dc.b 82
80 003b 45 dc.b 69
81 003c _SW_Error_Message:
82 003c 53 dc.b 83
83 003d 54 dc.b 84
84 003e 41 dc.b 65
85 003f 52 dc.b 82
86 0040 54 dc.b 84
87 0041 55 dc.b 85
88 0042 50 dc.b 80
89 0043 20 dc.b 32
90 0044 46 dc.b 70
91 0045 41 dc.b 65
92 0046 49 dc.b 73
93 0047 4c dc.b 76
94 0048 45 dc.b 69
95 0049 44 dc.b 68
96 004a 21 dc.b 33
97 004b 53 dc.b 83
98 004c 50 dc.b 80
99 004d 45 dc.b 69
100 004e 45 dc.b 69
101 004f 44 dc.b 68
102 0050 46 dc.b 70
103 0051 44 dc.b 68
104 0052 42 dc.b 66
105 0053 4b dc.b 75
106 0054 20 dc.b 32
107 0055 45 dc.b 69
108 0056 52 dc.b 82
109 0057 52 dc.b 82
110 0058 4f dc.b 79
111 0059 52 dc.b 82
112 005a 20 dc.b 32
113 005b 20 dc.b 32
114 005c 20 dc.b 32
115 005d 54 dc.b 84
116 005e 49 dc.b 73
117 005f 4d dc.b 77
118 0060 45 dc.b 69
119 0061 5f dc.b 95
120 0062 4f dc.b 79
121 0063 55 dc.b 85
122 0064 54 dc.b 84
123 0065 20 dc.b 32
124 0066 20 dc.b 32
125 0067 20 dc.b 32
126 0068 20 dc.b 32
127 0069 20 dc.b 32
128 006a 4d dc.b 77
129 006b 4f dc.b 79
130 006c 54 dc.b 84
131 006d 4f dc.b 79
132 006e 52 dc.b 82
133 006f 20 dc.b 32
134 0070 52 dc.b 82
135 0071 55 dc.b 85
136 0072 4e dc.b 78
137 0073 4e dc.b 78
138 0074 49 dc.b 73
139 0075 4e dc.b 78
140 0076 47 dc.b 71
141 0077 20 dc.b 32
142 bsct
143 0000 L3_bErrorCode:
144 0000 00 dc.b 0
145 0001 _hHWErrorMask:
146 0001 0000 dc.w 0
386 ; 55 PTab_t UserInterface_GetSelTab(void)
386 ; 56 {
388 switch .text
389 0000 _UserInterface_GetSelTab:
393 ; 57 return g_pUserInterface->pSelTab = &(g_pUserInterface->pTab[g_pUserInterface->bSelected_Tab]); // Get the Selectercd tab pointer
395 0000 be05 ldw x,_g_pUserInterface
396 0002 e601 ld a,(1,x)
397 0004 97 ld xl,a
398 0005 a603 ld a,#3
399 0007 90be05 ldw y,_g_pUserInterface
400 000a 42 mul x,a
401 000b 90ee07 ldw y,(7,y)
402 000e 90bf00 ldw c_x,y
403 0011 90be05 ldw y,_g_pUserInterface
404 0014 72bb0000 addw x,c_x
405 0018 90ef02 ldw (2,y),x
408 001b 81 ret
482 ; 72 void UserInterface_GetErrorMsg(PUserInterfaceErrorMsg_t pUIErrMsg)
482 ; 73 {
483 switch .text
484 001c _UserInterface_GetErrorMsg:
486 001c 89 pushw x
487 00000000 OFST: set 0
490 ; 74 if (vtimer_TimerElapsed(VTIM_USER_INTERFACE_REFRESH))
492 001d a603 ld a,#3
493 001f cd0000 call _vtimer_TimerElapsed
495 0022 4d tnz a
496 0023 2603cc00b0 jreq L502
497 ; 76 if (hHWErrorMask == 0)
499 0028 be01 ldw x,_hHWErrorMask
500 002a 2630 jrne L702
501 ; 79 if (bErrorCode != NO_FAULT)
503 002c b600 ld a,L3_bErrorCode
504 002e 2723 jreq L112
505 ; 81 pUIErrMsg->pErrorStatus = "FAULT OCCURRED";
507 0030 1e01 ldw x,(OFST+1,sp)
508 0032 90ae0088 ldw y,#L312
509 0036 ff ldw (x),y
510 ; 82 pUIErrMsg->pErrorMsg = SW_Error_Message[bErrorCode - 1];
512 0037 97 ld xl,a
513 0038 a60f ld a,#15
514 003a 42 mul x,a
515 003b 1d000f subw x,#15
516 003e 1601 ldw y,(OFST+1,sp)
517 0040 1c003c addw x,#_SW_Error_Message
518 0043 90ef02 ldw (2,y),x
519 ; 83 vtimer_SetTimer(VTIM_USER_INTERFACE_REFRESH,1000,0);
521 0046 5f clrw x
522 0047 89 pushw x
523 0048 ae03e8 ldw x,#1000
524 004b 89 pushw x
525 004c a603 ld a,#3
526 004e cd0000 call _vtimer_SetTimer
528 0051 5b04 addw sp,#4
529 0053 L112:
530 ; 85 hHWErrorMask = 1;
532 0053 ae0001 ldw x,#1
533 0056 bf01 ldw _hHWErrorMask,x
534 ; 86 bHWErrorIndex = 0;
536 0058 3f00 clr _bHWErrorIndex
538 005a 2054 jra L502
539 005c L702:
540 ; 91 if ((*pHWerrorOccurred_reg & hHWErrorMask) != 0)
542 005c 92ce03 ldw x,[L5_pHWerrorOccurred_reg.w]
543 005f 01 rrwa x,a
544 0060 b402 and a,_hHWErrorMask+1
545 0062 01 rrwa x,a
546 0063 b401 and a,_hHWErrorMask
547 0065 01 rrwa x,a
548 0066 5d tnzw x
549 0067 2737 jreq L712
550 ; 93 if ((*pHWerrorActual_reg & hHWErrorMask) != 0)
552 0069 92ce01 ldw x,[L7_pHWerrorActual_reg.w]
553 006c 01 rrwa x,a
554 006d b402 and a,_hHWErrorMask+1
555 006f 01 rrwa x,a
556 0070 b401 and a,_hHWErrorMask
557 0072 01 rrwa x,a
558 0073 5d tnzw x
559 0074 2708 jreq L122
560 ; 95 pUIErrMsg->pErrorStatus = "FAULT CONDITION";
562 0076 1e01 ldw x,(OFST+1,sp)
563 0078 90ae0078 ldw y,#L322
565 007c 2006 jra L522
566 007e L122:
567 ; 99 pUIErrMsg->pErrorStatus = "FAULT OCCURRED";
569 007e 1e01 ldw x,(OFST+1,sp)
570 0080 90ae0088 ldw y,#L312
571 0084 L522:
572 0084 ff ldw (x),y
573 ; 101 pUIErrMsg->pErrorMsg = HW_Error_Message[bHWErrorIndex];
575 0085 b600 ld a,_bHWErrorIndex
576 0087 97 ld xl,a
577 0088 a60f ld a,#15
578 008a 42 mul x,a
579 008b 1601 ldw y,(OFST+1,sp)
580 008d 1c0000 addw x,#_HW_Error_Message
581 0090 90ef02 ldw (2,y),x
582 ; 102 vtimer_SetTimer(VTIM_USER_INTERFACE_REFRESH,1000,0);
584 0093 5f clrw x
585 0094 89 pushw x
586 0095 ae03e8 ldw x,#1000
587 0098 89 pushw x
588 0099 a603 ld a,#3
589 009b cd0000 call _vtimer_SetTimer
591 009e 5b04 addw sp,#4
592 00a0 L712:
593 ; 104 hHWErrorMask <<= 1;
595 00a0 3802 sll _hHWErrorMask+1
596 00a2 3901 rlc _hHWErrorMask
597 ; 105 bHWErrorIndex++;
599 00a4 3c00 inc _bHWErrorIndex
600 ; 106 if (hHWErrorMask == HW_ERROR_NUM_MASK)
602 00a6 be01 ldw x,_hHWErrorMask
603 00a8 a30010 cpw x,#16
604 00ab 2603 jrne L502
605 ; 108 hHWErrorMask = 0;
607 00ad 5f clrw x
608 00ae bf01 ldw _hHWErrorMask,x
609 00b0 L502:
610 ; 113 }
613 00b0 85 popw x
614 00b1 81 ret
1023 ; 115 void UserInterface_Init(pvdev_device_t pdevice,PUserInterface_t pUserInterface)
1023 ; 116 {
1024 switch .text
1025 00b2 _UserInterface_Init:
1027 00b2 89 pushw x
1028 00000000 OFST: set 0
1031 ; 117 g_pUserInterface = pUserInterface;
1033 00b3 1e05 ldw x,(OFST+5,sp)
1034 00b5 bf05 ldw _g_pUserInterface,x
1035 ; 118 g_pUserInterface->bSelected_Tab = 0; //Reset Selected Tab
1037 ; 119 g_pUserInterface->pSelTab = &(g_pUserInterface->pTab[0]); // Set the Selectercd tab (0) pointer
1039 00b7 9093 ldw y,x
1040 00b9 6f01 clr (1,x)
1041 00bb 90ee07 ldw y,(7,y)
1042 00be ef02 ldw (2,x),y
1043 ; 121 g_pUserInterface->bField_Edit = g_pUserInterface->pSelTab->bFieldsNumber; // No field is in edit mode
1045 00c0 ee02 ldw x,(2,x)
1046 00c2 f6 ld a,(x)
1047 00c3 be05 ldw x,_g_pUserInterface
1048 00c5 e705 ld (5,x),a
1049 ; 122 UserInterface_ResetFocus();
1051 00c7 ad14 call _UserInterface_ResetFocus
1053 ; 124 pHWerrorOccurred_reg = (pdevice->regs.r16+VDEV_REG16_HW_ERROR_OCCURRED);
1055 00c9 1e01 ldw x,(OFST+1,sp)
1056 00cb ee02 ldw x,(2,x)
1057 00cd 1c0010 addw x,#16
1058 00d0 bf03 ldw L5_pHWerrorOccurred_reg,x
1059 ; 125 pHWerrorActual_reg = (pdevice->regs.r16+VDEV_REG16_HW_ERROR_ACTUAL);
1061 00d2 1e01 ldw x,(OFST+1,sp)
1062 00d4 ee02 ldw x,(2,x)
1063 00d6 1c0012 addw x,#18
1064 00d9 bf01 ldw L7_pHWerrorActual_reg,x
1065 ; 126 }
1068 00db 85 popw x
1069 00dc 81 ret
1105 ; 128 void UserInterface_ResetFocus(void)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -