source: svn/newcon3bcm2_21bu/dst/app/src/kview/Proc/App_Proc_SetupWizard.c

Last change on this file was 76, checked in by megakiss, 10 years ago

1W 대기전력을 만족시키기 위하여 POWEROFF시 튜너를 Standby 상태로 함

  • Property svn:executable set to *
File size: 8.5 KB
Line 
1
2//setup wizard...
3// CB2ÀÇ setup wizard¿Í µ¿ÀÏÇÏ°Ô ¸¸µê.
4
5
6
7#include "App_Main.h"
8
9#include "App_OSD_Common.h"
10#include "App_OSD_Main.h"
11
12#include "App_OSD_SetupWizard.h"
13
14#include "App_Fnc_Ucm.h"
15#include "App_Fnc_AutoScan.h"
16
17#include "App_Res_Resources.h"
18
19DHL_MODULE("@p_sw", 0);
20
21
22/* page 2 mode¿¡ ´ëÇØ
23        0 : ä³Î °Ë»ö ½ÃÀÛ Ã¹ ½Ãµµ
24        1 : ä³Î °Ë»ö Áß Ã¹ ½Ãµµ
25        2 : ä³Î °Ë»ö ½ÃÀÛ Ã¹ ½Ãµµ ¾Æ´Ô
26        3 : ä³Î °Ë»ö Áß Ã¹ ½Ãµµ°¡ ¾Æ´Ô
27*/
28
29static void AddChannel(int nRF, int nMajor, int nMinor, char* strName)
30{
31        int i = 0;
32        int idx = DMW_CDB_MakeNewUcm(nMajor, nMinor, nRF, TRUE , Modulation_8VSB);
33        if (idx < 0) return;
34        AppO_AddScanCh(nRF, nMajor, nMinor);
35        g_UCM[idx].Skipped = 0;
36        for (i = 0; i < strlen(strName); i++) g_UCM[idx].ShortName[i] = (UINT16)strName[i];
37}
38
39BOOL App_Proc_SetupWizard(tDMG_CMD cmd, UINT32 opt, UINT32 param1, UINT32 param2)
40{
41        BOOL bret=TRUE;
42        tDMG_Menu *pmenu;
43        static int num_page=0;
44        static int language;
45        static int scan_status;
46        static int time_zone_param;
47        static int time_zone;
48        static BOOL dst=TRUE;
49        static BOOL is_ch_empty;
50        static BOOL bfirst=TRUE;
51       
52        switch(cmd) 
53        {
54                case eDMG_CMD_ON_MENU_ACTIVE :
55                        num_page=0;
56                        scan_status=0;
57                        language=App_NVM_GetMenuLang();
58                        time_zone=App_GetTimeZone()-2;
59                        dst = App_GetDayLightSaving();
60                        bfirst=TRUE;
61                       
62                        //if(time_zone<0) time_zone=0;
63                        //if(time_zone>2) time_zone=0;
64                        time_zone_param = time_zone;
65                        if(dst==FALSE) time_zone_param++;
66                        if(time_zone_param<0) time_zone_param = 0;
67                        if(time_zone_param>3) time_zone_param = 0;
68                       
69                        is_ch_empty=App_Ucm_GetChannelNum(TRUE)?FALSE:TRUE;
70                        scan_status=0;
71                       
72                        AppO_DrawSetupWizard(num_page, language);
73                        App_Autoscan_SetSTTCheck(TRUE);
74                        break;
75                       
76                case eDMG_CMD_ON_MENU_EXIT :
77                case eDMG_CMD_ON_MENU_INACTIVE :
78                        AppO_EraseSetupWizard();
79                        App_Autoscan_SetSTTCheck(FALSE);
80                        break;
81
82                case eDMG_CMD_ON_TIME : //autoscan Á¤º¸¸¦ È­¸é¿¡ º¸¿©ÁÙ ¶§ ÇÊ¿äÇÔ.
83
84                        if(param1==TIMER_ID_L1) {
85                                if(num_page==2 && scan_status==1) {
86                                        if(!App_Autoscan_CheckAutoscanOnGoing()) {
87                                                scan_status=2;
88                                        }
89                                }
90                        }
91                        else
92                                bret=FALSE;
93                        break;
94
95                case eDMG_CMD_ON_USER_DEFINED :
96
97                        if(opt==UD_ID_SCAN_PROGRESS) {
98                                if(num_page==2 && scan_status==1) {
99                                        if(param2==1) { //scanÀÌ Á¾·áµÊ
100                                                scan_status=2;
101                                                AppO_DrawSetupWizard(num_page, scan_status);
102                                        }
103                                        else {
104                                                AppO_UpdateCurScanRf(DMG_HIWORD(param1));
105                                                AppO_DrawSetupWizard(num_page, scan_status);
106                                        }
107                                }
108                        }
109                        else if(opt==UD_ID_SCAN_UPDATE_CH) {
110                                AppO_AddScanCh(param1, DMG_HIWORD(param2), DMG_LOWORD(param2));
111                               
112                                if(num_page==2 && scan_status==1) {
113                                        AppO_DrawSetupWizard(num_page, scan_status);
114                                }
115                        }
116                        else
117                                bret=FALSE;
118                       
119                        break;
120                       
121                case eDMG_CMD_ON_KEY :
122                       
123                        if(param2==APP_VK_POWER_OFF) { //Power Ű´Â ¹Ì¸® ó¸®ÇÔ.
124                                bret=FALSE;
125                                break;
126                        }
127                       
128                        switch(num_page) {
129                               
130                                case 0: //½ÃÀÛ, ¾ð¾î ¼³Á¤
131                                       
132                                        switch(param2) {
133                                               
134                                                case APP_VK_RIGHT :
135                                                        num_page=1;
136                                                        AppO_DrawSetupWizard(num_page, 0);
137                                                        break;
138                                                       
139                                                case APP_VK_UP:
140                                                case APP_VK_DOWN:
141                                                        language=1-language;
142                                                        App_NVM_SetMenuLang(language);
143                                                        DMG_SetLanguage(language);
144                                                       
145                                                        AppO_DrawSetupWizard(num_page, language);
146                                                        break;
147                                        }
148                                       
149                                        break;
150                                       
151                                case 1: //¾ÈÅ׳ª ¿¬°á
152                                       
153                                        switch(param2) {
154                                               
155                                                case APP_VK_LEFT :
156                                                        num_page=0;
157                                                        AppO_DrawSetupWizard(num_page, language);
158                                                        break;
159                                                       
160                                                case APP_VK_RIGHT :
161                                                        num_page=2;
162                                                        if (scan_status == 0) // 2012.10.16 megakiss initial scan data
163                                                        {
164                                                                DMW_MSC_LockUcm();
165                                                                AddChannel(46,3,1,"XHTJB");
166                                                                AddChannel(23,6,1,"XETV-HD");
167                                                                AddChannel(23,6,2,"XHGC-SD");
168                                                                AddChannel(32,12,1,"XEWT");
169                                                                AddChannel(28,28,1,"XHJK 28");
170                                                                AddChannel(29,29,1,"XHTIT 2");
171                                                                AddChannel(34,33,1,"TELEMU");
172                                                                AddChannel(34,33,2,"LATV");
173                                                                AddChannel(47,49,1,"XHDTV");
174                                                                AddChannel(47,49,2,"MUNDO F");
175                                                                AddChannel(22,57,1,"XHUAA");
176                                                                AddChannel(22,57,2,"XEQ");
177                                                                DMW_MSC_UnlockUcm();
178                                                                scan_status = 2;
179                                                                is_ch_empty = FALSE;
180                                                        }
181                                                        AppO_UpdateCurScanRf(0);
182                                                        AppO_DrawSetupWizard(num_page, scan_status);
183                                                        break;
184                                               
185                                        }
186                                        break;
187                                       
188                                case 2: //ä³Î °Ë»ö scanÀº status¿¡ µû¶ó¼­ 󸮸¦ ´Þ¸® ÇØ¾ß ÇÔ.
189
190                                        switch(scan_status) {
191                                               
192                                                case 0 : //prev, ok¸¸ °¡´ÉÇÔ.
193                                                       
194                                                        switch(param2) {
195                                                                case APP_VK_LEFT :
196                                                                        num_page=1;
197                                                                        AppO_DrawSetupWizard(num_page, 0);
198                                                                        break;
199                                                                       
200                                                                case APP_VK_SELECT:
201                                                                        //scan ½ÃÀÛ.
202                                                                        scan_status=1;
203                                                                        AppO_InitScanCh();
204                                                                        AppO_DrawSetupWizard(num_page, scan_status);
205                                                                       
206                                                                        App_AutoScan_StartScan(2, 51, 1); //scan ½ÃÀÛ. addon ¸ðµå
207                                                                       
208                                                                        DMG_SetTimer(TIMER_ID_L1, 1000, eDMG_CMD_OPT_TIMER_LOCAL1);
209                                                                       
210                                                                        break;
211                                                               
212                                                                case APP_VK_RIGHT:
213                                                                        if(is_ch_empty) break;
214                                                                       
215                                                                        num_page++;
216                                                                       
217                                                                        AppO_DrawSetupWizard(num_page, time_zone_param); 
218                                                                        break;
219                                                        }
220                                                        break;
221                                                       
222                                                case 1 : //scanÀÌ ³¡³¯ ¶§±îÁö ¾Æ¹« ۵µ ¸ÔÀ¸¸é ¾ÈµÊ.
223                                                        if(is_ch_empty && bfirst) break;
224                                                               
225                                                        switch(param2) {
226                                                                case APP_VK_SELECT:
227                                                                        //scan ÁßÁö
228                                                                        DMW_ASC_StopScan(TRUE);
229                                                                       
230                                                                        scan_status=2;
231                                                                        AppO_DrawSetupWizard(num_page, scan_status);
232                                                                        break;
233                                                        }
234                                                        break;
235                                               
236                                                case 2: //prev, ok, next
237                                                        switch(param2) {
238                                                                case APP_VK_LEFT :
239                                                                        num_page=1;
240                                                                        AppO_DrawSetupWizard(num_page, 0);
241                                                                        break;
242                                                               
243                                                                case APP_VK_RIGHT :
244                                                                        num_page=3;
245                                                                        AppO_DrawSetupWizard(num_page, time_zone_param);
246                                                                        break;
247                                                                       
248                                                                case APP_VK_SELECT:
249                                                                        //scan ½ÃÀÛ.
250                                                                        bfirst=FALSE;
251                                                                        scan_status=1;
252                                                                        AppO_InitScanCh();
253                                                                        AppO_DrawSetupWizard(num_page, scan_status);
254                                                                        App_AutoScan_StartScan(2, 51, 1); //scan ½ÃÀÛ. addon ¸ðµå
255                                                                        break;
256                                                        }
257                                                        break;
258                                        }
259                                        break;
260                                       
261                                case 3: //time zone ¼³Á¤
262                                        switch(param2) {
263                                               
264                                                case APP_VK_LEFT :
265                                                        num_page=2;
266                                                        AppO_UpdateCurScanRf(0);
267                                                        AppO_DrawSetupWizard(num_page, scan_status);
268                                                        break;
269                                                       
270                                                case APP_VK_RIGHT :
271                                                        num_page=4;
272                                                        AppO_DrawSetupWizard(num_page, 0);
273                                                        break;
274                                               
275                                                case APP_VK_UP:
276                                                        //if(--time_zone<0) time_zone=2;
277                                                        if(--time_zone_param<0) time_zone_param=3;
278                                                        if(time_zone_param==2) time_zone = 1;
279                                                        else if(time_zone_param==3) time_zone = 2;
280                                                        else time_zone = time_zone_param;
281                                                        App_SetTimeZone(time_zone+2, TRUE);
282                                                        App_SetDayLightSaving( (time_zone_param==2) ? FALSE : TRUE, TRUE);
283                                                        AppO_DrawSetupWizard(num_page, time_zone_param);
284                                                       
285                                                        break;
286                                               
287                                                case APP_VK_DOWN:
288                                                        //if(++time_zone>2) time_zone=0;
289                                                        if(++time_zone_param>3) time_zone_param=0;
290                                                        if(time_zone_param==2) time_zone = 1;
291                                                        else if(time_zone_param==3) time_zone = 2;
292                                                        else time_zone = time_zone_param;
293                                                        App_SetTimeZone(time_zone+2, TRUE);
294                                                        App_SetDayLightSaving( (time_zone_param==2) ? FALSE : TRUE, TRUE);
295                                                        AppO_DrawSetupWizard(num_page, time_zone_param);
296                                                       
297                                                        break;
298                                        }
299                                        break;
300                                       
301                                case 4: //¸¶Ä§
302                                        switch(param2) {
303                                               
304                                                case APP_VK_LEFT :
305                                                        num_page=3;
306                                                        AppO_DrawSetupWizard(num_page, time_zone_param);
307                                                        break;
308                                               
309                                                case APP_VK_SELECT:
310                                                        //¼³Á¤ ¸¶¹ý»ç Á¾·á
311                                                        DMG_MenuExit(MID_SETUP_WIZARD);
312                                                       
313                                                        DMG_MenuStart(MID_IDLE);
314                                                       
315                                                        App_Autoscan_RecoverLastChannel();
316                                                       
317                                                        if(DCC_IsReady()) { //CC also must be started!!
318                                                                DMG_MenuStart(MID_CC);
319                                                        }
320                                                       
321                                                        App_NVM_SetShowSetupWizard(FALSE);
322                                                        break;
323                                        }
324                                        break;
325                        }
326                       
327                        if(param2==APP_VK_ENTER_FACTORY_TEST || param2==APP_VK_ENTER_RFUPDATE ||
328                                param2==APP_VK_FACTORY_RESET) { 
329                                bret=FALSE;//FACTORY ¸ðµå °ü·Ã Ű´Â IDLE proc¿¡¼­ ó¸®ÇÔ
330                        }
331                       
332                        break;
333                       
334                default :
335                        bret=FALSE;
336                        break;
337       
338        }
339       
340        if(!bret) 
341                bret=App_Proc_Idle(cmd, opt, param1, param2);
342       
343        DMG_AutoRefresh();
344       
345        return bret;
346}
347
348
349void App_Menu_CreateSetupWizard()
350{
351        if(DMG_GetMenu(MID_SETUP_WIZARD)) {
352                return;
353        }
354       
355        DMG_CreateMenu(MID_SETUP_WIZARD_CFG);
356}
Note: See TracBrowser for help on using the repository browser.