📄 irfunc.lst
字号:
C51 COMPILER V8.01 IRFUNC 11/28/2006 08:08:07 PAGE 1
C51 COMPILER V8.01, COMPILATION OF MODULE IRFUNC
OBJECT MODULE PLACED IN ..\..\1out\IrFunc.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\..\msFunc\IrFunc.c BROWSE INCDIR(..\..\inc;..\..\mslib;..\..\Device;..\.
-.\kernal;..\..\msFunc;..\..\pc;..\..\tv) DEBUG OBJECTEXTEND PRINT(..\..\1out\IrFunc.lst) OBJECT(..\..\1out\IrFunc.obj)
line level source
1 /******************************************************************************
2 Copyright (c) 2003 MStar Semiconductor, Inc.
3 All rights reserved.
4
5 [Module Name]: IrFunc.c
6 [Date]: 05-Feb-2004
7 [Comment]:
8 Remote control function routines.
9 [Reversion History]:
10 *******************************************************************************/
11
12 #define _IRFUNC_C_
13
14 #include <intrins.h>
15 #include "types.h"
16 #include "keypaddef.h"
17 #include "global.h"
18 #include "ir.h"
19 #include "UserPref.h"
20 #include "menu.h"
21 #include "irfunc.h"
22 #include "msosd.h"
23 #include "tv.h"
24 #include "debug.h"
25 #include "power.h"
26 /*
27 BYTE IRKeyToNumber( BYTE ucCode )
28 {
29 switch( ucCode )
30 {
31 case IRKEY_0: return 0;
32 case IRKEY_1: return 1;
33 case IRKEY_2: return 2;
34 case IRKEY_3: return 3;
35 case IRKEY_4: return 4;
36 case IRKEY_5: return 5;
37 case IRKEY_6: return 6;
38 case IRKEY_7: return 7;
39 case IRKEY_8: return 8;
40 case IRKEY_9: return 9;
41 }
42 return 0xFF;
43 }
44 */
45
46 void irDecodeCommand(void)
47 {
48 1 BYTE ucRepeatFlag = 0;
49 1 BYTE ucirkeypad = 0xFF;
50 1
51 1 if (!_testbit_(g_bIrDetect))
52 1 return ;
53 1
54 1 #if (IR_FORMAT == IR_RC5 )
C51 COMPILER V8.01 IRFUNC 11/28/2006 08:08:07 PAGE 2
if(!g_bIrCommand)
return;
#endif
58 1
59 1 // ucTmp = IRKeyToNumber( g_ucIrCode );
60 1 switch (g_ucIrCode)
61 1 {
62 2 case IRKEY_0:
63 2 ucirkeypad=KEY_IR_0;
64 2 break;
65 2 case IRKEY_1:
66 2 ucirkeypad=KEY_IR_1;
67 2 break;
68 2 case IRKEY_2:
69 2 ucirkeypad=KEY_IR_2;
70 2 break;
71 2 case IRKEY_3:
72 2 ucirkeypad=KEY_IR_3;
73 2 break;
74 2 case IRKEY_4:
75 2 ucirkeypad=KEY_IR_4;
76 2 break;
77 2 case IRKEY_5:
78 2 ucirkeypad=KEY_IR_5;
79 2 break;
80 2 case IRKEY_6:
81 2 ucirkeypad=KEY_IR_6;
82 2 break;
83 2 case IRKEY_7:
84 2 ucirkeypad=KEY_IR_7;
85 2 break;
86 2 case IRKEY_8:
87 2 ucirkeypad=KEY_IR_8;
88 2 break;
89 2 case IRKEY_9:
90 2 ucirkeypad=KEY_IR_9;
91 2 break;
92 2
93 2 case IRKEY_100:
94 2 ucirkeypad=KEY_IR_100;
95 2 break;
96 2
97 2 case IRKEY_OSD_MENU:
98 2 ucirkeypad=KEY_MENU;
99 2 ucRepeatFlag=_BIT0;
100 2 break;
101 2 case IRKEY_OSD_LEFT:
102 2 ucirkeypad=KEY_LEFT;
103 2 ucRepeatFlag=_BIT0;
104 2 break;
105 2 case IRKEY_OSD_RIGHT:
106 2 ucirkeypad=KEY_RIGHT;
107 2 ucRepeatFlag=_BIT0;
108 2 break;
109 2 case IRKEY_OSD_UP:
110 2 ucirkeypad=KEY_UP;
111 2 ucRepeatFlag=_BIT0;
112 2 break;
113 2 case IRKEY_OSD_DOWM:
114 2 ucirkeypad=KEY_DOWN;
115 2 ucRepeatFlag=_BIT0;
116 2 break;
C51 COMPILER V8.01 IRFUNC 11/28/2006 08:08:07 PAGE 3
117 2 case IRKEY_POWER:
118 2 ucirkeypad=KEY_PORT;
119 2 ucRepeatFlag=_BIT0;
120 2 break;
121 2 case IRKEY_DISPLAY:
122 2 ucirkeypad=KEY_IR_ShowINFO;
123 2 ucRepeatFlag=_BIT0;
124 2 break;
125 2 case IRKEY_MUTE:
126 2 ucirkeypad=KEY_IR_MUTE;
127 2 ucRepeatFlag=_BIT0;
128 2 break;
129 2
130 2 #if CALENDAR_ENABLE
case IRKEY_CALENDAR:
ucirkeypad=KEY_IR_CALENDAR;
ucRepeatFlag=_BIT0;
break;
#endif
136 2
137 2 #if GAME_ENABLE
case IRKEY_GAME:
ucirkeypad=KEY_IR_GAME;
ucRepeatFlag=_BIT0;
break;
#endif
143 2
144 2 } // End of switch
145 1
146 1 if(g_bIrRepeat)
147 1 {
148 2 EventRepeatProcess(ucirkeypad, 2);
149 2 }
150 1 else
151 1 {
152 2 EventProcess(ucirkeypad);
153 2 }
154 1
155 1 if(ucRepeatFlag&_BIT0)
156 1 {
157 2 irDecodeRepaeat(IR_DELAY_TIME0);
158 2 }
159 1 else if(ucRepeatFlag&_BIT1)
160 1 {
161 2 irDecodeRepaeat(IR_DELAY_TIME1);
162 2 }
163 1 else
164 1 {
165 2 irDecodeEnd();
166 2 }
167 1 }
168
169 /////////////////////////////////////////////////////
170 #if TV_ENABLE
171 void irDecodeNumKey(void)
172 {
173 1 if (_testbit_(g_bIrKeyNumEnd))
174 1 {
175 2 //printf("\r\n g_bIrKeyNumEnd = %x", g_bIrKeyNumEnd);
176 2 if (IsTVInUse()) // TV only
177 2 {
178 3 Osd_Hide();
C51 COMPILER V8.01 IRFUNC 11/28/2006 08:08:07 PAGE 4
179 3 Power_TurnOffPanel();
180 3 Set_InputTimingChangeFlag();
181 3 Set_ShowSourceFlag();
182 3 TV_SelectChannel( g_ucIrNumKey );
183 3 }
184 2 else // clear key flag
185 2 {
186 3 g_bIrNumKeyStart = 0;
187 3 g_bIrKeyNumEnd = 0;
188 3 g_bIr100Key = 0;
189 3 ResetOsdTimer();
190 3 }
191 2 } // if IR key end
192 1 }
193 #endif
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 260 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 2
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -