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

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

?? lnbbeio.c

?? st7710的tuner標準驅動
?? C
?? 第 1 頁 / 共 3 頁
字號:
        SEM_UNLOCK(Lock_InitTermOpenClose);
        return(Error);
    }
    /* ---------- check that at least one init has taken place ---------- */
    if(InstanceChainTop == NULL)
    {
        SEM_UNLOCK(Lock_InitTermOpenClose);
        return(STTUNER_ERROR_INITSTATE);
    }
    Instance = InstanceChainTop;
    while(1)
    {
	if ( strcmp((char *)Instance->DeviceName, (char *)DeviceName) == 0)
        {
		/* found so now xlink prev and next(if applicable) and deallocate memory */
            	InstancePrev = Instance->InstanceChainPrev;
            	InstanceNext = Instance->InstanceChainNext;
                /* if instance to delete is first in chain */
                if (Instance->InstanceChainPrev == NULL)
                {
	                InstanceChainTop = InstanceNext;        /* which would be NULL if last block to be term'd */
	                if (InstanceNext != NULL)
	                {
	                InstanceNext->InstanceChainPrev = NULL; /* now top of chain, no previous instance */
	                }
                }
                else
                {   /* safe to set value for prev instaance (because there IS one) */
                	InstancePrev->InstanceChainNext = InstanceNext;
                }
                /* if there is a next block in the chain */
                if (InstanceNext != NULL)
                {
                        InstanceNext->InstanceChainPrev = InstancePrev;
                }

            memory_deallocate(Instance->MemoryPartition, Instance);
	    memory_deallocate(Instance->MemoryPartition, Instance->LnbIOPort);
            SEM_UNLOCK(Lock_InitTermOpenClose);
            return(Error);
        }
        else if(Instance->InstanceChainNext == NULL)
        {       /* error we should have found a matching name before the end of the list */
   		SEM_UNLOCK(Lock_InitTermOpenClose);
                return(STTUNER_ERROR_INITSTATE);
        }
        else
        {
            Instance = Instance->InstanceChainNext;   /* next block */
        }

    }


    SEM_UNLOCK(Lock_InitTermOpenClose);
    #endif
    
    #ifdef STTUNER_MINIDRIVER
    memory_deallocate(LNBInstance->MemoryPartition, LNBInstance);
    Error = ST_NO_ERROR;
    #endif
    return(Error);
}

/* ----------------------------------------------------------------------------
Name: lnb_backendIO_Open()

Description:

Parameters:

Return Value:
---------------------------------------------------------------------------- */
ST_ErrorCode_t lnb_backendIO_Open (ST_DeviceName_t *DeviceName, LNB_OpenParams_t *OpenParams, LNB_Capability_t *Capability, LNB_Handle_t *Handle)
{
    ST_ErrorCode_t Error = ST_NO_ERROR;
    #ifndef STTUNER_MINIDRIVER
    LNB_BackEndIO_InstanceData_t     *Instance;
    STTUNER_InstanceDbase_t          *Inst;
    STPIO_OpenParams_t               PIO_OpenParams;

/*
	static ST_DeviceName_t PIODeviceName[] =
    {
	    "STPIO[0]",
	    "STPIO[1]",
	    "STPIO[2]",
	    "STPIO[3]",
	    "STPIO[4]",
	    "STPIO[5]",
	    "STPIO[6]",
	    "STPIO[7]" 
    };
   


	static ST_DeviceName_t PIODeviceName[] =
    {
	    "PIO0",
	     "PIO1",
	     "PIO2",
	     "PIO3",
	     "PIO4",
	     "PIO5",
	     "PIO6",
	     "PIO7" 
    };
*/  
    if(Installed == FALSE)
    {
	return(STTUNER_ERROR_INITSTATE);
    }
    Inst = STTUNER_GetDrvInst();
    /* now safe to lock semaphore */
    SEM_LOCK(Lock_InitTermOpenClose);
    /* ---------- check that at least one init has taken place ---------- */
    if(InstanceChainTop == NULL)
    {
	SEM_UNLOCK(Lock_InitTermOpenClose);
        return(STTUNER_ERROR_INITSTATE);
    }
    /* find  handle from name */
    Instance = InstanceChainTop;

    while(strcmp((char *)Instance->DeviceName, (char *)DeviceName) != 0)
    {
        /* error, should have found matching DeviceName before end of list */
        if(Instance->InstanceChainNext == NULL)
        {
	    SEM_UNLOCK(Lock_InitTermOpenClose);
            return(STTUNER_ERROR_INITSTATE);
        }
        Instance = Instance->InstanceChainNext;   /* next block */

    }
    if(Instance->TopLevelHandle != STTUNER_MAX_HANDLES)
    {
        SEM_UNLOCK(Lock_InitTermOpenClose);
        return(ST_ERROR_OPEN_HANDLE);
    }
    /* this LNB driver is only for use with an STV0299 backend */
    Inst = STTUNER_GetDrvInst();    /* pointer to instance database */
    /* pointer to **OPENED** backend for this instance */
    
    /* Set LNB capabilties */
    Capability->ShortCircuitDetect = FALSE;  /* lie (rewrite to get pwr status using stv0299 i/o pin etc.) */
    Capability->PowerAvailable     = TRUE;
    Capability->PolarizationSelect = STTUNER_PLR_ALL;
    
    /* Set latest configuration */
    Instance->Config.Status        = LNB_STATUS_OFF;
    Instance->Config.Polarization  = STTUNER_LNB_OFF;
    Instance->Config.ToneState     = STTUNER_LNB_TONE_OFF;
    
    PIO_OpenParams.ReservedBits    = Instance->LnbIOPort->VSEL_PIOPin;
    PIO_OpenParams.BitConfigure[0] = STPIO_BIT_NOT_SPECIFIED;
    PIO_OpenParams.BitConfigure[1] = STPIO_BIT_NOT_SPECIFIED;
    PIO_OpenParams.BitConfigure[2] = STPIO_BIT_NOT_SPECIFIED;
    PIO_OpenParams.BitConfigure[3] = STPIO_BIT_NOT_SPECIFIED;
    PIO_OpenParams.BitConfigure[4] = STPIO_BIT_NOT_SPECIFIED;
    PIO_OpenParams.BitConfigure[5] = STPIO_BIT_NOT_SPECIFIED;
    PIO_OpenParams.BitConfigure[6] = STPIO_BIT_NOT_SPECIFIED;
    PIO_OpenParams.BitConfigure[7] = STPIO_BIT_NOT_SPECIFIED;

    PIO_OpenParams.BitConfigure[Instance->LnbIOPort->VSEL_PIOBit] = STPIO_BIT_OUTPUT;
    PIO_OpenParams.IntHandler   = NULL;

    /*Error = STPIO_Open(PIODeviceName[Instance->LnbIOPort->VSEL_PIOPort],&PIO_OpenParams,
                                          &(Instance->LNBVSEL_PIOHandle));*/
                           
    Error = STPIO_Open(Instance->LnbIOPort->PIODeviceName,&PIO_OpenParams,
                                          &(Instance->LNBVSEL_PIOHandle));
    
    PIO_OpenParams.ReservedBits    = Instance->LnbIOPort->VEN_PIOPin;
    PIO_OpenParams.BitConfigure[Instance->LnbIOPort->VEN_PIOBit] = STPIO_BIT_OUTPUT;
    PIO_OpenParams.IntHandler   = NULL;
    Error |= STPIO_Open(Instance->LnbIOPort->PIODeviceName,&PIO_OpenParams,
                                          &(Instance->LNBVEN_PIOHandle));
    /*Error |= STPIO_Open(PIODeviceName[Instance->LnbIOPort->VEN_PIOPort],&PIO_OpenParams,
                                          &(Instance->LNBVEN_PIOHandle));*/
    
    PIO_OpenParams.ReservedBits    = Instance->LnbIOPort->TEN_PIOPin;
    PIO_OpenParams.BitConfigure[Instance->LnbIOPort->TEN_PIOBit] = STPIO_BIT_OUTPUT;
    PIO_OpenParams.IntHandler   = NULL;
    Error |= STPIO_Open(Instance->LnbIOPort->PIODeviceName,&PIO_OpenParams,
                                          &(Instance->LNBTEN_PIOHandle));
    /*Error |= STPIO_Open(PIODeviceName[Instance->LnbIOPort->TEN_PIOPort],&PIO_OpenParams,
                                          &(Instance->LNBTEN_PIOHandle));*/
    
    /* Make LNB Power OFF during STTUNER_Open()*/    
    Error = STPIO_Clear(Instance->LNBVEN_PIOHandle, Instance->LnbIOPort->VEN_PIOPin);
    /* wait 500uS (0.5mS) then get power status */
    UTIL_Delay(500);
   
    Instance->TopLevelHandle = OpenParams->TopLevelHandle;  /* mark as valid */
   
    *Handle = (U32)Instance;

    SEM_UNLOCK(Lock_InitTermOpenClose);
    #endif
    
    #ifdef STTUNER_MINIDRIVER
     /* Set latest configuration */
    LNBInstance->Config.Status    = LNB_STATUS_ON;
    LNBInstance->Config.ToneState = STTUNER_LNB_TONE_OFF;
    LNBInstance->Config.Polarization = STTUNER_PLR_HORIZONTAL;/* set default pol->Horizontal*/
    
    LNBInstance->Config.ToneSourceControl  = STTUNER_22KHz_TONE_BackEndOP0Pin;
    LNBInstance->Config.LNBPowerControl    = STTUNER_LNB_POWER_LNBPDefault;
    LNB_BackEndIO_SetLnb(0);/* LNB tone off */
    LNB_BackEndIO_SetPower(LNBInstance->Config.Status);/*LNB power on*/
    LNB_BackEndIO_SetPolarization(STTUNER_PLR_HORIZONTAL);
    *Handle = (U32)LNBInstance;
    #endif
    return(Error);
}
/* ----------------------------------------------------------------------------
Name: lnb_backendIO_Close()

Description:

Parameters:

Return Value:
---------------------------------------------------------------------------- */
ST_ErrorCode_t lnb_backendIO_Close(LNB_Handle_t Handle, LNB_CloseParams_t *CloseParams)
{
    ST_ErrorCode_t Error = ST_NO_ERROR;
    #ifndef STTUNER_MINIDRIVER
    LNB_BackEndIO_InstanceData_t     *Instance;
    Instance = (LNB_BackEndIO_InstanceData_t *)Handle;

    if(Installed == FALSE)
    {
        return(STTUNER_ERROR_INITSTATE);
    }

    SEM_LOCK(Lock_InitTermOpenClose);

    /* ---------- check that at least one init has taken place ---------- */
    if(InstanceChainTop == NULL)
    {
        SEM_UNLOCK(Lock_InitTermOpenClose);
        return(STTUNER_ERROR_INITSTATE);
    }

    if(Instance->TopLevelHandle == STTUNER_MAX_HANDLES)
    {
        SEM_UNLOCK(Lock_InitTermOpenClose);
        return(ST_ERROR_OPEN_HANDLE);
    }
    STPIO_Close(Instance->LNBTEN_PIOHandle);
    STPIO_Close(Instance->LNBVEN_PIOHandle);
    STPIO_Close(Instance->LNBVSEL_PIOHandle);
    Instance->TopLevelHandle = STTUNER_MAX_HANDLES;

    SEM_UNLOCK(Lock_InitTermOpenClose);
    #endif
    #ifdef STTUNER_MINIDRIVER
    LNBInstance->TopLevelHandle = STTUNER_MAX_HANDLES;
    #endif
    return(Error);
}

/* ----------------------------------------------------------------------------
Name: lnb_backendIO_overloadcheck()

Description:
    Dummy Function
    
Parameters:
    
Return Value:
---------------------------------------------------------------------------- */

ST_ErrorCode_t lnb_backendIO_overloadcheck(LNB_BackEndIO_InstanceData_t *Instance, BOOL  *IsOverTemp, BOOL *IsCurrentOvrLoad)
{
    ST_ErrorCode_t Error = ST_NO_ERROR;
    return(Error);
}

/* ----------------------------------------------------------------------------
Name: lnb_backendIO_setttxmode()

Description:
    Dummy Function
    
Parameters:
    
Return Value:
---------------------------------------------------------------------------- */

ST_ErrorCode_t lnb_backendIO_setttxmode(LNB_BackEndIO_InstanceData_t *Instance, STTUNER_LnbTTxMode_t Ttxmode)
{
    ST_ErrorCode_t Error = ST_NO_ERROR;
    return(Error);
}

/* ----------------------------------------------------------------------------
Name: lnb_backendIO_GetConfig()

Description:

Parameters:

Return Value:
---------------------------------------------------------------------------- */
ST_ErrorCode_t lnb_backendIO_GetConfig(LNB_Handle_t Handle, LNB_Config_t *Config)
{
    ST_ErrorCode_t Error = ST_NO_ERROR;
    #ifndef STTUNER_MINIDRIVER
    LNB_BackEndIO_InstanceData_t     *Instance;

    Instance = (LNB_BackEndIO_InstanceData_t *)Handle;

    Config->Status       = Instance->Config.Status;
    Config->Polarization = Instance->Config.Polarization;
    Config->ToneState    = Instance->Config.ToneState;

    #endif
    
    #ifdef STTUNER_MINIDRIVER
	    Config->Status       = LNBInstance->Config.Status;
	    Config->Polarization = LNBInstance->Config.Polarization;
	    Config->ToneState    = LNBInstance->Config.ToneState;
    #endif
    return(Error);
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
奇米亚洲午夜久久精品| 国产999精品久久| 亚洲国产精品传媒在线观看| 欧美人伦禁忌dvd放荡欲情| 国产v综合v亚洲欧| 天堂午夜影视日韩欧美一区二区| 欧美激情中文字幕| 欧美一区二区免费| 欧美在线视频日韩| 91无套直看片红桃| 国产精品系列在线观看| 日韩av网站免费在线| 亚洲欧美色一区| 欧美激情一区三区| 精品国产乱子伦一区| 9191久久久久久久久久久| 91美女视频网站| 懂色av一区二区夜夜嗨| 九九视频精品免费| 日本va欧美va精品发布| 亚洲小说欧美激情另类| 一区二区三区中文在线| 亚洲视频资源在线| 欧美激情中文字幕一区二区| 精品成人一区二区三区| 日韩欧美在线1卡| 91精品婷婷国产综合久久性色| 色视频成人在线观看免| 99国产精品久久久久| 成人福利视频网站| 成人亚洲一区二区一| 国产乱码一区二区三区| 韩国毛片一区二区三区| 国产在线视视频有精品| 九色porny丨国产精品| 麻豆精品视频在线观看免费| 日本中文字幕一区二区视频 | av一区二区三区| 国产成a人无v码亚洲福利| 国产九色精品成人porny| 国产美女在线精品| 丁香亚洲综合激情啪啪综合| 国产精品综合一区二区三区| 国产真实乱对白精彩久久| 国产乱码精品一区二区三区忘忧草| 日韩经典一区二区| 麻豆国产91在线播放| 美女视频一区二区| 精品在线观看免费| 国产高清不卡一区二区| 国产91综合一区在线观看| 国产91精品一区二区| 福利一区福利二区| 成人动漫一区二区| 色综合一个色综合| 在线视频一区二区免费| 91精品综合久久久久久| 欧美成人三级在线| 中文字幕久久午夜不卡| 亚洲黄网站在线观看| 午夜精品久久久久久不卡8050| 日韩黄色一级片| 国产一区二区成人久久免费影院 | 久久先锋影音av鲁色资源网| 久久综合狠狠综合| 国产精品你懂的在线欣赏| 国产精品理伦片| 一区二区三区成人在线视频| 日本伊人色综合网| 床上的激情91.| 欧美在线观看18| 欧美成人免费网站| 一色屋精品亚洲香蕉网站| 亚洲午夜视频在线| 久久9热精品视频| av日韩在线网站| 777亚洲妇女| 中文字幕成人网| 午夜久久久久久久久| 国产自产v一区二区三区c| 色综合天天综合在线视频| 欧美精品1区2区| 国产精品视频看| 日韩国产成人精品| 国产xxx精品视频大全| 欧美久久久久免费| 国产精品不卡一区二区三区| 偷偷要91色婷婷| 成人免费av资源| 欧美成人一区二区三区片免费 | 在线观看av不卡| 国产亚洲欧美在线| 婷婷久久综合九色综合伊人色| 国产馆精品极品| 制服.丝袜.亚洲.另类.中文| 中文字幕中文乱码欧美一区二区| 视频一区欧美精品| 99精品黄色片免费大全| 久久午夜色播影院免费高清| 婷婷成人综合网| 91视频com| 日本一区二区三区四区| 奇米精品一区二区三区四区| 99vv1com这只有精品| 久久嫩草精品久久久精品| 亚洲va韩国va欧美va| 色综合久久综合网97色综合| 久久青草欧美一区二区三区| 午夜成人免费电影| 91福利视频久久久久| 国产精品久久久一本精品 | 欧美日韩久久久久久| 国产精品乱人伦一区二区| 久久99精品一区二区三区三区| 欧美偷拍一区二区| 自拍偷拍国产精品| 成人激情免费网站| 国产日产欧美一区| 国产一区二区三区在线观看免费视频| 正在播放亚洲一区| 亚洲国产你懂的| 欧美亚洲一区二区三区四区| 日韩一区中文字幕| aaa欧美大片| 最新热久久免费视频| 成人性生交大片免费看中文| 久久精品亚洲麻豆av一区二区| 麻豆91小视频| 日韩午夜激情电影| 麻豆精品国产传媒mv男同| 日韩亚洲欧美一区| 日本aⅴ精品一区二区三区| 欧美日韩久久一区二区| 图片区小说区区亚洲影院| 欧美日本免费一区二区三区| 亚洲电影在线播放| 欧美浪妇xxxx高跟鞋交| 午夜精品久久久久久| 91精品国产高清一区二区三区 | 国产精品国产成人国产三级| 成人av中文字幕| 亚洲欧美视频一区| 欧美日韩国产片| 日本va欧美va瓶| 久久一区二区视频| 高清日韩电视剧大全免费| 欧美高清在线一区二区| 91在线一区二区三区| 一区二区三区四区高清精品免费观看| 色94色欧美sute亚洲线路二 | 精品盗摄一区二区三区| 国产伦精品一区二区三区免费迷| 国产亚洲成年网址在线观看| av在线不卡免费看| 亚洲国产裸拍裸体视频在线观看乱了| 7777精品伊人久久久大香线蕉超级流畅| 日韩av在线发布| 国产欧美一区二区在线| 色婷婷av一区二区| 日韩不卡一区二区| 久久九九全国免费| 91免费小视频| 日日骚欧美日韩| 国产午夜精品在线观看| 一本在线高清不卡dvd| 午夜精品久久一牛影视| 欧美精品一区二区三区在线播放| 成人一区二区三区中文字幕| 亚洲一二三级电影| 欧美精品一区二区三区视频| a4yy欧美一区二区三区| 日本sm残虐另类| 国产精品区一区二区三| 欧美日韩www| 懂色av中文一区二区三区| 亚洲成人黄色小说| 国产欧美日韩三级| 欧美日韩国产精品成人| 国产成人精品免费网站| 亚洲一区二区综合| 26uuu亚洲综合色| 欧美中文字幕一区二区三区亚洲| 久久成人久久爱| 一区二区视频免费在线观看| 精品嫩草影院久久| 在线免费观看视频一区| 色国产精品一区在线观看| 国产一区二区影院| 视频在线观看国产精品| 国产精品三级电影| 日韩手机在线导航| 在线看日本不卡| 粉嫩高潮美女一区二区三区| 日韩中文字幕区一区有砖一区 | 免费在线观看视频一区| 国产精品每日更新在线播放网址| 91精品国产综合久久久久久 | 欧美日韩国产综合久久| 成人爱爱电影网址| 久久99深爱久久99精品|