static PRESULT factoryset_btn_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; //PRESULT ret = PROC_LEAVE; VACTION unact; UINT8 bID,back_saved; win_popup_choice_t choice; UINT32 chunk_id, default_db_addr, default_db_len; bID = OSD_GetObjID(pObj); switch(event) { case EVN_UNKNOWN_ACTION: unact = (VACTION)(param1>>16); if(unact == VACT_ENTER) { ret = PROC_LEAVE; if(bID == BTN_NO_ID) { break; } //win_compopup_init(WIN_POPUP_TYPE_OKNO); //win_compopup_set_msg(NULL, NULL, RS_DISPLAY_SURE_TO_DELETE); //win_compopup_set_default_choice(WIN_POP_CHOICE_NO); //choice = win_compopup_open_ext(&back_saved); //if(choice == WIN_POP_CHOICE_YES) { win_compopup_init(WIN_POPUP_TYPE_SMSG); win_compopup_set_msg(NULL,NULL, RS_MSG_SAVING_DATA); win_compopup_open_ext(&back_saved); chunk_id = 0x03FC0100; api_get_chuck_addlen(chunk_id, &default_db_addr, &default_db_len); set_default_value(DEFAULT_ALL_PROG,default_db_addr + 16); sys_data_factroy_init(); //sys_data_set_factory_reset(TRUE); sys_data_set_cur_chan_mode(TV_CHAN); sys_data_save(TRUE); sys_data_load(); if(GetMuteState()) SetMuteOnOff(FALSE); if(GetPauseState()) SetPauseOnOff(FALSE); win_compopup_smsg_restoreback(); // PRESULT ret = PROC_LEAVE; //ap_send_msg(CTRL_MSG_SUBTYPE_CMD_EXIT_ROOT, (UINT32)&g_win_PALNTSC,FALSE); } } break; } return ret; }
static INT32 win_otaupg_reboot(void) { ota_proc_ret = 0; ota_user_stop = 0; //ota_proc_step = OTA_STEP_BURNFLASH; osal_flag_clear(g_ota_flg_id,OTA_FLAG_PTN); key_pan_display("OFF ",4); osal_task_sleep(500); power_off_process(); sys_data_factroy_init(); sys_data_set_factory_reset(TRUE); sys_data_set_cur_chan_mode(TV_CHAN); power_on_process(); while(1) ; }
static PRESULT factoryset_btn_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; VACTION unact; UINT8 bID,back_saved; UINT32 chunk_id, default_db_addr, default_db_len; S_NODE s_node; bID = OSD_GetObjID(pObj); INT16 i,n; UINT8 back_saved1; UINT16 sat_id;//-a by wangyang 2011-11-03 for factory set del sat program win_popup_choice_t choice = WIN_POP_CHOICE_NO; switch(event) { case EVN_UNKNOWN_ACTION: unact = (VACTION)(param1>>16); if(unact == VACT_ENTER) { switch(bID) { case IDC_CON1: win_compopup_init(WIN_POPUP_TYPE_OKNO); win_compopup_set_msg(NULL, NULL, RS_DISPLAY_SURE_TO_DELETE); win_compopup_set_default_choice(WIN_POP_CHOICE_NO); choice = win_compopup_open_ext(&back_saved1); if(choice == WIN_POP_CHOICE_YES) { win_compopup_init(WIN_POPUP_TYPE_SMSG); win_compopup_set_msg(NULL,NULL, RS_MSG_SAVING_DATA); win_compopup_open_ext(&back_saved); chunk_id = 0x03FC0100; api_get_chuck_addlen(chunk_id, &default_db_addr, &default_db_len); set_default_value(DEFAULT_ALL_PROG,default_db_addr + 16); sys_data_factroy_init(); sys_data_set_cur_chan_mode(TV_CHAN); sys_data_save(TRUE); sys_data_load(); if(GetMuteState()) SetMuteOnOff(FALSE); if(GetPauseState()) SetPauseOnOff(FALSE); win_compopup_smsg_restoreback(); #ifdef LOGO_IN_RAM api_show_Test_logo_2(MM_tool3,get_logo_h_file_size(3)); #endif OSD_TrackObject( (POBJECT_HEAD) &g_win_mainmenu, C_UPDATE_ALL); wincom_open_subtitle((POBJECT_HEAD)&win_factoryset_con,RS_TOOLS_FACTORY_SETTING, 0); OSD_TrackObject( (POBJECT_HEAD) &win_factoryset_con, C_UPDATE_ALL); #if defined(ORDER_GZ1010010)||defined(ORDER_GZ1011005)||defined(ORDER_GZ1104005) system_config.tv_scan_mode = 0; #endif // Restart the unit after Factory Default in any case osal_task_sleep(1200); power_off_process(); power_on_process(); } break; case IDC_CON2: win_compopup_init(WIN_POPUP_TYPE_OKNO); win_compopup_set_msg(NULL, NULL, RS_DISPLAY_SURE_TO_DELETE); win_compopup_set_default_choice(WIN_POP_CHOICE_NO); choice = win_compopup_open_ext(&back_saved1); if(choice == WIN_POP_CHOICE_YES) { win_compopup_init(WIN_POPUP_TYPE_SMSG); win_compopup_set_msg(NULL,NULL, RS_MSG_SAVING_DATA); win_compopup_open_ext(&back_saved); osal_task_sleep(1500); si_monitor_off(0xFFFFFFFF); n = get_sat_num(VIEW_ALL); recreate_prog_view(VIEW_ALL | PROG_TV_MODE,0); for(i=0;i<n;i++) { get_sat_at(i, VIEW_ALL,&s_node); del_child_prog(TYPE_SAT_NODE, s_node.sat_id); } update_data(); sys_data_check_channel_groups(); win_compopup_smsg_restoreback(); // Restart the unit after Factory Default in any case osal_task_sleep(1200); power_off_process(); power_on_process(); } break; case IDC_CON3: win_compopup_init(WIN_POPUP_TYPE_OKNO); win_compopup_set_msg(NULL, NULL, RS_DISPLAY_SURE_TO_DELETE); win_compopup_set_default_choice(WIN_POP_CHOICE_NO); choice = win_compopup_open_ext(&back_saved1); if(choice == WIN_POP_CHOICE_YES) { win_compopup_init(WIN_POPUP_TYPE_SMSG); win_compopup_set_msg(NULL,NULL, RS_MSG_SAVING_DATA); win_compopup_open_ext(&back_saved); osal_task_sleep(1500); si_monitor_off(0xFFFFFFFF); n = get_sat_num(VIEW_ALL); recreate_prog_view(VIEW_ALL | PROG_RADIO_MODE,0); for(i=0;i<n;i++) { get_sat_at(i, VIEW_ALL,&s_node); del_child_prog(TYPE_SAT_NODE, s_node.sat_id); } update_data(); sys_data_check_channel_groups(); win_compopup_smsg_restoreback(); // Restart the unit after Factory Default in any case osal_task_sleep(1200); power_off_process(); power_on_process(); } break; case IDC_CON4: win_compopup_init(WIN_POPUP_TYPE_OKNO); win_compopup_set_msg(NULL, NULL, RS_DISPLAY_SURE_TO_DELETE); win_compopup_set_default_choice(WIN_POP_CHOICE_NO); choice = win_compopup_open_ext(&back_saved1); if(choice == WIN_POP_CHOICE_YES) { win_compopup_init(WIN_POPUP_TYPE_SMSG); win_compopup_set_msg(NULL,NULL, RS_MSG_SAVING_DATA); win_compopup_open_ext(&back_saved); sys_data_factroy_init(); sys_data_set_cur_chan_mode(TV_CHAN); sys_data_save(TRUE); sys_data_load(); win_compopup_smsg_restoreback(); #ifdef LOGO_IN_RAM api_show_Test_logo_2(MM_tool3,get_logo_h_file_size(3)); #endif OSD_TrackObject( (POBJECT_HEAD) &g_win_mainmenu, C_UPDATE_ALL); wincom_open_subtitle((POBJECT_HEAD)&win_factoryset_con,RS_TOOLS_FACTORY_SETTING, 0); OSD_TrackObject( (POBJECT_HEAD) &win_factoryset_con, C_UPDATE_ALL); // Restart the unit after Factory Default in any case osal_task_sleep(1200); power_off_process(); power_on_process(); } break; //-a by wangyang 2011-11-03 for factory set del sat program{{ case IDC_CON5: if(OSD_GetMultiselCount(&factoryset_sel5)==0) { win_compopup_init(WIN_POPUP_TYPE_SMSG); win_compopup_set_msg(NULL,NULL, RS_MSG_NO_CHANNELS); win_compopup_open_ext(&back_saved1); osal_task_sleep(1000); win_compopup_smsg_restoreback(); } else { sat_id=OSD_GetMultiselSel(&factoryset_sel5); win_compopup_init(WIN_POPUP_TYPE_OKNO); win_compopup_set_msg(NULL, NULL, RS_DISPLAY_SURE_TO_DELETE); win_compopup_set_default_choice(WIN_POP_CHOICE_NO); choice = win_compopup_open_ext(&back_saved1); if(choice == WIN_POP_CHOICE_YES) { // mm_enter_stop_mode(FALSE); // api_show_menu_logo(); if(api_is_playing_tv() || api_is_playing_radio()) { api_stop_play(1); } win_compopup_init(WIN_POPUP_TYPE_SMSG); win_compopup_set_msg(NULL,NULL, RS_MSG_SAVING_DATA); win_compopup_open_ext(&back_saved); osal_task_sleep(1500); si_monitor_off(0xFFFFFFFF); //n = get_sat_num(VIEW_ALL); recreate_prog_view(VIEW_ALL | PROG_TVRADIO_MODE,0); //for(i=0;i<n;i++) { get_sat_at(sat_id, SET_SELECTED,&s_node); del_child_prog(TYPE_SAT_NODE, s_node.sat_id); } update_data(); sys_data_check_channel_groups(); win_compopup_smsg_restoreback(); // Restart the unit after Factory Default in any case osal_task_sleep(1200); power_off_process(); power_on_process(); } } break; //-a by wangyang 2011-11-03 for factory set del sat program}} default: break; } } break; } return ret; }
static void reset_factory_setting() { UINT8 bID, back_saved; win_popup_choice_t choice; UINT32 chunk_id, default_db_addr, default_db_len; CONTAINER *factory_msg_con; factory_msg_con = &fac_msg_con; TEXT_FIELD *factory_msg_txt; factory_msg_txt = &factoryset_msg; MULTISEL *factory_multisel; factory_multisel = &factory_state; api_stop_play(1); epg_reset(); OSD_SetTextFieldContent(factory_msg_txt, STRING_ID, (UINT32)RS_FACTORY_RESTORING); OSD_DrawObject((POBJECT_HEAD)factory_msg_txt, C_UPDATE_ALL); OSD_DrawObject((POBJECT_HEAD)factory_msg_con, C_UPDATE_ALL); //老版本弹出恢复出厂信息 //win_compopup_init(WIN_POPUP_TYPE_SMSG); //win_compopup_set_msg(NULL, NULL, RS_FACTORY_RESTORING); //win_compopup_open_ext(&back_saved); sys_data_factroy_init(); sys_data_set_factory_reset(TRUE); sys_data_set_cur_chan_mode(TV_CHAN); sys_data_save(TRUE); sys_data_load(); chunk_id = STB_CHUNK_DEFAULT_DB_ID; api_get_chuck_addlen(chunk_id, &default_db_addr, &default_db_len); set_default_value(DEFAULT_ALL_PROG, default_db_addr + 16); reset_search_param(); /*reset the local static param in full_band_search*/ if (GetMuteState()) SetMuteOnOff(FALSE); if (GetPauseState()) SetPauseOnOff(FALSE); #if(defined(MIS_AD) || defined(MIS_AD_NEW)) MIS_SetOSDAlpha(0x00); #endif #ifdef MULTI_CAS #if (CAS_TYPE == CAS_DVN) ap_cas_set_messageID(0); cas_flags_reset(); #elif(CAS_TYPE==CAS_IRDETO) setFirstIn(1); #elif (CAS_TYPE == CAS_CDCA) api_mcas_stop_transponder(); #endif #endif setMtxt(0); //win_compopup_smsg_restoreback();消除完成恢复出厂设置后出现的小黑框现象---#JingJin OSD_SetTextFieldContent(factory_msg_txt, STRING_ID, (UINT32)RS_FACTORY_DONE); OSD_DrawObject((POBJECT_HEAD)factory_msg_txt, C_UPDATE_ALL); OSD_SetTextFieldContent(factory_msg_txt, STRING_ID, (UINT32)RS_FACTORY_USER_SURE); OSD_SetMultiselSel(factory_multisel, 0); OSD_TrackObject((POBJECT_HEAD)factory_multisel, C_DRAW_TYPE_HIGHLIGHT); //老版本弹出恢复出厂信息 //win_compopup_init(WIN_POPUP_TYPE_SMSG); //win_compopup_set_msg(NULL, NULL, RS_FACTORY_DONE); //win_compopup_open_ext(&back_saved); }
static PRESULT factoryset_btn_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; //PRESULT ret = PROC_LEAVE; VACTION unact; UINT8 bID,back_saved; win_popup_choice_t choice; UINT32 chunk_id, default_db_addr, default_db_len; bID = OSD_GetObjID(pObj); switch(event) { case EVN_UNKNOWN_ACTION: unact = (VACTION)(param1>>16); if(unact == VACT_ENTER) { ret = PROC_LEAVE; if(bID == BTN_NO_ID) { break; } //win_compopup_init(WIN_POPUP_TYPE_OKNO); //win_compopup_set_msg(NULL, NULL, RS_DISPLAY_SURE_TO_DELETE); //win_compopup_set_default_choice(WIN_POP_CHOICE_NO); //choice = win_compopup_open_ext(&back_saved); //if(choice == WIN_POP_CHOICE_YES) { win_compopup_init(WIN_POPUP_TYPE_SMSG); win_compopup_set_msg(NULL,NULL, RS_MSG_SAVING_DATA); win_compopup_open_ext(&back_saved); chunk_id = 0x03FC0100; api_get_chunk_add_len(chunk_id, &default_db_addr, &default_db_len); //here may reset CI+ Service Shunning parameter, 20100803 #ifdef CI_PLUS_SERVICESHUNNING ci_service_shunning_reset(); #endif set_default_value(DEFAULT_ALL_PROG,default_db_addr + 16); sys_data_factroy_init(); //sys_data_set_factory_reset(TRUE); sys_data_set_cur_chan_mode(TV_CHAN); sys_data_save(TRUE); sys_data_load(); if(GetMuteState()) SetMuteOnOff(FALSE); if(GetPauseState()) SetPauseOnOff(FALSE); win_compopup_smsg_restoreback(); power_off_process(); //初始化后重新启动xiaosaifei power_on_process(); // PRESULT ret = PROC_LEAVE; //ap_send_msg(CTRL_MSG_SUBTYPE_CMD_EXIT_ROOT, (UINT32)&g_win_PALNTSC,FALSE); } #ifdef SHOW_WELCOME_SCREEN POBJECT_HEAD submenu; extern void set_win_lang_as_welcome(BOOL iswelcome); set_win_lang_as_welcome(TRUE); submenu = (POBJECT_HEAD) & win_lan_con; if (OSD_ObjOpen(submenu, 0xFFFFFFFF) != PROC_LEAVE) { menu_stack_pop(); menu_stack_push(submenu); ret = PROC_LOOP; } #endif } break; } return ret; }
void sys_data_load(void) { AV_Set *av_set; // tDspMode aspect_mode; BOOL create_view, grp_exst; S_NODE s_node; UINT8 group_idx, group_type, group_pos; UINT16 channel; UINT16 langclass; INT32 hoffset, moffset; UINT8 GMTOffset; date_time dt; enum TVSystem eTVSys; prog_id_t *prog_id; UINT8 av_mode; UINT8 pre_chan_mode, boot_chan_node; UINT16 chan_idx[2], boot_group_idx; /* Load data here */ if(load_tmp_data((UINT8*)&system_config,sizeof(system_config))!=SUCCESS) { osal_task_sleep(50); if(load_tmp_data((UINT8*)&system_config,sizeof(system_config))!=SUCCESS) { osal_task_sleep(50); erase_tmp_sector(); //if load tmp data fail, set to default sys_data_factroy_init(); save_tmp_data((UINT8*)&system_config,sizeof(system_config)); } } #ifdef NVOD_FEATURE nvod_release(); nvod_init(system_config.main_frequency, system_config.main_symbol, system_config.main_qam); #endif //SetNvodScanOverFlag(FALSE); if (CUR_CHAN_MODE > TV_CHAN) CUR_CHAN_MODE = TV_CHAN; if (get_prog_num(VIEW_ALL | CUR_CHAN_MODE, 0) != 0) create_view = TRUE; else create_view = FALSE; if (system_config.startup_switch && system_config.startup_mode <= 2) { boot_chan_node = pre_chan_mode = CUR_CHAN_MODE; if (system_config.startup_mode == RADIO_CHAN) { CUR_CHAN_MODE = RADIO_CHAN; pre_chan_mode = CUR_CHAN_MODE; } else if (system_config.startup_mode == TV_CHAN) { CUR_CHAN_MODE = TV_CHAN; pre_chan_mode = CUR_CHAN_MODE; } if (CUR_CHAN_GROUP_INDEX >= MAX_GROUP_NUM+MAX_FAVGROUP_NUM) CUR_CHAN_GROUP_INDEX = 0; boot_group_idx = CUR_CHAN_GROUP_INDEX; CUR_CHAN_GROUP_INDEX = 0;/* Force to all sate group*/ if ( system_config.startup_mode == RADIO_CHAN || system_config.startup_mode == 2 ) //both { sys_data_set_cur_chan_mode(RADIO_CHAN); recreate_prog_view(VIEW_ALL | RADIO_CHAN, 0); prog_id = &system_config.statup_chsid[0]; //chan_idx[0] = get_prog_pos_ext(prog_id->sat_id,prog_id->tp_id,prog_id->prog_number); if (get_prog_num(VIEW_ALL | RADIO_CHAN, 0) > 0) chan_idx[0] = 0; else chan_idx[0] = 0xFFFF; if (chan_idx[0] != P_INVALID_ID) system_config.cur_chan_group[CUR_CHAN_GROUP_INDEX].radio_channel = chan_idx[0]; } if ( system_config.startup_mode == TV_CHAN || system_config.startup_mode == 2 ) //both { sys_data_set_cur_chan_mode(TV_CHAN); recreate_prog_view(VIEW_ALL | TV_CHAN, 0); prog_id = &system_config.statup_chsid[1]; //chan_idx[1] = get_prog_pos_ext(prog_id->sat_id,prog_id->tp_id,prog_id->prog_number); if (get_prog_num(VIEW_ALL | TV_CHAN, 0) > 0) chan_idx[0] = 0; else chan_idx[0] = 0xFFFF; if (chan_idx[1] != P_INVALID_ID) system_config.cur_chan_group[CUR_CHAN_GROUP_INDEX].tv_channel = chan_idx[1]; } if (chan_idx[pre_chan_mode] != P_INVALID_ID) { sys_data_set_cur_chan_mode(pre_chan_mode); //recreate_prog_view(CREATE_VIEW_ALL_SAT,0); create_view = TRUE; } else { CUR_CHAN_GROUP_INDEX = boot_group_idx; sys_data_set_cur_chan_mode(boot_chan_node); system_config.startup_switch = 0; } } api_feed_power_onoff(system_config.feed_power); sys_data_set_cur_chan_mode(CUR_CHAN_MODE); if (CUR_CHAN_GROUP_INDEX >= MAX_GROUP_NUM+MAX_FAVGROUP_NUM) CUR_CHAN_GROUP_INDEX = 0; sys_data_check_channel_groups(); group_idx = sys_data_get_cur_group_index(); if (group_idx >= sys_data_get_group_num()&&group_idx<MAX_GROUP_NUM)//当group_idx为fav的时候不需要重新设置为0 sys_data_set_cur_group_index(0); if (sys_data_get_group_num() > 0) create_view = TRUE; if (create_view) { group_idx = sys_data_get_cur_group_index(); grp_exst = sys_data_get_cur_mode_group_infor(group_idx, &group_type, &group_pos, &channel); if (!grp_exst) { CUR_CHAN_GROUP_INDEX = 0; group_type = ALL_GROUP_TYPE; } if (group_type == ALL_GROUP_TYPE) { recreate_prog_view(VIEW_ALL | CUR_CHAN_MODE, 0); } /* else if (group_type == SATE_GROUP_TYPE) { get_sat_at(group_pos, VIEW_ALL, &s_node); recreate_prog_view(VIEW_SINGLE_SAT | CUR_CHAN_MODE, s_node.sat_id); } */ else { recreate_prog_view(VIEW_FAV_GROUP | CUR_CHAN_MODE, group_pos); } } MEMCPY(&system_config_bak, &system_config, sizeof(system_config)); /*display effect setting*/ sys_data_load_display_effect(TRUE); /* Load system time*/ dt = system_config.sys_dt; if ( dt.year < 1900 || dt.year > 2100 || dt.month < 1 || dt.month > 12 || dt.day < 1 || dt.day > 31 || dt.hour > 23 || dt.min > 59 || dt.sec > 59 ) { /* If system is invalid,set system to initial time*/ dt.year = DEFAULT_YEAR; dt.month = DEFAULT_MONTH; dt.day = DEFAULT_DAY; dt.hour = 0; dt.min = 0; dt.sec = 0; } set_STC_time(&dt); init_UTC(&dt); if (system_config.local_time.buseGMT) { sys_data_gmtoffset_2_hmoffset(&hoffset, &moffset); set_STC_offset(hoffset, moffset, 0); enable_summer_time(system_config.local_time.SummerTime); } else { disable_time_parse(); } /* Video Setting */ av_set = &system_config.avset; // if ( !firsttime ) api_video_set_tvout(av_set->tv_mode); sys_data_set_display_mode(av_set); #if(SYS_DEFINE_NULL != SYS_RFM_MODULE) sys_data_set_rf(av_set->rf_mode, av_set->rf_channel); #endif /* Audio Setting */ api_audio_set_volume(system_config.volume); OSD_SetLangEnvironment(system_config.lang.OSD_lang); sys_data_select_audio_language(system_config.lang.Audio_lang_1, system_config.lang.Audio_lang_2); sys_data_set_palette(0); if (system_config.rcupos > MAX_RCU_POSNUM) system_config.rcupos = 0; #ifdef CHANCHG_VIDEOTYPE_SUPPORT UIChChgSetVideoType(system_config.chchgvideo_type); #endif }