void new_win_signal_open(POBJECT_HEAD w) { POBJECT_HEAD pObj; UINT8 level, quality, lock; struct nim_device *nim_dev; if (cur_tuner_idx == 0) nim_dev = g_nim_dev; else nim_dev = g_nim_dev2; if (w->bType != OT_CONTAINER) return ; pObj = (POBJECT_HEAD) &g_new_signal_test;//g_win_signal; pObj->pRoot = w; nim_get_lock(nim_dev, &lock); nim_get_AGC(nim_dev, &level); nim_get_SNR(nim_dev, &quality); new_dem_signal_to_display(lock, &level, &quality); new_win_signal_set_level_quality(level, quality, lock); new_win_signal_update(); }
void win_signal_refresh(void) { UINT8 level,quality,lock; struct nim_device* nim_dev; if(cur_tuner_idx == 0) nim_dev = g_nim_dev; else nim_dev = g_nim_dev2; nim_get_lock(nim_dev, &lock); nim_get_AGC(nim_dev, &level); nim_get_SNR(nim_dev, &quality); dem_signal_to_display(lock,&level,&quality); win_signal_set_level_quality(level,quality,lock); win_signal_update(); }
void win_signal_refresh(void) { UINT8 level,quality,lock; struct nim_device* nim_dev; if(cur_tuner_idx == 0) nim_dev = g_nim_dev; else nim_dev = g_nim_dev2; nim_get_lock(nim_dev, &lock); nim_get_AGC(nim_dev, &level); nim_get_SNR(nim_dev, &quality); api_Signal_Lock_LED_OnOff(lock);//-a by wangyang for Signal Lock LED onoff 2011-10-25 dem_signal_to_display(lock,&level,&quality); win_signal_set_level_quality(level,quality,lock); win_signal_update(); }
void win_signal_open(POBJECT_HEAD w) { POBJECT_HEAD pObj; UINT8 level,quality,lock; struct nim_device* nim_dev; if(cur_tuner_idx == 0) nim_dev = g_nim_dev; else nim_dev = g_nim_dev2; if(w->bType != OT_CONTAINER) return ; pObj = (POBJECT_HEAD)&g_win_signal; pObj->pRoot = w; pObj = (POBJECT_HEAD)&sig_bar_level; pObj->frame.uLeft = W_L + B_L_OF; pObj->frame.uWidth = B_W; pObj = (POBJECT_HEAD)& sig_bar_quality; pObj->frame.uLeft = W_L + B_L_OF; pObj->frame.uWidth = B_W; pObj = (POBJECT_HEAD)&sig_txt_level; pObj->frame.uLeft = W_L + TXTL_L_OF; pObj = (POBJECT_HEAD)&sig_txt_quality; pObj->frame.uLeft = W_L + TXTL_L_OF; pObj = (POBJECT_HEAD)&g_win_signal; pObj->frame.uLeft = W_L; pObj->frame.uWidth = W_W; nim_get_lock(nim_dev, &lock); nim_get_AGC(nim_dev, &level); nim_get_SNR(nim_dev, &quality); api_Signal_Lock_LED_OnOff(lock);//-a by wangyang for Signal Lock LED onoff 2011-10-25 dem_signal_to_display(lock,&level,&quality); win_signal_set_level_quality(level,quality,lock); }
void win_signal_open_tplist(POBJECT_HEAD w) { POBJECT_HEAD pObj; UINT8 level,quality,lock; struct nim_device* nim_dev; if(cur_tuner_idx == 0) nim_dev = g_nim_dev; else nim_dev = g_nim_dev2; if(w->bType != OT_CONTAINER) return ; pObj = (POBJECT_HEAD)&sig_bar_level; pObj->frame.uLeft = W_L + B_L_OF_B; pObj->frame.uWidth = B_W_B; pObj = (POBJECT_HEAD)& sig_bar_quality; pObj->frame.uLeft = W_L + B_L_OF_B; pObj->frame.uWidth = B_W_B; pObj = (POBJECT_HEAD)&sig_txt_level; pObj->frame.uLeft = W_L + TXTL_L_OF_B; pObj = (POBJECT_HEAD)&sig_txt_quality; pObj->frame.uLeft = W_L + TXTL_L_OF_B; pObj = (POBJECT_HEAD)&g_win_signal; pObj->frame.uLeft = W_L_B; pObj->frame.uWidth = W_W_B; pObj->pRoot = w; nim_get_lock(nim_dev, &lock); nim_get_AGC(nim_dev, &level); nim_get_SNR(nim_dev, &quality); dem_signal_to_display(lock,&level,&quality); win_signal_set_level_quality(level,quality,lock); }
/*this interface is nor used yet, can delete it???*/ void new_win_signal_open_tplist(POBJECT_HEAD w) { //POBJECT_HEAD pObj; UINT8 level, quality, lock; struct nim_device *nim_dev; if (cur_tuner_idx == 0) nim_dev = g_nim_dev; else nim_dev = g_nim_dev2; if (w->bType != OT_CONTAINER) return ; nim_get_lock(nim_dev, &lock); nim_get_AGC(nim_dev, &level); nim_get_SNR(nim_dev, &quality); new_dem_signal_to_display(lock, &level, &quality); new_win_signal_set_level_quality(level, quality, lock); }
static void progname_signal_refresh(BOOL update) { UINT8 level,quality,lock; struct nim_device* nim_dev; char stringTemp[50]; PROGRESS_BAR* bar; POBJECT_HEAD pObj; UINT16 level_shIdx; UINT16 quality_shIdx; if(cur_tuner_idx == 0) nim_dev = g_nim_dev; else nim_dev = g_nim_dev2; nim_get_lock(nim_dev, &lock); nim_get_AGC(nim_dev, &level); nim_get_SNR(nim_dev, &quality); dem_signal_to_display(lock,&level,&quality); memset(stringTemp,0,sizeof(stringTemp)); sprintf(stringTemp,"%d%%",level); OSD_SetTextFieldContent(&progname_progress_S_value, STRING_ANSI, (UINT32)stringTemp); sprintf(stringTemp,"%d%%",quality); OSD_SetTextFieldContent(&progname_progress_Q_value, STRING_ANSI, (UINT32)stringTemp); if(api_is_sd_color_mode()) { if(lock) { level_shIdx = WSTL_BAR_04_8BIT; quality_shIdx = WSTL_BAR_02_8BIT; } else { level_shIdx = WSTL_BAR_03_8BIT; quality_shIdx = WSTL_BAR_03_8BIT; } if(level < 4) level_shIdx = WSTL_NOSHOW_IDX; if(quality < 4) quality_shIdx = WSTL_NOSHOW_IDX; } else { if(lock) { level_shIdx = WSTL_BAR_01_HD; quality_shIdx = WSTL_BAR_02_HD; } else { level_shIdx = WSTL_BAR_03_HD; quality_shIdx = WSTL_BAR_03_HD; } if(level < 4) level_shIdx = WSTL_NOSHOW_IDX; if(quality < 4) quality_shIdx = WSTL_NOSHOW_IDX; } bar = &progname_progress_bar_S; OSD_SetProgressBarPos(bar,level); bar->wTickFg = level_shIdx; bar = &progname_progress_bar_Q; if(quality < 10) { quality = 10; } OSD_SetProgressBarPos(bar,quality); bar->wTickFg = quality_shIdx; if(update) { memset(stringTemp,0,sizeof(stringTemp)); sprintf(stringTemp,"Intensity"); OSD_SetTextFieldContent(&progname_progress_S_name, STRING_ANSI, (UINT32)stringTemp); OSD_DrawObject((POBJECT_HEAD)&progname_progress_S_name,C_DRAW_SIGN_EVN_FLG |C_UPDATE_ALL); memset(stringTemp,0,sizeof(stringTemp)); sprintf(stringTemp,"Quality"); OSD_SetTextFieldContent(&progname_progress_Q_name, STRING_ANSI, (UINT32)stringTemp); OSD_DrawObject((POBJECT_HEAD)&progname_progress_Q_name,C_DRAW_SIGN_EVN_FLG |C_UPDATE_ALL); OSD_DrawObject((POBJECT_HEAD)&progname_progress_bar_S,C_DRAW_SIGN_EVN_FLG |C_UPDATE_ALL); OSD_DrawObject((POBJECT_HEAD)&progname_progress_S_value,C_DRAW_SIGN_EVN_FLG |C_UPDATE_ALL); OSD_DrawObject((POBJECT_HEAD)&progname_progress_bar_Q,C_DRAW_SIGN_EVN_FLG |C_UPDATE_ALL); OSD_DrawObject((POBJECT_HEAD)&progname_progress_Q_value,C_DRAW_SIGN_EVN_FLG |C_UPDATE_ALL); } }
void win_minisignal_open_ex(POBJECT_HEAD w,UINT32 x, UINT32 y) { POBJECT_HEAD pObj; PPROGRESS_BAR pBar; UINT8 level,quality,lock; struct nim_device* nim_dev; if(cur_tuner_idx == 0) nim_dev = g_nim_dev; else nim_dev = g_nim_dev2; if(w->bType != OT_CONTAINER) return ; pObj = (POBJECT_HEAD)&g_win_signal; pObj->pRoot = w; //OSD_SetColor(pObj,WIN_SH_IDX,WIN_SH_IDX,WIN_SH_IDX,WIN_SH_IDX); pObj = (POBJECT_HEAD)&sig_bar_level; //pObj->frame.uLeft = W_L + B_L_OF; pObj->frame.uWidth = B_W; OSD_SetColor(pObj,B_BG_SH_IDX,B_BG_SH_IDX,B_BG_SH_IDX,B_BG_SH_IDX); pBar = (PPROGRESS_BAR)&sig_bar_level; pBar->wTickBg = B_MID_SH_IDX; pObj = (POBJECT_HEAD)& sig_bar_quality; //pObj->frame.uLeft = W_L + B_L_OF; pObj->frame.uWidth = B_W; OSD_SetColor(pObj,B_BG_SH_IDX,B_BG_SH_IDX,B_BG_SH_IDX,B_BG_SH_IDX); pBar = (PPROGRESS_BAR)&sig_bar_quality; pBar->wTickBg = B_MID_SH_IDX; pObj = (POBJECT_HEAD)&sig_txt_level; //pObj->frame.uLeft = W_L + TXTL_L_OF; OSD_SetColor(pObj, TXT_SH_IDX, TXT_SH_IDX, TXT_SH_IDX, TXT_SH_IDX); pObj = (POBJECT_HEAD)&sig_txt_quality; //pObj->frame.uLeft = W_L + TXTL_L_OF; OSD_SetColor(pObj, TXT_SH_IDX, TXT_SH_IDX, TXT_SH_IDX, TXT_SH_IDX); pObj = (POBJECT_HEAD)&sig_txt_level_per; OSD_SetColor(pObj, TXT_SH_IDX, TXT_SH_IDX, TXT_SH_IDX, TXT_SH_IDX); pObj = (POBJECT_HEAD)&sig_txt_quality_per; OSD_SetColor(pObj, TXT_SH_IDX, TXT_SH_IDX, TXT_SH_IDX, TXT_SH_IDX); pObj = (POBJECT_HEAD)&g_win_signal; //pObj->frame.uLeft = W_L; //pObj->frame.uWidth = W_W; OSD_SetColor(pObj, TXT_SH_IDX, TXT_SH_IDX, TXT_SH_IDX, TXT_SH_IDX); //OSD_MoveObject(pObj,MINI_SIGNAL_L, MINI_SIGNAL_T,FALSE); OSD_MoveObject(pObj,x,y,FALSE); nim_get_lock(nim_dev, &lock); nim_get_AGC(nim_dev, &level); nim_get_SNR(nim_dev, &quality); api_Signal_Lock_LED_OnOff(lock);//-a by wangyang for Signal Lock LED onoff 2011-10-25 dem_signal_to_display(lock,&level,&quality); win_signal_set_level_quality(level,quality,lock); }
void win_signal_open_ex(POBJECT_HEAD w , UINT32 x, UINT32 y) { POBJECT_HEAD pObj; PPROGRESS_BAR pBar; UINT8 level,quality,lock; struct nim_device* nim_dev; if(cur_tuner_idx == 0) nim_dev = g_nim_dev; else nim_dev = g_nim_dev2; if(w->bType != OT_CONTAINER) return ; pObj = (POBJECT_HEAD)&g_win_signal; pObj->pRoot = w; OSD_SetColor(pObj,WIN_SH_IDX_HD,WIN_SH_IDX_HD,WIN_SH_IDX_HD,WIN_SH_IDX_HD); pObj = (POBJECT_HEAD)&sig_bar_level; //pObj->frame.uLeft = x+B_L_OF;//W_L + B_L_OF; pObj->frame.uWidth = B_W; OSD_SetColor(pObj,B_BG_SH_IDX_HD,B_BG_SH_IDX_HD,B_BG_SH_IDX_HD,B_BG_SH_IDX_HD); pBar = (PPROGRESS_BAR)&sig_bar_level; pBar->wTickBg = B_MID_SH_IDX_HD; //libc_printf("bar:%d,%d\n",B_BG_SH_IDX_HD,B_MID_SH_IDX_HD); pObj = (POBJECT_HEAD)& sig_bar_quality; //pObj->frame.uLeft = x+ B_L_OF;//W_L + B_L_OF; pObj->frame.uWidth = B_W; OSD_SetColor(pObj,B_BG_SH_IDX_HD,B_BG_SH_IDX_HD,B_BG_SH_IDX_HD,B_BG_SH_IDX_HD); pBar = (PPROGRESS_BAR)&sig_bar_quality; pBar->wTickBg = B_MID_SH_IDX_HD; pObj = (POBJECT_HEAD)&sig_txt_level; //pObj->frame.uLeft = x+TXTL_L_OF;//W_L + TXTL_L_OF; OSD_SetColor(pObj,TXT_SH_IDX_HD,TXT_SH_IDX_HD,TXT_SH_IDX_HD,TXT_SH_IDX_HD); //libc_printf("txt:%d\n",TXT_SH_IDX_HD); pObj = (POBJECT_HEAD)&sig_txt_quality; //pObj->frame.uLeft = x + TXTL_L_OF;//W_L + TXTL_L_OF; OSD_SetColor(pObj,TXT_SH_IDX_HD,TXT_SH_IDX_HD,TXT_SH_IDX_HD,TXT_SH_IDX_HD); pObj = (POBJECT_HEAD)&sig_txt_level_per; //pObj->frame.uLeft = x + TXTR_L_OF;//W_L + TXTL_L_OF; //pObj->frame.uTop = y + TXTRL_T_OF; OSD_SetColor(pObj,TXT_SH_IDX_HD,TXT_SH_IDX_HD,TXT_SH_IDX_HD,TXT_SH_IDX_HD); pObj = (POBJECT_HEAD)&sig_txt_quality_per; //pObj->frame.uLeft = x + TXTR_L_OF;//W_L + TXTL_L_OF; //pObj->frame.uTop = y + TXTRQ_T_OF; OSD_SetColor(pObj,TXT_SH_IDX_HD,TXT_SH_IDX_HD,TXT_SH_IDX_HD,TXT_SH_IDX_HD); pObj = (POBJECT_HEAD)&g_win_signal; //pObj->frame.uLeft = W_L; //pObj->frame.uTop = W_T; //pObj->frame.uTop = y; pObj->frame.uWidth = W_W; OSD_MoveObject(pObj,x,y,0); nim_get_lock(nim_dev, &lock); nim_get_AGC(nim_dev, &level); nim_get_SNR(nim_dev, &quality); dem_signal_to_display(lock,&level,&quality); win_signal_set_level_quality(level,quality,lock); }
BOOL new_win_signal_update() { POBJECT_HEAD pObj; PROGRESS_BAR *bar; TEXT_FIELD *txt; UINT16 cn_noise, level; UINT32 ber; INT32 temp = 0; UINT32 dot = 0; char str[20]; struct nim_device *nim_dev; UINT8 lock, cn_noise_maped = 0, level_maped = 0; UINT16 level_shIdx,quality_shIdx,ber_idx; pObj = (POBJECT_HEAD) &g_new_signal_test;//lin if (pObj->pRoot == NULL) return FALSE; if (cur_tuner_idx == 0) nim_dev = g_nim_dev; else nim_dev = g_nim_dev2; nim_get_lock(nim_dev, &lock); nim_ioctl_ext(nim_dev, NIM_DRIVER_GET_RF_LEVEL, (void*) &level); if (lock) { level_shIdx = PROGRESS_COLOR_GREEN; quality_shIdx = LOCK_IDX; ber_idx = PROGRESS_COLOR_BLUE; nim_ioctl_ext(nim_dev, NIM_DRIVER_GET_CN_VALUE, (void*) &cn_noise); nim_ioctl_ext(nim_dev, NIM_DRIVER_GET_BER_VALUE, (void*) &ber); } else { level_shIdx = UNLOCK_IDX; quality_shIdx = UNLOCK_IDX; ber_idx = UNLOCK_IDX; cn_noise = 0; ber = 0; } //update the text value & uint for each item if(lock) { sprintf(str, "%d.%d ", cn_noise / 10, cn_noise % 10); } else { sprintf(str, "0"); } txt = &new_sig_txt_CN0;//sig_txt_CN_uint; OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)str); sprintf(str, "%d ", ber); txt = &new_sig_txt_BER0;//sig_txt_BER_uint; OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)str); if (level % 10) { temp = (107-level / 10) - 1; //107 dot = 10-level % 10; } else { temp = 107-level / 10; //107 dot = 0; } if(temp<0) temp= -temp; //temp=0; //avoid the negative value sprintf(str, "%d.%d", temp, dot); txt = &new_sig_txt_level0;//sig_txt_level_uint; OSD_SetTextFieldContent(txt, STRING_ANSI, (UINT32)str); //draw SNR bar nim_get_SNR(nim_dev, &cn_noise_maped); bar = &new_sig_bar_CN;//sig_bar_CN; if(0==cn_noise) { OSD_SetProgressBarPos(bar, cn_noise_maped); bar->wTickFg = quality_shIdx; } else { OSD_SetProgressBarPos(bar, cn_noise_maped); //OSD_SetProgressBarPos(bar, cn_noise_maped); bar->wTickFg = quality_shIdx; } //Draw the signal error bar bar = &new_sig_bar_BER;//sig_bar_BER; ber = new_map_ber_value(&ber); OSD_SetProgressBarPos(bar, ber); bar->wTickFg = ber_idx; //Draw the signal intensity bar level_maped = temp *100 / 107; // if((level_maped>=0)&&(level_maped<30)) if(level_maped<30) { level_maped = 5*level_maped/2; } else if((level_maped>=30)&&(level_maped<60)) { level_maped = 75 + (level_maped - 30)/3; } else { level_maped = 95 + (level_maped - 60)/20; } if (level_maped > 100) { level_maped = 100; // osal_task_sleep(10); } bar = &new_sig_bar_level;//sig_bar_level; OSD_SetProgressBarPos(bar, level_maped); bar->wTickFg = level_shIdx; //draw them all OSD_DrawObject(pObj, C_UPDATE_ALL); return TRUE; }