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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? hamaro_pwrscan.c

?? QPSK Tuner details, for conexant chipset.
?? C
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):

static STATE* 
PWRSCAN_Tune2Start()
{
    DBG_CHECK_FSM_LIMITS(&pwrscan_start_state);
	return &pwrscan_start_state;
}

/* Power scan: Start state */
static void   
PWRSCAN_StartEnter()
{
    s_power_scan_data.abs_freq_khz = 0;
    *p_max_pwr_reading = 0;

    if (s_continue_scan == False)
    {
        s_power_scan_data.power_index = s_power_scan_data.abs_freq_index = 0; // agc_index = 0;    
    }

    s_pwrscan_buffer_info[s_buffer_info_index].start_freq_index = (unsigned short)s_power_scan_data.abs_freq_index;

    PWRSCAN_ReadyClear();
}

static BOOL   
PWRSCAN_Start2StepCriterion()
{
    return (True);
}

static STATE* 
PWRSCAN_Start2Step()
{
    DBG_CHECK_FSM_LIMITS(&pwrscan_step_state);
	return &pwrscan_step_state;
}


static BOOL   
PWRSCAN_Start2AbortCriterion()
{
    if (s_power_scan_data.b_abort == True)
    {
        return (True);
    }
    return (False);
}

static STATE* 
PWRSCAN_Start2Abort()
{
    DBG_CHECK_FSM_LIMITS(&pwrscan_abort_state);
	return &pwrscan_abort_state;
}


static clock_t start;
static void 
PWRSCAN_SetTimer(void)
{
    STSDBG_WR_STR("SRBIN_SetTimer1", True);
    start = clock();
}

static unsigned short 
PWRSCAN_GetElapsedTimeMilliSec(void)
{
    clock_t finish;
    unsigned short duration;
  
    finish = clock();
    duration = (unsigned short)(finish - start);
    return duration;
}

/* Power scan: Step state */
static BOOL s_first_step = False;
static BOOL s_adjust_power = False;
static void   
PWRSCAN_StepEnter()
{
    int agcacc_local = 0;

    s_power_scan_data.iter = 0;

    s_power_scan_data.initial_freq_step = PWRSCAN_GetInitialFreqStep(s_power_scan_data.power_scan_input.step_size_hz, 
                                                                     s_power_scan_data.number_freq_cnt);

    s_power_scan_data.center_frequency_hz = PWRSCAN_GetInitialCenterFreq(s_power_scan_data.power_scan_input.search_span_mhz, 
                                                                         s_power_scan_data.initial_freq_step);
    s_power_scan_data.center_frequency_upperbound_hz = (s_power_scan_data.center_frequency_hz - s_power_scan_data.initial_freq_step);
    
    s_power_scan_data.abs_freq_khz = s_power_scan_data.tuner_freq_khz - (s_power_scan_data.center_frequency_hz - s_power_scan_data.initial_freq_step)/1000;

    STSDBG_WR_INT_LN ("Initial absolute freq (khz) = ", s_power_scan_data.abs_freq_khz);

    PWRSCAN_SetObservationWindow(s_power_scan_data.power_scan_input.observation_window);

#if 1
    PWRSCAN_SetTimer();

    while (PWRSCAN_GetElapsedTimeMilliSec() < 100) /* Small delay for the AAGC to settle down */
    {
    }

    if (HAMARO_GetAGCAcc(hamaro_nim_list.nim[0], &agcacc_local) == False) 
    {
        s_power_scan_data.b_abort = True;
        return;
    }
    *p_agcacc = (signed char)agcacc_local;
    STSDBG_WR_INT_LN("####### AAGC ########### = ", agcacc_local);
    if ((PWRSCAN_IsAAGCFilter() == True) && (*p_agcacc > PWRSCAN_AGC_THRESHOLD) && (STS_GetUseMainBuffer() == True))
    {
        //s_power_scan_data.b_abort = True; 
    }
    /* Now freeze AAGC */
    if (PWRSCAN_AAGCControl(True) == False)
    {
        return;
    }
#endif
    s_first_step   = True;
    s_adjust_power = False;
    s_pwrscan_buffer_info[s_buffer_info_index].agcacc = *p_agcacc;
}


static void   
PWRSCAN_Step()
{
    s_power_scan_data.frequency_step_hz = PWRSCAN_GetInitialFreqStep(s_power_scan_data.power_scan_input.step_size_hz, 
                                                                     s_power_scan_data.number_freq_cnt); 

#if SKYSCAN_IQ_INVERSION == YES
    PWRSCAN_WriteCenterFreq(-s_power_scan_data.center_frequency_hz);
#else
    PWRSCAN_WriteCenterFreq(s_power_scan_data.center_frequency_hz);
#endif    
    
    /* 6)  Set observation window (STS Page=0, add=0x03)  STS_Len=7;(window=2^16) */

    s_power_scan_data.actual_freq_count = s_power_scan_data.number_freq_cnt;
    for (s_power_scan_data.offset = 0; s_power_scan_data.offset < s_power_scan_data.actual_freq_count; s_power_scan_data.offset++) 
    {
        if (PWRSCAN_WriteFreqStep(s_power_scan_data.offset, 
                                  s_power_scan_data.frequency_step_hz, 
                                  s_power_scan_data.power_scan_input.symbol_rate_khz*1000) == False)
        {
            s_power_scan_data.b_abort = True;
            return;
        }
        
        s_power_scan_data.total_freq_offset_hz = PWRSCAN_GetTotalFreqOffset(s_power_scan_data.center_frequency_hz, 
                                                                            s_power_scan_data.frequency_step_hz);
        s_power_scan_data.curr_abs_freq_khz = (s_power_scan_data.tuner_freq_khz - s_power_scan_data.total_freq_offset_hz/1000); 
        
#if STS_ENABLE_VERBOSE_LOG
        STSDBG_WR_INT(" | Absolute freq (khz) = ", s_power_scan_data.curr_abs_freq_khz);
        //WINDBG_FileWriteNewLine();
#endif /* STS_ENABLE_VERBOSE_LOG */

        s_power_scan_data.abs_freq_hz = s_power_scan_data.curr_abs_freq_khz; 

        s_power_scan_data.abs_freq_hz *= 1000UL;
        
        if (s_power_scan_data.abs_freq_index < s_power_scan_data.max_index)
        {
            p_freq_reading[s_power_scan_data.abs_freq_index] = (s_power_scan_data.tuner_freq_khz - s_power_scan_data.total_freq_offset_hz/1000) * 1000UL;

                
#if STS_ENABLE_VERBOSE_LOG
        STSDBG_WR_UNSIGNED(" p_freq_reading", p_freq_reading[s_power_scan_data.abs_freq_index]);
        STSDBG_WR_INT(" | center_frequency_hz = ", s_power_scan_data.center_frequency_hz);
        if (s_power_scan_data.frequency_step_hz == 0)
        {
            STSDBG_WR_INT(" | frequency_step_hz =           ", s_power_scan_data.frequency_step_hz);
        }
        else
        {
            STSDBG_WR_INT(" | frequency_step_hz = ", s_power_scan_data.frequency_step_hz);
        }
        STSDBG_WR_INT(" | tuner_freq_khz = ", s_power_scan_data.tuner_freq_khz);
        STSDBG_WR_INT_LN(" | total_freq_offset_hz = ", s_power_scan_data.total_freq_offset_hz/1000);
#endif /* STS_ENABLE_VERBOSE_LOG */      

            s_power_scan_data.abs_freq_index++;
        }

        if (s_power_scan_data.abs_freq_hz < TUNER_LOW_LIMIT)
        {
            STSDBG_WR_UNSIGNED_LN("Exceeded low offset", s_power_scan_data.abs_freq_hz);
            s_power_scan_data.actual_freq_count = s_power_scan_data.offset+1;
            s_power_scan_data.b_last_set = True;
            break; 
        }
        else if (s_power_scan_data.abs_freq_hz > TUNER_HIGH_LIMIT)
        {
            STSDBG_WR_UNSIGNED_LN("Exceeded high offset = ", s_power_scan_data.abs_freq_hz);
            s_power_scan_data.actual_freq_count = s_power_scan_data.offset+1;
            s_power_scan_data.b_last_set = True;
            break; 
        }

        if (s_power_scan_data.center_frequency_hz <= -s_power_scan_data.center_frequency_upperbound_hz)
        {
#if STS_ENABLE_VERBOSE_LOG
            STSDBG_WR_INT_LN("Completed specified range = ", (s_power_scan_data.center_frequency_hz + s_power_scan_data.frequency_step_hz));
#endif /* STS_ENABLE_VERBOSE_LOG */
            s_power_scan_data.actual_freq_count = s_power_scan_data.offset+1;
            s_power_scan_data.b_last_set = True;
            break;
        }
        s_power_scan_data.delta_abs_freq_khz = abs(s_power_scan_data.curr_abs_freq_khz - s_power_scan_data.abs_freq_khz);

        s_power_scan_data.frequency_step_hz += s_power_scan_data.power_scan_input.step_size_hz; 
    }      

    /* 7)  Set STS page=1, add=0x00,  load 0 */
#if STS_ENABLE_VERBOSE_LOG
    STSDBG_WR_INT_LN("actual_freq_count", s_power_scan_data.actual_freq_count);
#endif /* STS_ENABLE_VERBOSE_LOG */

    PWRSCAN_WriteFreqCount(s_power_scan_data.actual_freq_count); 

    if (PWRSCAN_WaitForMeasurement() == True)
    {
        for (s_power_scan_data.offset = 0; s_power_scan_data.offset < s_power_scan_data.actual_freq_count; s_power_scan_data.offset++) 
        {
            if (STS_READ_OFFSET(STS_POWER_ACCUM_SCALED, s_power_scan_data.offset, &s_power_scan_data.reg_value) == False)
            {
                STSDBG_WR_INT_LN("Read failed for power count = ", s_power_scan_data.offset);
                s_power_scan_data.b_abort = True;
                return;
            }
            if (s_power_scan_data.power_index < s_power_scan_data.max_index)
            {
                p_power_reading[s_power_scan_data.power_index] = s_power_scan_data.reg_value;
                s_power_scan_data.power_index++;

                /* Record the max reading */
                if (s_power_scan_data.reg_value > *p_max_pwr_reading)
                {
                    *p_max_pwr_reading = s_power_scan_data.reg_value;
                }
            }
        }            
    }
    else 
    {
        STSDBG_WR_STR("Measurement ready bit stuck (aborting scan...) = ", True);
        s_power_scan_data.b_abort = True;
        return;
    }

    /* 8) Clear PWRSCAN_Ready (STS Page=0, Add=0x6) */
    PWRSCAN_ReadyClear();    

    s_power_scan_data.center_frequency_hz = PWRSCAN_GetNextCenterFreq(s_power_scan_data.actual_freq_count, 
                                                                      s_power_scan_data.power_scan_input.step_size_hz);
    
#if STS_ENABLE_VERBOSE_LOG
    STSDBG_WR_INT_LN ("----- Freq group starting: ", s_power_scan_data.center_frequency_hz);
    STSDBG_WR_INT_LN ("iter: ", s_power_scan_data.iter);
#endif /* STS_ENABLE_VERBOSE_LOG */
    s_power_scan_data.iter++;
}


static BOOL   
PWRSCAN_Step2StopCriterion()
{
    if (s_power_scan_data.b_last_set == True) /* absolute frequency reached the limit */
    {
        STSDBG_WR_INT_LN("b_last_set = ", s_power_scan_data.b_last_set);        
        return (True);
    }

    if (s_power_scan_data.iter > s_power_scan_data.max_number_of_sets)
    {
        STSDBG_WR_INT("iter = ", s_power_scan_data.iter);
        STSDBG_WR_INT_LN(" | exceeded or equal max sets = ", s_power_scan_data.max_number_of_sets);
        return (True);
    }

    return (False);
}


static STATE* 
PWRSCAN_Step2Stop()
{
    DBG_CHECK_FSM_LIMITS(&pwrscan_stop_state);
	return &pwrscan_stop_state;
}


static BOOL   
PWRSCAN_Step2AbortCriterion()
{
    if (s_power_scan_data.b_abort == True)
    {
        return (True);
    }
    return (False);
}


static STATE* 
PWRSCAN_Step2Abort()
{
    DBG_CHECK_FSM_LIMITS(&pwrscan_abort_state);
	return &pwrscan_abort_state;
}

#if (HAMARO_INCLUDE_DEBUG & PWRSCAN_USE_EXTERNAL_POWER_SPECTRUM_FILE)
static FILE *stream;
/*static*/ void 
PWRSCAN_FillTestDataFromFile()
{
    unsigned long last_freq = 0, first_freq = 0;
    unsigned long read_freq = 0;
    short index = *p_filled_buffer_length-1;
    unsigned short read_power;

    if((stream = fopen("C:\\dev\\Hamaro\\Software\\src\\Driver\\pwrspectrum.txt", "r+")) == NULL)
    {
        return;
    }    

    if (STS_GetFirstFreq(&first_freq) == False)
    {
        return;
    }

    if (STS_GetLastFreq(&last_freq) == False)
    {
        return;
    }

    do 
    {
        if (fscanf(stream, "%d %d", &read_freq, &read_power) == EOF)
        {
            return;
        }
    } while (read_freq != first_freq);

    p_freq_reading[index]  = read_freq;  
    p_power_reading[index] = read_power;
    index--;

    do 
    {
        if (fscanf(stream, "%d %d", &read_freq, &read_power) == EOF)
        {
            return;
        }
        p_freq_reading[index]  = read_freq;  
        p_power_reading[index] = read_power;
        index--;
        if (index < 0)
        {
            break;
        }
    } while (read_freq != last_freq);

    fclose(stream);
}
#else /* HAMARO_INCLUDE_DEBUG & PWRSCAN_USE_EXTERNAL_POWER_SPECTRUM_FILE */
static void 
PWRSCAN_FillTestDataFromFile()
{
    /* do nothing */
}
#endif /* HAMARO_INCLUDE_DEBUG & PWRSCAN_USE_EXTERNAL_POWER_SPECTRUM_FILE*/


/*****************************************************************************/
/* PWRSCAN_SmoothingFilter. Does Symmetrical averaging. */
/*  */
/*****************************************************************************/
#define PWRSCAN_MAX_SAMPLES_TO_AVERAGE  31
/*static*/ BOOL
PWRSCAN_SmoothingFilter() /* use this only for the main buffer */
{
    unsigned short index, min_index, max_index;
    unsigned short average_index, buffer_index;
    unsigned short copy_src_index, copy_dst_index;
    unsigned long  average_accum;
    unsigned short temp_buffer[PWRSCAN_MAX_SAMPLES_TO_AVERAGE];

    if (s_power_spectrum_data.filled_buffer_len == 0)
    {

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看视频一区二区欧美日韩| 国产成人免费视频网站| 欧美精品一区二区三区蜜桃| 日本韩国欧美在线| 国产精品亚洲综合一区在线观看| 亚洲国产精品视频| 日韩一区有码在线| 精品久久人人做人人爽| 欧美综合一区二区三区| 国产成人av自拍| 日本亚洲欧美天堂免费| 亚洲欧美日韩久久| 久久九九99视频| 91精品国产欧美一区二区18| 91久久免费观看| www.综合网.com| 国产激情偷乱视频一区二区三区| 婷婷成人激情在线网| 97久久人人超碰| 国产一区在线不卡| 日日摸夜夜添夜夜添国产精品| 亚洲欧美日韩久久精品| 国产精品久久久久久久久免费桃花| 欧美电视剧在线看免费| 欧美日本韩国一区二区三区视频| 91美女在线观看| 大尺度一区二区| 国产成人亚洲精品青草天美| 美女视频黄 久久| 日韩国产高清影视| 亚洲国产精品久久不卡毛片 | 中文字幕欧美区| 日韩欧美国产电影| 91精品国产综合久久久久久漫画| 一本到三区不卡视频| av资源网一区| 成人免费精品视频| 不卡视频免费播放| 国产成人免费在线视频| 国产九色精品成人porny| 老司机免费视频一区二区三区| 午夜欧美视频在线观看| 亚洲午夜精品在线| 亚洲r级在线视频| 亚洲一区在线观看免费| 一区二区三区影院| 一区二区三区欧美激情| 亚洲自拍欧美精品| 日韩高清一级片| 另类小说图片综合网| 国产在线国偷精品产拍免费yy| 精品一区二区三区影院在线午夜| 久草在线在线精品观看| 狠狠网亚洲精品| 国产高清无密码一区二区三区| 国产成人福利片| 色系网站成人免费| 欧美三日本三级三级在线播放| 3d动漫精品啪啪| 久久久亚洲综合| 国产精品的网站| 亚洲综合色视频| 婷婷中文字幕一区三区| 国产曰批免费观看久久久| 国产精品888| 91蜜桃在线观看| 欧美日韩亚洲综合| 精品美女在线观看| 国产精品日韩精品欧美在线| 亚洲午夜免费福利视频| 蜜桃久久av一区| 国产成人8x视频一区二区| 一本一本大道香蕉久在线精品| 欧美日韩精品一区视频| www成人在线观看| 亚洲激情一二三区| 免费成人你懂的| 不卡一区二区中文字幕| 91精品综合久久久久久| 国产精品久久99| 青椒成人免费视频| 国产精品羞羞答答xxdd| 欧美网站一区二区| 久久女同性恋中文字幕| 伊人色综合久久天天人手人婷| 日韩av电影天堂| www.欧美亚洲| 欧美一区二区三区免费| 中文字幕在线观看一区| 日韩av中文字幕一区二区| 成人的网站免费观看| 欧美一级欧美一级在线播放| 国产精品久久福利| 麻豆国产精品视频| 一本久道久久综合中文字幕 | 精品1区2区3区| 国产亚洲成aⅴ人片在线观看 | 成人免费高清视频| 欧美色图在线观看| 国产女人aaa级久久久级| 亚洲国产日韩a在线播放性色| 国产一区欧美二区| 欧美伦理影视网| 亚洲人成精品久久久久久| 另类中文字幕网| 欧美色视频在线| 最新中文字幕一区二区三区| 乱一区二区av| 欧美影院午夜播放| 国产精品系列在线| 国产在线视频精品一区| 欧美日韩国产另类一区| 亚洲欧美日韩国产综合| 高清不卡一区二区| 久久综合九色综合欧美就去吻| 亚洲成人一二三| 欧美在线小视频| 亚洲欧洲精品一区二区三区 | 国产亚洲精品aa午夜观看| 亚欧色一区w666天堂| 色综合色综合色综合| 国产精品国产自产拍在线| 国产激情视频一区二区三区欧美| 日韩一区二区三区在线视频| 日韩中文字幕一区二区三区| 欧美视频自拍偷拍| 亚洲精品视频在线观看免费| 成人av在线一区二区三区| 国产亚洲制服色| 国产精品99久久久久久宅男| 精品国产伦理网| 激情久久久久久久久久久久久久久久| 3751色影院一区二区三区| 亚洲国产视频一区| 一本色道久久综合亚洲aⅴ蜜桃| 国产精品污www在线观看| 成人毛片视频在线观看| 国产精品久久久久一区二区三区共| 国产99久久精品| 国产精品久久毛片| 99久久精品国产一区二区三区| 综合久久久久久久| 色哟哟国产精品免费观看| 亚洲激情图片小说视频| 欧美日韩免费观看一区三区| 亚洲成av人片一区二区梦乃| 欧美一级二级三级乱码| 九九视频精品免费| 国产性天天综合网| 不卡在线视频中文字幕| 亚洲精品成a人| 在线播放欧美女士性生活| 麻豆传媒一区二区三区| 久久精品日产第一区二区三区高清版| 国产精品 日产精品 欧美精品| 亚洲国产岛国毛片在线| 色婷婷久久99综合精品jk白丝| 一区二区三区国产| 日韩一级精品视频在线观看| 久久精品国产一区二区| 欧美极品aⅴ影院| 欧洲另类一二三四区| 蜜桃传媒麻豆第一区在线观看| 精品免费国产二区三区| heyzo一本久久综合| 亚洲超碰97人人做人人爱| 日韩视频国产视频| 成人黄色小视频在线观看| 亚洲自拍都市欧美小说| 欧美成人三级在线| 92国产精品观看| 午夜电影一区二区| 26uuu国产一区二区三区| eeuss国产一区二区三区| 亚洲大型综合色站| 国产色综合一区| 欧美日韩久久一区| 国产成人丝袜美腿| 亚洲不卡在线观看| 中文无字幕一区二区三区| 欧美三级电影在线看| 国产一区二区福利视频| 夜夜精品视频一区二区| 久久尤物电影视频在线观看| 日本韩国欧美国产| 国产一区二区视频在线| 亚洲资源在线观看| 国产欧美一区二区精品婷婷| 在线观看av一区二区| 91年精品国产| 蜜桃视频在线一区| 亚洲自拍偷拍av| 亚洲国产成人私人影院tom| 制服丝袜亚洲播放| 成人av网站在线观看| 精彩视频一区二区三区| 亚洲已满18点击进入久久| 久久久欧美精品sm网站| 欧美猛男男办公室激情| bt欧美亚洲午夜电影天堂|