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

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

?? hamaro_srbin.c

?? QPSK Tuner details, for conexant chipset.
?? C
?? 第 1 頁 / 共 3 頁
字號:
                    STSDBG_WR_UNSIGNED_LN(" DMD LOCK Detect SR - khz = ", delta_sr/1000);   
                    break;
            }  
        }
    }

    if (try_next_channel)
    {
        HAMARO_SetSymbolRate(hamaro_nim_list.nim[0],channel_info.symbol_rate_hz+delta_sr);

        while((clock() - start)<delta_tm*4)
        {
            if ((*addr)&0x02)
            {
                    try_next_channel = 0;
                    channel_info.symbol_rate_hz += delta_sr;
                    end = clock();
                    if (max_dmd_lock_detect_time<(end-start))
                        max_dmd_lock_detect_time = end-start;
                        
                    STSDBG_WR_UNSIGNED_LN(" DMD LOCK Detect SR + khz = ", delta_sr/1000);   
                    break;
            }  
        }
    }
    
    STSDBG_WR_UNSIGNED_LN(" DMD LOCK Detect Passed? ", !try_next_channel);
    end = clock();
    STSDBG_WR_UNSIGNED_LN(" DMD LOCK Detect Time = ", end-start);    
    
    /* set aagc as the time value, only for test */
    //channel_info.aagc = end - start;
    channel_info.aagc = !try_next_channel;
    if(channel_index != 0)
    {
      STS_SetChannel(channel_info, channel_index-1);
    }
}

static void   
SRBIN_NextBinEnter()
{
    long cf = 0;
     
    if( try_next_channel )
    {
        return;
    }
    SRBIN_SetTimer1(); /* BTL lock timeout */
    SRBIN_SetTimer2(); /* Lock test timeout */
    SRBIN_SetTimer_us(); //need confirmation, no improvement.

    SrbinHighFlag = 0;
    SrbinLowFlag  = 0;
        
    //nom_sym_rate_hz = channel_info.symbol_rate_hz+SRBIN_BTL_MAX_ONE_SIDE_PPM_HIGH;// + sym_rate_bound;
    
                
    if (channel_info.symbol_rate_hz>35000000)
    {
        sym_rate_bound = 10000000;
        nom_sym_rate_hz = channel_info.symbol_rate_hz + 5000000;
        bin_timeout_msec = 180;
    }
    else if (channel_info.symbol_rate_hz>20000000)
    {
        sym_rate_bound = 8000000;
        nom_sym_rate_hz = channel_info.symbol_rate_hz + 4000000;
        bin_timeout_msec = 200;
    }
    else if (channel_info.symbol_rate_hz>10000000)
    {
        sym_rate_bound = 3000000;  
        nom_sym_rate_hz = channel_info.symbol_rate_hz + 3000000; 
        bin_timeout_msec = 250;
    }
    else if ( channel_info.symbol_rate_hz>3000000 )
    {
        nom_sym_rate_hz = channel_info.symbol_rate_hz+1400000;
        sym_rate_bound = 1400000;
        bin_timeout_msec = 450;
    }
    else
    {
        nom_sym_rate_hz = channel_info.symbol_rate_hz+800000;
        sym_rate_bound = 800000;
        bin_timeout_msec = 550;
    }
    
    if( nom_sym_rate_hz > SRBIN_MAX_SR_KHZ*1000)
    {
        nom_sym_rate_hz = SRBIN_MAX_SR_KHZ*1000;
    }
     
    //bin_timeout_msec = 400 - (float)nom_sym_rate_hz/1000*0.006;
    //trace("Timeout msec %d\n",bin_timeout_msec);
    
    if( bin_timeout_msec <= 0 )
    {
        bin_timeout_msec = 150;
    }
    
    SRBIN_FillOrderedSRTable(channel_info.symbol_rate_hz, sym_rate_bound/1000);
 
    STSDBG_WR_UNSIGNED("[nom_sym_rate_hz] = ", channel_info.symbol_rate_hz);//nom_sym_rate_hz);
    STSDBG_WR_UNSIGNED_LN(" | [freq_hz] = ", channel_info.carrier_freq_hz);
    
    
    
     if( channel_info.symbol_rate_hz >= SRBIN_MIN_SR_KHZ*1000 
        && channel_info.symbol_rate_hz <= SRBIN_MAX_SR_KHZ*1000)
    {
        volatile unsigned char *addr;
        
        addr = (volatile unsigned char *)0x304E000C;
        *addr = 0x00;
        SRBIN_ChangeChannel(channel_info.symbol_rate_hz);        
        
        try_next_channel = 1;
        HAMARO_GetCentralFreq(hamaro_nim_list.nim[0], &cf);
        STSDBG_WR_INT_LN("Central Freq = ",cf );
        SRBIN_NextBin_PreBin();
        
        /* try freq - 1M */
        if(try_next_channel)
        {
            HAMARO_SetCentralFreq(hamaro_nim_list.nim[0], cf-1000000);
            STSDBG_WR_STR("FREQ - 1M",True);
            SRBIN_NextBin_PreBin();
        }
        
        /* try freq + 1M */
        if(try_next_channel)
        {
            HAMARO_SetCentralFreq(hamaro_nim_list.nim[0], cf+1000000);
            STSDBG_WR_STR("FREQ + 1M",True);
            SRBIN_NextBin_PreBin();
        }
        
        addr = (unsigned char *)0x304E000C;
        *addr = 0x07;
    }
    else
    {
       try_next_channel = 1;
    }
    
    num_attempts = 0;    
}


static void   
SRBIN_NextBin() /* Regular task */
{
      unsigned long limit = 0;
      
      limit = channel_info.symbol_rate_hz - (sym_rate_bound);
      if (limit< SRBIN_MIN_SR_KHZ*1000)
          limit = SRBIN_MIN_SR_KHZ*1000;

    if (SRBIN_GetElapsedTime1MilliSec() >= bin_timeout_msec)
    {

        SRBIN_SetTimer1();
        
        if ((nom_sym_rate_hz - btl_bin_size_hz) < limit) //(channel_info.symbol_rate_hz - (sym_rate_bound))) /* reached limit */ 
        {
            if (num_attempts != max_num_attempts) /* Attempt few more cycles */
            {
                nom_sym_rate_hz = channel_info.symbol_rate_hz;// + sym_rate_bound;
                num_attempts++;
                STSDBG_WR_UNSIGNED("[Completed attempt] = ", num_attempts);
                STSDBG_WR_UNSIGNED_LN(" | [freq_MHz] = ", channel_info.carrier_freq_hz/1000000);
            }            
        }
        else
        {
            nom_sym_rate_hz = nom_sym_rate_hz - btl_bin_size_hz; /* Go in the positive direction only */
        }
        
        if (nom_sym_rate_hz < SRBIN_MIN_SR_KHZ*1000)
        {
            nom_sym_rate_hz = channel_info.symbol_rate_hz - (sym_rate_bound);
        }
        else
        {
            nom_sym_rate_hz = SRBIN_GetMatchedSR(nom_sym_rate_hz);
            if(nom_sym_rate_hz < SRBIN_MIN_SR_KHZ*1000)
            {
                if (num_attempts != max_num_attempts) /* Attempt few more cycles */
                {
                    nom_sym_rate_hz = channel_info.symbol_rate_hz;// + sym_rate_bound;
                    num_attempts++;
                    STSDBG_WR_UNSIGNED("[Completed attempt] = ", num_attempts);
                    STSDBG_WR_UNSIGNED_LN(" | [freq_MHz] = ", channel_info.carrier_freq_hz/1000000);
                }  
            }
            else
            {
                SRBIN_ChangeChannel(nom_sym_rate_hz);
                STSDBG_WR_UNSIGNED_LN("[nom_sym_rate_KHz] = ", nom_sym_rate_hz/1000);
            }
        }
    }
    
    if ((nom_sym_rate_hz==0) )//|| (sym_rate_bound==0))
            nom_sym_rate_hz = channel_info.symbol_rate_hz - (sym_rate_bound);
}

static BOOL   
SRBIN_NextBin2LockTestCriterion()
{
    HAMARO_LOCKIND lockinds;
    volatile unsigned char *addr;
    unsigned long reg_val;
    
     if ( !try_next_channel && SRBIN_GetElapsedTime1US() >= locktest_timeout_msec)
    {

        //SRBIN_SetTimer2(); /* Lock test timeout */
        SRBIN_SetTimer_us();
        
        addr = (unsigned char *)0x304e01B0;
        reg_val = *addr;
        
        reg_val &= !0x00000030;
        reg_val |= 0x10;        
        *addr = reg_val;
         
        if (STS_GetLockIndicators(&lockinds) == False)
        {
            return (False);
        }
        else
        {
            if (lockinds.syncbyte == True)
            {
                lock_achieved = True;
                return (True);
            }
        }
        
        reg_val = *addr;        
        reg_val &= !0x00000030;
        *addr = reg_val;
        
    }
    return (False);
}

static STATE* 
SRBIN_NextBin2LockTest()
{
    DBG_CHECK_FSM_LIMITS(&sr_bin_lock_test_state);
    return &sr_bin_lock_test_state;
}

static BOOL   
SRBIN_NextBin2CleanupCriterion()
{
    return (False);
}

static BOOL   
SRBIN_NextBin2NextChannelCriterion()
{
    if ((num_attempts >= max_num_attempts)||(try_next_channel == 1))
    {
        return (True);
    }
    return (False);
}

static STATE* 
SRBIN_NextBin2NextChannel()
{
    DBG_CHECK_FSM_LIMITS(&sr_bin_next_channel_state);
    return &sr_bin_next_channel_state;
}

static STATE* 
SRBIN_NextBin2Cleanup()
{
    DBG_CHECK_FSM_LIMITS(&sr_bin_cleanup_state);
    return &sr_bin_cleanup_state;
}

/* Symbol rate binning: Lock Test state */
static void   
SRBIN_LockTestEnter() 
{
    long btl = 0;
    long acq_offset = 0;
    unsigned long actual_sym_rate;

    STSDBG_WR_STR("-- CHANNEL LOCK --", True);
    
    STS_GetBTL(&btl);
    HAMARO_GetSymbolRate( hamaro_nim_list.nim[0],&actual_sym_rate );
    STSDBG_WR_INT_LN ("SYM RATE = ", actual_sym_rate);
    STS_GetAcquisitionOffset(&acq_offset);

    STSDBG_WR_INT_LN ("BTL = ", btl);
    channel_info.symbol_rate_hz = (unsigned long)((long)actual_sym_rate + btl);
    sr_last_known_good_khz = channel_info.symbol_rate_hz/1000;
    
    STSDBG_WR_UNSIGNED_LN ("Final symbol rate = ", channel_info.symbol_rate_hz);

    STSDBG_WR_INT_LN ("Acq offset = ", acq_offset);
    channel_info.carrier_freq_hz = (unsigned long)((long)channel_info.carrier_freq_hz + acq_offset);
    STSDBG_WR_UNSIGNED_LN ("Final carrier freq = ", channel_info.carrier_freq_hz);

    STS_GetViterbiRate(&channel_info.code_rate);
    STS_GetSpectralInversion(&channel_info.spec_inv);
    
    /* Following parameters are assumed */
    channel_info.mod_type  = HAMARO_MOD_QPSK;
    //channel_info.lnb_pol   = HAMARO_LNB_HIGH;
    HAMARO_GetLNBDC (hamaro_nim_list.nim[0], &channel_info.lnb_pol);
    channel_info.lnb_tone  = HAMARO_LNBTONE_OFF;
    channel_info.tran_spec = HAMARO_SPEC_DVB;

    channel_info.good_channel = True;

    if (channel_index != 0)
    {
        STS_SetChannel(channel_info, channel_index-1);
    }
}

static BOOL   
SRBIN_LockTest2NextChannelCriterion()
{
    if (lock_achieved == True)
    {
        return (True);
    }
    return (False);
}

static STATE* 
SRBIN_LockTest2NextChannel()
{
    DBG_CHECK_FSM_LIMITS(&sr_bin_next_channel_state);
    return &sr_bin_next_channel_state;
}

static void   
SRBIN_LockTest()
{
}

static void   
SRBIN_CleanupEnter()
{
    SRBIN_DumpChannelList("SRBIN_CleanupEnter",0);
    STS_ProgramAFC(SRBIN_DEFAULT_ACQ_AFC_EXPIRATION_WINDOW);
    STS_BTLAccumClearSelect(SRBIN_BTL_RESET_WHEN_REACQUIRE);
 
    //HAMARO_RegisterWrite(hamaro_nim_list.nim[0], CX2430X_ACQACCCLREN, 0x2C, HAMARO_DEMOD_I2C_IO);  

    STSDBG_WR_UNSIGNED_LN("STS_ProgramAFC() = ", SRBIN_DEFAULT_ACQ_AFC_EXPIRATION_WINDOW);
    
    STSDBG_WR_UNSIGNED_LN(" max_dmd_lock_detect_time = ", max_dmd_lock_detect_time);
    
    /* restore the Btl BandWidth value */
    HAMARO_RegisterWrite(hamaro_nim_list.nim[0],CX2430X_BTLBW,0, HAMARO_DEMOD_I2C_IO);
}

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

static STATE* 
SRBIN_Cleanup2Ready()
{
    DBG_CHECK_FSM_LIMITS(&sr_bin_ready_state);
    return &sr_bin_ready_state;
}

/* Symbol rate binning: Ready state */
static void   
SRBIN_ReadyEnter()
{
    /* do nothing */
}

int SRBIN_GetMaxCandidateAAGC( void )
{
    int i;
    HAMARO_STS_CHANNEL_INFO temp_ch_info;
    int aagc,max_aagc;
    
    max_aagc =-128;
    for(i=0;i<max_channels;i++)
    {
        STS_GetChannel(i, &temp_ch_info);
        chan_obj.coderate   = HAMARO_CODERATE_3DIV4;
        chan_obj.frequency  = temp_ch_info.carrier_freq_hz;
        
        HAMARO_GetLNBDC (hamaro_nim_list.nim[0], &chan_obj.lnbpol);
        chan_obj.lnbtone    = HAMARO_LNBTONE_OFF;
        chan_obj.modtype    = HAMARO_MOD_QPSK;
        chan_obj.specinv    = HAMARO_SPEC_INV_OFF_BOTH;
        chan_obj.symbrate   = temp_ch_info.symbol_rate_hz/1000;
        chan_obj.transpec   = HAMARO_SPEC_DVB;
        chan_obj.viterbicoderates = (HAMARO_CODERATE_2DIV3 | HAMARO_CODERATE_1DIV2 |HAMARO_CODERATE_7DIV8 |
                                     HAMARO_CODERATE_4DIV5 | HAMARO_CODERATE_5DIV6 | HAMARO_CODERATE_6DIV7);
        
        STS_ChangeChannel(&chan_obj);
        task_time_sleep(50);
        HAMARO_GetAGCAcc(hamaro_nim_list.nim[0], &aagc);
        if( aagc > max_aagc )
        {
            max_aagc = aagc;
        }
    }
    
    return max_aagc;
}
#endif /* #if HAMARO_SCAN_THE_SKY */



?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
奇米影视一区二区三区小说| 国产凹凸在线观看一区二区| 激情综合五月天| 91在线视频免费91| 精品欧美一区二区三区精品久久| 国产精品另类一区| 日韩不卡一区二区| 色诱视频网站一区| 国产亚洲欧美激情| 日韩精品成人一区二区在线| 91色.com| 欧美国产日韩一二三区| 奇米影视一区二区三区| 色一情一乱一乱一91av| 中文成人av在线| 九色|91porny| 欧美一区二区在线不卡| 亚洲国产日韩在线一区模特 | 91色九色蝌蚪| 久久婷婷国产综合国色天香| 日韩黄色片在线观看| 欧美三级资源在线| 一区二区三区免费看视频| bt7086福利一区国产| 亚洲国产成人自拍| 国产91对白在线观看九色| 久久精品夜色噜噜亚洲aⅴ| 麻豆成人免费电影| 欧美一区二区大片| 日韩专区中文字幕一区二区| 欧美色涩在线第一页| 亚洲码国产岛国毛片在线| 成人免费视频免费观看| 久久久不卡网国产精品二区| 国产在线精品一区二区三区不卡| 国产亚洲成aⅴ人片在线观看| 日韩电影一二三区| 欧美成人官网二区| 麻豆国产一区二区| ww久久中文字幕| av在线不卡网| 欧美日韩国产综合草草| 亚洲蜜臀av乱码久久精品| 91在线观看视频| 亚洲品质自拍视频网站| 色欧美片视频在线观看在线视频| 亚洲日本在线视频观看| 风间由美性色一区二区三区| 国产精品色一区二区三区| 不卡大黄网站免费看| 亚洲精品第一国产综合野| 欧美亚洲免费在线一区| 视频一区二区三区入口| 精品国产乱码久久久久久久| 国产一区二区三区不卡在线观看 | 国产精品一区二区不卡| 国产精品久久久久久妇女6080| av在线不卡网| 丝袜美腿亚洲综合| 久久婷婷一区二区三区| 成人国产视频在线观看| 亚洲综合色丁香婷婷六月图片| 欧美日韩在线综合| 国产真实乱子伦精品视频| 国产精品理论片| 国产日韩精品一区二区三区 | 日本大胆欧美人术艺术动态| 欧美videossexotv100| 成人免费福利片| 亚洲综合成人在线| 2021国产精品久久精品| 一本久道久久综合中文字幕| 久久国内精品自在自线400部| 欧美激情艳妇裸体舞| 欧美日韩一级视频| 国产精品69久久久久水密桃| 亚洲六月丁香色婷婷综合久久| 日韩一区和二区| 91偷拍与自偷拍精品| 免费观看在线综合| 亚洲人成7777| 国产欧美日韩激情| 欧美一级生活片| 97aⅴ精品视频一二三区| 另类小说一区二区三区| 亚洲色图一区二区| 久久久久高清精品| 91麻豆精品国产自产在线观看一区 | 欧美年轻男男videosbes| 粉嫩av一区二区三区| 日日夜夜免费精品视频| 亚洲免费毛片网站| 欧美激情一区二区三区不卡| 欧美一区二区三区啪啪| 在线免费av一区| 99国产精品国产精品久久| 狠狠色丁香久久婷婷综合_中| 亚洲成人动漫在线免费观看| 亚洲一二三四在线| 一区二区在线电影| 中文字幕第一区综合| 26uuu亚洲| 91精品国产黑色紧身裤美女| 欧美性淫爽ww久久久久无| 成人少妇影院yyyy| 国产成人午夜精品影院观看视频| 日本视频在线一区| 日韩国产欧美三级| 一区二区三区蜜桃| 亚洲在线一区二区三区| 亚洲欧美日韩国产手机在线| 国产精品卡一卡二卡三| 国产精品女同一区二区三区| 日本一区二区免费在线| 国产欧美一二三区| 国产三级一区二区| 国产色产综合色产在线视频| 久久久久国产成人精品亚洲午夜| 精品国产第一区二区三区观看体验| 日韩欧美激情一区| 日韩女优视频免费观看| 精品国产免费久久| 精品粉嫩aⅴ一区二区三区四区| 精品国产污污免费网站入口| 欧美大片日本大片免费观看| 精品免费日韩av| 国产三级一区二区| 亚洲欧洲三级电影| 一区二区三区四区视频精品免费| 亚洲精品视频自拍| 亚洲成人av资源| 蜜臀av性久久久久蜜臀aⅴ四虎| 久久国产精品区| 国产在线国偷精品免费看| 福利电影一区二区三区| 色菇凉天天综合网| 欧美狂野另类xxxxoooo| 精品国产乱码久久久久久蜜臀 | 在线免费不卡视频| 制服丝袜成人动漫| 久久亚洲综合色| 成人免费小视频| 亚洲国产精品一区二区尤物区| 蜜臀av性久久久久蜜臀aⅴ | 一片黄亚洲嫩模| 天天亚洲美女在线视频| 国产一区二区精品久久91| 成人污视频在线观看| 欧美日韩免费一区二区三区视频| 日韩精品专区在线| 国产精品国产三级国产| 日日夜夜一区二区| 成人久久18免费网站麻豆 | www.欧美色图| 欧美日韩免费高清一区色橹橹| 欧美mv日韩mv国产网站| 国产精品美女久久久久aⅴ | 欧美一区二区视频网站| 国产欧美一二三区| 天天免费综合色| 波多野洁衣一区| 日韩欧美精品在线视频| 亚洲激情在线播放| 国产一区二区在线视频| 欧美午夜精品一区二区蜜桃 | 日韩精品一区二区三区中文不卡 | 日韩在线观看一区二区| 床上的激情91.| 欧美一级欧美一级在线播放| 国产精品久久久久久久第一福利| 蜜臀av一级做a爰片久久| a级精品国产片在线观看| 日韩精品一区二区三区视频在线观看 | 51精品秘密在线观看| 国产蜜臀av在线一区二区三区| 日本人妖一区二区| 91麻豆精品秘密| 欧美国产日韩在线观看| 久久成人av少妇免费| 欧美精品视频www在线观看| 亚洲欧美偷拍三级| 岛国一区二区在线观看| 久久先锋资源网| 美女视频黄 久久| 欧美剧情片在线观看| 一区二区三区丝袜| 99re这里只有精品首页| 2021中文字幕一区亚洲| 精品在线观看免费| 欧美一区二区三区免费视频| 亚洲成人免费在线| 欧美揉bbbbb揉bbbbb| 一区二区三区在线视频观看| 成人国产精品免费| 久久久国产一区二区三区四区小说| 美国十次了思思久久精品导航| 欧美日韩黄色一区二区| 午夜在线成人av| 欧美欧美午夜aⅴ在线观看| 午夜在线成人av|