/*NIt search callback for update tp*/ static UINT8 as_update_tp(TP_INFO *t_info) { INT32 i; if(as_info->param.as_frontend_type==FRONTEND_TYPE_S) { dvbs_tp_info2db(t_info, &as_info->cur_tp); //Check whether Current TP Param is Valid or not if(dvbs_tp_sanity_check(as_info->voltage_ctrl, &as_info->cur_tp, &as_info->cur_sat) == FALSE) { return as_info->stop_scan_signal; } } else if(as_info->param.as_frontend_type == FRONTEND_TYPE_C) { //Copy Input TP Info to Current TP dvbc_tp_info2db(t_info, &as_info->cur_tp); //Check whether Current TP Param is Valid or not if(dvbc_tp_sanity_check(FALSE, &as_info->cur_tp, NULL) == FALSE) { return as_info->stop_scan_signal; } } //Search TP Info in DB. If can't find, then Add this TP Info into DB as_info->cur_tp.sat_id = as_info->cur_sat.sat_id; if(db_search_lookup_node(TYPE_SEARCH_TP_NODE, &as_info->cur_tp) != SUCCESS) { if(add_node(TYPE_SEARCH_TP_NODE, as_info->cur_tp.sat_id, &as_info->cur_tp) == STORE_SPACE_FULL) { return 1; } } AS_DUMP_TP(&as_info->cur_tp); //Search Current TP in Waiting Scan TP List, if find, then Return, otherwise Add Current TP //to Waiting Scan TP List for(i = as_info->tp_nr - 1; i >= 0; i--) { if (as_info->tp_id[i] == as_info->cur_tp.tp_id) { return as_info->stop_scan_signal; } } as_info->tp_id[as_info->tp_nr++] = as_info->cur_tp.tp_id; if(as_info->param.as_handler != NULL) { as_info->param.as_handler(ASM_TYPE_INC_TRANSPONDER, 0); } return as_info->stop_scan_signal; }
static UINT8 as_update_tp(TP_INFO *t_info) { INT32 i; T_NODE* tp = &(as_info->xp); if(as_info->param.as_frontend_type == FRONTEND_TYPE_C) { //for jilin prj,filter the HD program. #ifdef JILIN_FEATURE if((t_info->c_info.frequency==72200) ||(t_info->c_info.frequency==73000) ||(t_info->c_info.frequency==73800)) { libc_printf("\ncur freq:%d\n",t_info->c_info.frequency); return as_info->stop_scan_signal; } #endif //Copy Input TP Info to Current TP dvbc_tp_info2db(t_info, &as_info->cur_tp); //Check whether Current TP Param is Valid or not if(dvbc_tp_sanity_check(FALSE, &as_info->cur_tp, NULL) == FALSE) { return as_info->stop_scan_signal; } } //Search TP Info in DB. If can't find, then Add this TP Info into DB as_info->cur_tp.sat_id = as_info->cur_sat.sat_id; if(db_search_lookup_node(TYPE_SEARCH_TP_NODE, &as_info->cur_tp) != SUCCESS) { if(add_node(TYPE_SEARCH_TP_NODE, as_info->cur_tp.sat_id, &as_info->cur_tp) == STORE_SPACE_FULL) { return 1; } } AS_DUMP_TP(&as_info->cur_tp); //Search Current TP in Waiting Scan TP List, if find, then Return, otherwise Add Current TP //to Waiting Scan TP List for(i = as_info->tp_nr - 1; i >= 0; i--) { if (as_info->tp_id[i] == as_info->cur_tp.tp_id && as_info->tp_si[i]) { return as_info->stop_scan_signal; } } as_info->tp_id[as_info->tp_nr++] = as_info->cur_tp.tp_id; #ifdef NIT_AUTO_SEARCH_SUPPORT// add for auto scan with nit search if(as_info->atp.nit_enable == 1 && as_info->tp_nr > 0) b_found_nit_tp = TRUE; else b_found_nit_tp = FALSE; #endif if(as_info->param.as_handler != NULL) { as_info->param.as_handler(ASM_TYPE_INC_TRANSPONDER, 0); } return as_info->stop_scan_signal; }