亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hamaro_pwrscan.c

?? QPSK Tuner details, for conexant chipset.
?? C
?? 第 1 頁 / 共 5 頁
字號:
        return False;
    }

    min_index = PWRSCAN_MAX_SAMPLES_TO_AVERAGE/2;   
    max_index = s_power_spectrum_data.filled_buffer_len - min_index;

    buffer_index = 0;
    memset(&temp_buffer[0], 0, sizeof(unsigned short)*(PWRSCAN_MAX_SAMPLES_TO_AVERAGE));
    for (index = min_index; index < max_index; index++)
    {
        average_accum = 0;
        for (average_index = (index-min_index); average_index <= (index+min_index); average_index++)
        {
            average_accum += s_power_spectrum_data.power[average_index];
        }
        temp_buffer[buffer_index] = (unsigned short)(average_accum / PWRSCAN_MAX_SAMPLES_TO_AVERAGE);
        buffer_index++;
        if (buffer_index == PWRSCAN_MAX_SAMPLES_TO_AVERAGE)
        {            
            copy_dst_index = 0;
            index--;
            for (copy_src_index = index-PWRSCAN_MAX_SAMPLES_TO_AVERAGE; copy_src_index < index; copy_src_index++)
            {
                s_power_spectrum_data.power[copy_src_index] = temp_buffer[copy_dst_index];
                copy_dst_index++;
            }
            index++;
            buffer_index = 0;
            memset(&temp_buffer[0], 0, sizeof(unsigned short)*(PWRSCAN_MAX_SAMPLES_TO_AVERAGE));
        }        
    }
    return (True);
}


BOOL
PWRSCAN_StitchPowerScanSegments() /* Use this only for the main buffer */
{
    unsigned char  segment_index;
    unsigned short buffer_index;
    signed char    aagc_prev, aagc_curr = 0;
    unsigned long power_prev, power_curr, scale;
    BOOL segment_found;
    unsigned long ratio;

    power_prev = s_power_spectrum_data.power[0];
    aagc_prev  = s_pwrscan_buffer_info[0].agcacc;

    scale = 3;
    s_scaled_max_power_reading = 0;

    for (buffer_index = 1; buffer_index < s_power_spectrum_data.filled_buffer_len; buffer_index++)
    {   
        power_curr = s_power_spectrum_data.power[buffer_index];
        segment_found = False;
        
        /* Get the aagc value */
        for (segment_index = 0; segment_index < s_buffer_info_index; segment_index++)
        {
            if (s_power_spectrum_data.abs_freq[buffer_index] <= s_pwrscan_buffer_info[segment_index].end_freq_hz)
            {
                segment_found = True;
                break;
            }
        }
        if (segment_found == True)
        {
            aagc_curr = s_pwrscan_buffer_info[segment_index].agcacc;
        }
        else
        {
            aagc_curr = aagc_prev;
        }
#if  STS_ENABLE_VERBOSE_LOG 
        STSDBG_WR_STR(" [PWRC] =", False);
        STSDBG_WR_INT(" ", power_prev);
        STSDBG_WR_STR(" [PWRP] =", False);
        STSDBG_WR_INT_LN(" ", power_curr);
#endif /* STS_ENABLE_VERBOSE_LOG */
        if (aagc_curr != aagc_prev)
        {
			if (!scale) 
			{
				scale++;
			}

            if (power_prev > power_curr)
            {
                if (power_curr != 0)
                {
                    ratio = ((power_prev * 10)/power_curr);
                    if ((ratio % 10) > 5)
                    {
						ratio += 5;
                        ratio /= 10;
                    }
                    else
                    {
                        ratio /= 10;
                    }
                    if (ratio == 0)
                    {
                        ratio = 1;
                    }
                    scale = scale * ratio;
                }
            }
            else
            {
                if (power_prev != 0)
                {
                    ratio = ((power_curr * 10)/power_prev);
                    if ((ratio % 10) > 5)
                    {
						ratio += 5;
                        ratio /= 10;
                    }
                    else
                    {
                        ratio /= 10;
                    }
                    if (ratio == 0)
                    {
                        ratio = 1;
                    }
                    scale = scale / ratio;
                }                
            }

            STSDBG_WR_STR("----------------------------------------------------------------------------------------------------------------------", True);
            STSDBG_WR_STR(" [SCALE] =", False);            
            STSDBG_WR_INT(" ", scale);
            STSDBG_WR_STR(" [AGCC]  =", False);
            STSDBG_WR_INT(" ", aagc_curr);
            STSDBG_WR_STR(" [AGCP]  =", False);
            STSDBG_WR_INT(" ", aagc_prev);
            STSDBG_WR_STR(" [FREQ]  =", False);
            STSDBG_WR_INT_LN(" ", s_power_spectrum_data.abs_freq[buffer_index]);
            STSDBG_WR_STR("----------------------------------------------------------------------------------------------------------------------", True);
        }

        s_power_spectrum_data.power[buffer_index] = (unsigned short)((power_curr * scale) >> 3); 

        if (buffer_index == 1)
        {
            s_power_spectrum_data.power[0] = s_power_spectrum_data.power[buffer_index];
        }
        /* Get the scaled maximum power reading */
        if (s_power_spectrum_data.power[buffer_index] > s_scaled_max_power_reading)
        {
            s_scaled_max_power_reading = s_power_spectrum_data.power[buffer_index];
        }
        power_prev = power_curr;
        aagc_prev  = aagc_curr;
    }
    return(True);
}


#if HAMARO_INCLUDE_DEBUG
void
PWRSCAN_LogSegmentData()
{
    unsigned char  segment_index;

    STSDBG_WR_STR("----------------------------------------------------------------------------------------------------------------------", True);
    for (segment_index = 0; segment_index < s_buffer_info_index; segment_index++)
    {
        STSDBG_WR_UNSIGNED_LN("SEGMENT #", segment_index);
        STSDBG_WR_INT_LN("AAGC = ", s_pwrscan_buffer_info[segment_index].agcacc);
        STSDBG_WR_UNSIGNED_LN("START FREQ = ", s_pwrscan_buffer_info[segment_index].start_freq_hz);
        STSDBG_WR_UNSIGNED_LN("END FREQ = ", s_pwrscan_buffer_info[segment_index].end_freq_hz);
        STSDBG_WR_UNSIGNED_LN("MAX POWER = ", s_pwrscan_buffer_info[segment_index].max_power_reading);
        STSDBG_WR_UNSIGNED_LN("LENGTH = ", s_pwrscan_buffer_info[segment_index].filled_buffer_length);
        STSDBG_WR_STR("----------------------------------------------------------------------------------------------------------------------", True);
    }
}
#endif /* HAMARO_INCLUDE_DEBUG */

BOOL 
PWRSCAN_GetSegmentLength(unsigned char* p_segment_len)
{
    if (p_segment_len == 0)
    {
        return (False);
    }
    *p_segment_len = (unsigned char)s_buffer_info_index;
    return (True);
}

BOOL
PWRSCAN_GetSegmentData(unsigned char index, HAMARO_PWRSCAN_BUFFER_INFO* p_data)
{
    if (index >= STS_MAX_NUM_OF_SCAN_SEGMENTS)
    {
        return (False);
    }
    memcpy(p_data, &s_pwrscan_buffer_info[index],  sizeof(HAMARO_PWRSCAN_BUFFER_INFO));
    return (True);
}

int
PWRSCAN_GetAGCFromFreq(unsigned long frequency)
{
    unsigned char  segment_index;

    for (segment_index = 0; segment_index < s_buffer_info_index; segment_index++)
    {
        if (frequency <= s_pwrscan_buffer_info[segment_index].end_freq_hz)
        {
            return s_pwrscan_buffer_info[segment_index].agcacc;
        }
    }
    return 0;
}

unsigned short
PWRSCAN_GetScaledMaxPowerReading()
{
    STSDBG_WR_UNSIGNED_LN("SCALED MAX POWER READING = ", s_scaled_max_power_reading);
    return s_scaled_max_power_reading;
}

/* Power scan: Stop state */
static void   
PWRSCAN_StopEnter()
{
    *p_filled_buffer_length = (unsigned short)s_power_scan_data.abs_freq_index;
    s_pwrscan_buffer_info[s_buffer_info_index].end_freq_index = *p_filled_buffer_length;

    STSDBG_WR_INT_LN("Total data points = ", s_power_scan_data.abs_freq_index);

    if (s_power_scan_data.power_index > 0)
    {
        s_power_spectrum_data.last_power_level = p_power_reading[0];
        STSDBG_WR_INT_LN("Last power level = ", s_power_spectrum_data.last_power_level);
    }

#if PWRSCAN_USE_EXTERNAL_POWER_SPECTRUM_FILE
    PWRSCAN_FillTestDataFromFile();
#else /*PWRSCAN_USE_EXTERNAL_POWER_SPECTRUM_FILE*/
#endif /* PWRSCAN_USE_EXTERNAL_POWER_SPECTRUM_FILE */  

    if (s_power_scan_data.power_scan_input.full_scan == True)
    {
        s_continue_scan = True;

        s_pwrscan_buffer_info[s_buffer_info_index].max_power_reading = PWRSCAN_GetSegmentMaxPowerReading();

        s_pwrscan_buffer_info[s_buffer_info_index].start_freq_hz = s_power_spectrum_data.abs_freq[s_pwrscan_buffer_info[s_buffer_info_index].start_freq_index];
  
        s_pwrscan_buffer_info[s_buffer_info_index].end_freq_hz   = s_power_spectrum_data.abs_freq[s_pwrscan_buffer_info[s_buffer_info_index].end_freq_index-1];

        s_power_scan_data.power_scan_input.tuner_freq_hz = s_pwrscan_buffer_info[s_buffer_info_index].end_freq_hz;

        s_pwrscan_buffer_info[s_buffer_info_index].filled_buffer_length = s_pwrscan_buffer_info[s_buffer_info_index].end_freq_index 
                                                                          - s_pwrscan_buffer_info[s_buffer_info_index].start_freq_index;
       
        s_buffer_info_index++;
	    // include the center data reading.
    	s_power_scan_data.power_scan_input.tuner_freq_hz += (s_power_scan_data.power_scan_input.step_size_hz); 

        s_power_scan_data.b_last_set = False;
    }
    else
    {
        s_pwrscan_buffer_info[s_buffer_info_index].max_power_reading = PWRSCAN_GetSegmentMaxPowerReading();
        s_pwrscan_buffer_info[s_buffer_info_index].start_freq_hz = s_power_spectrum_data.abs_freq[s_pwrscan_buffer_info[s_buffer_info_index].start_freq_index];
        s_pwrscan_buffer_info[s_buffer_info_index].end_freq_hz = s_power_spectrum_data.abs_freq[s_pwrscan_buffer_info[s_buffer_info_index].end_freq_index-1];

        s_pwrscan_buffer_info[s_buffer_info_index].filled_buffer_length = s_pwrscan_buffer_info[s_buffer_info_index].end_freq_index 
                                                                          - s_pwrscan_buffer_info[s_buffer_info_index].start_freq_index;
    }
}

static BOOL   
PWRSCAN_Stop2TuneCriterion()
{
    return (s_continue_scan);
}

static STATE* 
PWRSCAN_Stop2Tune()
{
    DBG_CHECK_FSM_LIMITS(&pwrscan_tune_state);
	return &pwrscan_tune_state;
}

static BOOL   
PWRSCAN_Stop2ReadyCriterion()
{
    BOOL ret_value = False;
    
    if (s_power_scan_data.b_last_set)
    {
        ret_value = True;
    }
    else if (s_continue_scan == True)
    {
        if (s_power_scan_data.power_scan_input.tuner_freq_hz > s_power_scan_data.power_scan_input.upper_freq_limit_hz)
        {
            ret_value = True;
        }
    }
    else if (s_power_scan_data.power_scan_input.full_scan == False)
    {
        ret_value = True;
    }
    else if (s_buffer_info_index == STS_MAX_NUM_OF_SCAN_SEGMENTS)
    {
        ret_value = True;
    }

    if (ret_value == True)
    {
        PWRSCAN_Enable(False);

        if (STS_GetUseMainBuffer() == True)
        {
#if 0 //get powerscan data
            STS_SetPowerSpectrumLogFormat(1);
            STS_LogPowerSpectrum();
#endif                
            STS_UpdateProgress(HAMARO_STS_PROCESSING_BUFFER);
            if (s_power_scan_data.power_scan_input.stitch == True)
            {
                STSDBG_WR_STR ("[PWRSCAN_Stop2ReadyCriterion] SCALING DATA SEGMENTS...", True);
                /* parse the raw data */
                STS_ParsePowerDataInMainBuffer();
                STSDBG_WR_ELAPSED_TIME();
                
//                PWRSCAN_StitchPowerScanSegments();
                
                /* Check TPs with stitched data */
//                STS_CheckCandidateWithStitcheddata();
#if 0 //get stitched powerscan data
                STS_SetPowerSpectrumLogFormat(5);
                STS_LogPowerSpectrum();
#endif             
            }
            if (s_power_scan_data.power_scan_input.smooth == True)
            {
                PWRSCAN_SmoothingFilter();
                STSDBG_WR_STR ("[PWRSCAN_Stop2ReadyCriterion] SMOOTHING DATA...", True);
            }
#if HAMARO_INCLUDE_DEBUG
            PWRSCAN_LogSegmentData();
#endif /* HAMARO_INCLUDE_DEBUG */
        }
    }

    return (ret_value);
}


static STATE* 
PWRSCAN_Stop2Ready()
{
    DBG_CHECK_FSM_LIMITS(&pwrscan_ready_state);
	return &pwrscan_ready_state;
}


/* Power scan: Abort state */
static void   
PWRSCAN_AbortEnter()
{
    PWRSCAN_Enable(False);
}


/* Power scan: Ready state */
static void   
PWRSCAN_ReadyEnter()
{
    /* do nothing */
}

unsigned short
PWRSCAN_FindNearestStartIndex(unsigned long frequency_hz)
{
    unsigned char index;

    for (index = 0; index < s_power_scan_data.number_of_segments; index++)
    {
        if (frequency_hz >= s_pwrscan_buffer_info[index].start_freq_hz)
		{
            return (s_pwrscan_buffer_info[index].start_freq_index);
		}
    }
    return 0;
}

/* --------------------------------------------------------------------------- */
#endif /* #if HAMARO_SCAN_THE_SKY */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
五月天亚洲婷婷| 午夜国产精品影院在线观看| 91福利在线观看| 韩国av一区二区三区四区| 亚洲日本一区二区三区| 精品粉嫩超白一线天av| 日本精品裸体写真集在线观看 | 欧美日韩mp4| 国产精品18久久久久| 亚洲不卡一区二区三区| 中文乱码免费一区二区| 久久精品国产精品亚洲综合| 欧美成人一区二区三区| 亚洲久草在线视频| 国产成人亚洲综合a∨婷婷 | 国产网站一区二区三区| 制服丝袜日韩国产| 色中色一区二区| 成人免费黄色大片| 久草精品在线观看| 日本成人中文字幕在线视频 | 亚洲成人一区二区在线观看| 国产精品久久久久一区二区三区| 日韩精品在线看片z| 欧美日韩不卡一区二区| 欧美亚洲一区二区在线观看| 国产精品一区二区你懂的| 捆绑调教美女网站视频一区| 亚洲日本护士毛茸茸| 国产日本欧美一区二区| 精品久久久久久综合日本欧美| 欧美日本一区二区三区| 青青草原综合久久大伊人精品 | 丰满放荡岳乱妇91ww| 日韩**一区毛片| 日欧美一区二区| 亚洲一线二线三线久久久| 亚洲欧美偷拍三级| 亚洲欧美日韩久久精品| 亚洲视频香蕉人妖| 亚洲精品水蜜桃| 综合久久久久久| 悠悠色在线精品| 一区二区高清视频在线观看| 亚洲人精品午夜| 亚洲综合色丁香婷婷六月图片| 一区二区在线免费观看| 香蕉久久夜色精品国产使用方法| 亚洲va在线va天堂| 日本不卡视频一二三区| 紧缚捆绑精品一区二区| 国产99久久久国产精品免费看| 免费观看一级欧美片| 亚洲欧洲日韩女同| 亚洲色图欧美激情| 亚洲欧洲日韩女同| 亚洲激情成人在线| 亚洲成国产人片在线观看| 日韩国产欧美在线观看| 麻豆国产欧美日韩综合精品二区 | 国产.欧美.日韩| jvid福利写真一区二区三区| 91久久精品一区二区三区| 制服视频三区第一页精品| 日韩一区二区精品| 日本一区免费视频| 亚洲另类春色校园小说| 日韩福利视频网| 黄色成人免费在线| 92精品国产成人观看免费| 欧美日韩免费观看一区二区三区| 欧美成人vr18sexvr| 亚洲国产高清在线观看视频| 一区二区在线观看av| 日韩国产欧美在线观看| 国产福利一区在线观看| 97se亚洲国产综合在线| 在线看日韩精品电影| 国产乱妇无码大片在线观看| 国产一区二区美女| 国产一区91精品张津瑜| 国产成人av一区二区三区在线| jlzzjlzz欧美大全| 欧美一区二区三区视频免费播放| 欧美韩国日本不卡| 图片区日韩欧美亚洲| 国产成人鲁色资源国产91色综| 欧美伊人久久久久久久久影院| 欧美成人aa大片| 一区二区三区免费在线观看| 久久99久久精品| 欧美日韩在线观看一区二区| 国产欧美日产一区| 青娱乐精品视频| 在线免费av一区| 国产精品国产三级国产aⅴ入口| 天天影视网天天综合色在线播放| 国产99久久精品| 欧美成人精品福利| 天天色天天操综合| 色综合天天在线| 欧美国产乱子伦 | 亚洲综合自拍偷拍| 欧美aaaaa成人免费观看视频| 972aa.com艺术欧美| 日韩一级视频免费观看在线| 一区二区中文字幕在线| 韩国毛片一区二区三区| 欧美高清性hdvideosex| 亚洲人亚洲人成电影网站色| 国产伦精品一区二区三区视频青涩 | 91麻豆免费视频| 国产亚洲一二三区| 免费看黄色91| 欧美日韩精品系列| 亚洲综合视频在线| 91麻豆国产精品久久| 亚洲国产精品v| 99久久精品国产一区| 欧美日韩国产综合视频在线观看| 久久色在线观看| 免费一级片91| 91精品国产一区二区三区蜜臀| 一二三四社区欧美黄| 91在线码无精品| 国产精品色眯眯| 国产69精品一区二区亚洲孕妇| 2019国产精品| 国产精品一二三四| 久久尤物电影视频在线观看| 国产在线播精品第三| 亚洲精品在线观看视频| 久久久久国产精品人| 精品在线视频一区| 久久嫩草精品久久久精品| 午夜精品久久久久久久久久久| 色综合中文综合网| 激情综合网av| 久久综合九色综合久久久精品综合| 蜜桃视频在线观看一区二区| 欧美一卡二卡三卡| 蜜臀99久久精品久久久久久软件| 91精品国产综合久久久久久久| 免费人成精品欧美精品| 日韩欧美一区二区久久婷婷| 国产真实乱对白精彩久久| 久久精品一区八戒影视| 国产成人综合网站| 国产精品国产精品国产专区不片| 99国产精品久久久久久久久久| 亚洲天堂免费看| 精品视频在线视频| 丝袜亚洲另类欧美| 日韩亚洲国产中文字幕欧美| 国产精品综合在线视频| 国产精品毛片高清在线完整版 | 91精品国产一区二区| 麻豆成人久久精品二区三区红| 欧美xxxxx牲另类人与| 国产馆精品极品| 1024国产精品| 欧美日韩在线直播| 激情小说欧美图片| 国产精品护士白丝一区av| 欧美天天综合网| 久久99国内精品| 国产精品久久久久久久久免费樱桃 | 亚洲欧洲精品一区二区精品久久久| 91女人视频在线观看| 丝袜诱惑亚洲看片| 婷婷综合另类小说色区| 久久国产成人午夜av影院| 国产喷白浆一区二区三区| av成人老司机| 日韩精品乱码av一区二区| 2022国产精品视频| 色999日韩国产欧美一区二区| 日本亚洲欧美天堂免费| 国产精品久久二区二区| 日韩一区二区精品在线观看| 波多野结衣亚洲| 免费成人结看片| 亚洲蜜桃精久久久久久久| 精品国产精品网麻豆系列 | 欧美网站大全在线观看| 韩国av一区二区三区在线观看| 亚洲精品菠萝久久久久久久| 欧美电影免费观看高清完整版在| 北条麻妃一区二区三区| 午夜精品福利久久久| 欧美国产日产图区| 日韩一区二区精品葵司在线| 色综合一个色综合| 国产一区三区三区| 视频在线观看国产精品| 亚洲三级小视频| 久久久久国产免费免费| 91精品午夜视频| 色婷婷国产精品综合在线观看| 国产一区亚洲一区|