static PRESULT otaset_btn_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; VACTION unact; POBJECT_HEAD pmenu; switch(event) { case EVN_UNKNOWN_ACTION: unact = (VACTION)(param1>>16); if(unact == VACT_ENTER) { win_otaset_get_FreqSymbPid_display(); pmenu = (POBJECT_HEAD)&g_win_otaupg ; if(OSD_ObjOpen(pmenu, MENU_OPEN_TYPE_MENU + EDIT_TP_START_ID) != PROC_LEAVE) menu_stack_push(pmenu); ret = PROC_LOOP; } break; } return ret; }
static PRESULT otaset_item_edf_callback(POBJECT_HEAD pObj, VEVENT event, UINT32 param1, UINT32 param2) { PRESULT ret = PROC_PASS; UINT8 bID; UINT8 status; EDIT_FIELD* edf; bID = OSD_GetObjID(pObj); edf = (EDIT_FIELD*)pObj; switch(event) { case EVN_POST_CHANGE: status = OSD_GetEditFieldStatus(edf); if(status == SELECT_STATUS) { if(bID == EDIT_TP_FREQ_ID || bID == EDIT_TP_SYMB_ID) win_otaset_turn_frntend(); } break; case EVN_PARENT_FOCUS_POST_LOSE: if(bID == EDIT_TP_FREQ_ID || bID == EDIT_TP_SYMB_ID) { if(win_otaset_get_FreqSymbPid_display() != 0) win_otaset_turn_frntend(); } break; } return ret; }
void win_otaset_turn_frntend(void) { UINT8 back_saved; S_NODE s_node; T_NODE t_node; struct nim_device *nim; union ft_xpond xpond; nim = dev_get_by_id(HLD_DEV_TYPE_NIM, 0); t_node.frq = ota_freq; t_node.sym = ota_symb; t_node.pol = ota_pol; t_node.FEC_inner = ota_modulation; MEMCPY(&m_ota_cfg.t_node, &t_node, sizeof(t_node)); m_ota_cfg.pid = ota_pid; win_otaset_get_FreqSymbPid_display(); if(NULL != nim) { MEMSET(&xpond, 0, sizeof(xpond)); xpond.c_info.type = FRONTEND_TYPE_C; xpond.c_info.frq = ota_freq; xpond.c_info.sym = ota_symb; xpond.c_info.modulation = ota_modulation; //frontend_set_nim(nim, NULL, &xpond, 1); frontend_tuning(nim, NULL, &xpond, 1); }
void win_otaset_turn_frntend(void) { UINT8 back_saved; S_NODE s_node; T_NODE t_node; win_otaset_get_FreqSymbPid_display(); cur_tuner_idx = OTA_TUNER_IDX; #ifdef _BUILD_OTA_E_ MEMCPY(&s_node, &m_ota_cfg.s_node, sizeof(s_node)); #else get_tuner_sat(OTA_TUNER_IDX, ota_satpos, &s_node); MEMCPY(&m_ota_cfg.s_node, &s_node, sizeof(s_node)); t_node.frq = ota_freq; t_node.sym = ota_symb; t_node.pol = ota_pol; MEMCPY(&m_ota_cfg.t_node, &t_node, sizeof(t_node)); #endif #ifndef NEW_DEMO_FRAME struct xpond_antenna_info xai; sat2antenna_ext(&s_node, &xai.antenna,OTA_TUNER_IDX); xai.xpond.frq = ota_freq; xai.xpond.sym = ota_symb; xai.xpond.pol = ota_pol; UIChChgSetAntennaXpond(&xai); #else struct ft_antenna antenna; union ft_xpond xponder; struct nim_device *nim = NULL; #ifdef SUPPORT_SELECT_SAME_SAT cur_tuner_idx =s_node.reserve_1; //s_node.tuner1_valid ? 0 : 1; #else cur_tuner_idx = s_node.tuner1_valid ? 0 : 1; #endif MEMSET(&antenna, 0, sizeof(struct ft_antenna)); MEMSET(&xponder, 0, sizeof(union ft_xpond)); sat2antenna(&s_node, &antenna); xponder.s_info.type = FRONTEND_TYPE_S; xponder.s_info.frq = ota_freq; xponder.s_info.sym = ota_symb; xponder.s_info.pol = ota_pol; #ifdef SUPPORT_SELECT_SAME_SAT nim = (struct nim_device *)dev_get_by_id(HLD_DEV_TYPE_NIM, ((s_node.reserve_1 == 0)? 0 : ((s_node.reserve_1 == 1) ? 1 : 0))); #else nim = (struct nim_device *)dev_get_by_id(HLD_DEV_TYPE_NIM, (s_node.tuner1_valid ? 0 : (s_node.tuner2_valid ? 1 : 0))); #endif frontend_tuning(nim, &antenna, &xponder, 1); if(0 == cur_tuner_idx) //TUNER1 <--> TSI_TS_A <--> DMX0 { tsi_dmx_src_select(TSI_DMX_0,TSI_TS_A); tsi_select(TSI_TS_A,TSI_SPI_0); } else//TUNER2 <--> TSI_TS_B <--> DMX0 { tsi_dmx_src_select(TSI_DMX_0,TSI_TS_B); tsi_select(TSI_TS_B, TSI_SPI_1); } #endif wincom_dish_move_popup_open(ota_presat_id,s_node.sat_id,cur_tuner_idx,&back_saved); ota_presat_id = s_node.sat_id;