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

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

?? hamaro_srbin.c

?? 機頂盒Hamaro解調器驅動。包含自動搜臺
?? 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 */



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品国产三级国产普通话三级| 亚洲欧美日韩国产综合| 成人免费一区二区三区视频 | 色欧美日韩亚洲| 91精品国产91综合久久蜜臀| 欧美一区二区三区视频| 中文字幕一区二区三区不卡在线| 国产精品传媒在线| 一区二区三区中文字幕| 韩国欧美国产一区| 91福利精品第一导航| 精品国产乱码久久久久久久久| 亚洲精品亚洲人成人网在线播放| 国产精品一级片| 日韩一级大片在线观看| 国产一区二区不卡在线 | 国产在线精品一区二区三区不卡| 99精品欧美一区| 在线视频你懂得一区二区三区| 亚洲乱码中文字幕| 欧美精品色综合| 亚洲午夜国产一区99re久久| 一区二区成人在线| 欧美一级片在线观看| 免费视频最近日韩| 欧美一区二区三区白人| 亚洲自拍偷拍麻豆| 久久网站最新地址| 国产成人av福利| 亚洲国产美女搞黄色| 欧美激情在线观看视频免费| 欧美一级国产精品| 欧美亚洲一区三区| 在线亚洲欧美专区二区| 麻豆一区二区三| 美女性感视频久久| 久久精品国产亚洲aⅴ| 国产激情一区二区三区四区| 男女性色大片免费观看一区二区 | 亚洲摸摸操操av| 日韩网站在线看片你懂的| 日韩一区二区三区在线| 欧美日韩三级一区二区| 欧美日韩亚洲综合在线| 欧美日韩国产不卡| 国产欧美一区二区精品性色 | 国产精一品亚洲二区在线视频| 久久国产免费看| 国产成人av电影| 91极品视觉盛宴| 88在线观看91蜜桃国自产| 日韩女同互慰一区二区| 亚洲欧洲国产日本综合| 亚洲高清免费视频| 亚洲一区av在线| 亚洲国产视频一区| 蜜桃精品视频在线| 色综合中文字幕国产| 91极品美女在线| 色综合久久综合| 久久综合九色综合久久久精品综合| 亚洲图片一区二区| 日本高清不卡视频| 亚洲精品美国一| 欧美三区在线观看| 琪琪久久久久日韩精品| 欧美三区在线观看| 首页国产丝袜综合| 成人高清伦理免费影院在线观看| 欧美高清激情brazzers| 亚洲美女视频在线观看| 99久久伊人精品| 九色综合狠狠综合久久| 337p亚洲精品色噜噜噜| 亚洲欧美日韩一区二区| 国产精品99久久久久久久女警| 欧美日韩在线直播| 中文字幕一区二区三区乱码在线 | 日本一区二区视频在线| 床上的激情91.| 亚洲另类在线一区| 在线这里只有精品| 日韩福利电影在线| 国产三区在线成人av| 色呦呦一区二区三区| 精品日韩欧美在线| 在线视频国内一区二区| 成人黄色软件下载| 成人免费的视频| 国产精品看片你懂得 | 麻豆成人久久精品二区三区红 | 在线免费观看日韩欧美| 免费成人美女在线观看| 国产精品私房写真福利视频| 日韩免费福利电影在线观看| 678五月天丁香亚洲综合网| 欧美艳星brazzers| 欧美亚洲日本国产| 欧美日韩精品一二三区| 91精品啪在线观看国产60岁| 欧美日韩在线免费视频| 色婷婷综合久久久久中文一区二区 | 国产一区二区电影| 香蕉久久一区二区不卡无毒影院| 国产精品的网站| 日本一区二区三区电影| 国产精品伦理在线| 中文字幕二三区不卡| 亚洲精品在线一区二区| 91一区二区在线观看| 免费成人深夜小野草| 97se亚洲国产综合自在线 | 日本精品一区二区三区高清 | 26uuu亚洲综合色| 精品少妇一区二区| 99久久综合精品| 国产在线精品一区二区不卡了| 亚洲欧美电影一区二区| 国产日韩欧美在线一区| 91精品久久久久久久99蜜桃| 一本久道中文字幕精品亚洲嫩| 国内成+人亚洲+欧美+综合在线| 日韩中文字幕麻豆| 午夜电影网一区| 亚洲欧美日韩精品久久久久| 国产亚洲欧美在线| 中文字幕成人在线观看| 久久老女人爱爱| 中文无字幕一区二区三区 | 91精品黄色片免费大全| 欧美色综合影院| 91精品啪在线观看国产60岁| 3d成人动漫网站| 欧美不卡一区二区| 国产日韩欧美不卡在线| 中文字幕一区二区三区视频| 成人欧美一区二区三区黑人麻豆| 久久蜜桃av一区精品变态类天堂 | 91麻豆精品国产91久久久久久| 欧美性xxxxx极品少妇| 色综合天天综合狠狠| 久久99精品久久久久久国产越南| 一区二区成人在线视频| 天天综合天天综合色| 人人爽香蕉精品| 国产精品原创巨作av| 色狠狠一区二区三区香蕉| 日韩精品中午字幕| 亚洲国产日韩a在线播放性色| 日韩电影在线一区二区| 懂色av一区二区三区蜜臀| 欧美日韩国产免费一区二区| 久久婷婷成人综合色| 偷拍亚洲欧洲综合| 99久久99久久综合| 2021中文字幕一区亚洲| 亚洲国产日韩综合久久精品| a级高清视频欧美日韩| 51午夜精品国产| 国产精品久久毛片av大全日韩| 老司机免费视频一区二区| 一本色道久久综合狠狠躁的推荐 | 综合欧美亚洲日本| 国产电影一区在线| 2022国产精品视频| 激情文学综合插| 国产欧美日韩不卡免费| 国产91精品一区二区麻豆亚洲| 日韩精品中午字幕| 激情欧美日韩一区二区| 精品1区2区在线观看| 美国十次综合导航| 久久久久国产精品麻豆ai换脸| 精品一区二区三区免费播放| 欧美三片在线视频观看| 亚洲永久免费视频| 欧美在线观看视频一区二区三区 | 午夜精品久久久久久久蜜桃app| 91毛片在线观看| 偷拍亚洲欧洲综合| 久久久高清一区二区三区| 91蜜桃在线免费视频| 亚洲国产日韩a在线播放性色| 欧美日韩国产综合视频在线观看 | 国产成人av自拍| 亚洲最新视频在线播放| 日韩欧美国产高清| 波多野结衣中文字幕一区 | 一区二区三区美女视频| 精品少妇一区二区三区在线播放 | 洋洋av久久久久久久一区| 欧美一区二区三区四区在线观看| 国产成人午夜视频| 石原莉奈在线亚洲三区| 亚洲免费在线观看视频| 精品久久久久久久久久久久久久久久久| 国产成人亚洲综合a∨猫咪| 亚洲一二三四区不卡| 成人免费在线视频观看| 久久久亚洲高清|