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

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

?? lnb199.c

?? 這是DVB tuner驅(qū)動部分和其它相關(guān)的源碼和一些技術(shù)資料文檔.
?? C
字號:
/*****************************************************************************File Name   : lnb199.cDescription : ST LNBP implementation of the SAT API for STV0199.Copyright (C) 1999 STMicroelectronicsReference   :ST API Definition "TUNER Driver API" DVD-API-06*****************************************************************************/#define SAT_PROTOTYPE static            /* Local pre-include defs *//* Includes --------------------------------------------------------------- */#include <string.h>                     /* C libs */#include <stdio.h>#include "stlite.h"                     /* Standard includes */#include "stddefs.h"#include "sttuner.h"                    /* STAPI Error codes, etc */#include "sat.h"                        /* SAT Device API */#include "stv199.h"                     /* Low-level device access *//* Private types/constants ------------------------------------------------ */typedef struct{    SAT_MapTable_t          *MapTable_p;    /* Maptable */    ST_Partition_t          *MemoryPartition;    SAT_Config_t            Config;         /* SAT device configuration */    STV0199A_Device_t       STV0199ADevice; /* 199 device access */} SAT_ControlBlock_t;/* Private variables ------------------------------------------------------ */extern SAT_MapTable_t __STV0199LNBMapTable;/* Private macros --------------------------------------------------------- */#define STV0199A_HANDLE(x)     ((STV0199A_Device_t *) \                               (&(((SAT_ControlBlock_t *)x)->STV0199ADevice)))#define SAT_HANDLE(x)          ((SAT_ControlBlock_t *)x)/* Private function prototypes -------------------------------------------- *//* API routines ----------------------------------------------------------- *//*****************************************************************************Name: SAT_Init()Description:    Initializes the SAT device for the ST LNBP.Parameters:    InitParams_p,   pointer to the initialization parameters.Return Value:    SAT_NO_ERROR,               the operation completed without error.    SAT_ERROR_BAD_PARAMETER,    one or more parameters were invalid.    SAT_ERROR_LNB_HW,           a hardware error in the LNB circuit.See Also:    SAT_Term()*****************************************************************************/static SAT_ErrorCode_t SAT_Init(SAT_InitParams_t *InitParams_p,                                SAT_Handle_t *Handle_p,                                SAT_Capability_t *Capability_p){    SAT_ErrorCode_t Error = SAT_NO_ERROR;    SAT_ControlBlock_t *Sat_p;    /* Allocate control block memory */    Sat_p = memory_allocate(InitParams_p->MemoryPartition,                            sizeof(SAT_ControlBlock_t));    /* Ensure allocation succeeded */    if (Sat_p == NULL)        return ST_ERROR_NO_MEMORY;        /* Set map table information */    Sat_p->MapTable_p = &__STV0199LNBMapTable;    Sat_p->MemoryPartition = InitParams_p->MemoryPartition;    /* Set the low-level device access pointer */    Sat_p->STV0199ADevice.Handle_p = InitParams_p->DeviceAccess_p;    /* Set capabilities of the LNBP */    Capability_p->LNBShortCircuitDetect = TRUE;    Capability_p->LNBPowerAvailable = TRUE;    Capability_p->PolarizationSelect = SAT_PLR_ALL;    /* Obtains latest LNBP configuration */    Error = SAT_GetConfig((SAT_Handle_t)Sat_p, &Sat_p->Config);    /* Allocate the handle */    *Handle_p = Sat_p;    /* Check to ensure there is no problem with the LNB circuit */    if (Error == ST_NO_ERROR && Sat_p->Config.LNBStatus == SAT_LNB_SHORT_CIRCUIT)        Error = SAT_ERROR_LNB_HW;    /* Ensure device communications is working */    if (Error != ST_NO_ERROR)    {        /* Deallocate control block */        memory_deallocate(InitParams_p->MemoryPartition,                          Sat_p);    }    return Error;} /* SAT_Init() *//*****************************************************************************Name: SAT_Term()Description:    Performs any required tidying up in order to cleanly terminate the    SAT device.Parameters:    Sat_p,          pointer to the SAT device.Return Value:    SAT_NO_ERROR,   the operation completed without error.See Also:    SAT_Init()*****************************************************************************/static SAT_ErrorCode_t SAT_Term(SAT_Handle_t Handle){    memory_deallocate(SAT_HANDLE(Handle)->MemoryPartition,                      Handle);    return ST_NO_ERROR;} /* SAT_Term() *//*****************************************************************************Name: SAT_GetConfig()Description:    Obtains the current SAT device configuration and stores it in the    configuration structure for the SAT device.Parameters:    Sat_p,          pointer to the SAT device.    SatConfig_p,    pointer to area to store current SAT config.Return Value:    SAT_NO_ERROR,   the operation completed without error.    STI2C_xxxx,     there was a problem accessing the device.See Also:    SAT_SetConfig()*****************************************************************************/static SAT_ErrorCode_t SAT_GetConfig(SAT_Handle_t Handle,                                     SAT_Config_t *SatConfig_p){    SAT_ErrorCode_t Error = SAT_NO_ERROR;    STV0199A_ErrorCode_t RegError;    U8 LnbReg;    /* Read the current value of the FC22CR register */    RegError = STV0199A_Read(STV0199A_HANDLE(Handle), &LnbReg, STV0199A_F22CR);    /* Check the operation completed successfully */    if (RegError == STV0199A_NO_ERROR)    {        /* Get the LNB power */        SAT_HANDLE(Handle)->Config.LNBStatus =            (LnbReg & STV0199A_F22CR_OP1_MSK)?SAT_LNB_ON:SAT_LNB_OFF;        /* Get LNB tone state */        SAT_HANDLE(Handle)->Config.ToneState = (LnbReg & STV0199A_F22CR_P22_MSK)?SAT_TONE_22KHZ:SAT_TONE_OFF;        /* Get polarization */        SAT_HANDLE(Handle)->Config.Polarization =            (LnbReg & STV0199A_F22CR_OP2_MSK)?SAT_PLR_VERTICAL:SAT_PLR_HORIZONTAL;        /* Copy params to caller */        *SatConfig_p = SAT_HANDLE(Handle)->Config;    }    else    {        /* Problem accessing device */        Error = RegError;    }    return Error;} /* SAT_GetConfig() *//*****************************************************************************Name: SAT_SetConfig()Description:    Configures the SAT device's power/tone/polarization.Parameters:    Sat_p, pointer to the SAT device.    Config_p, pointer to the new device configuration.Return Value:    SAT_NO_ERROR,               the operation completed successfully.    SAT_ERROR_BAD_PARAMETER,    one of the parametes was invalid.    STI2C_xxxx,                 there was a problem accessing the device.See Also:    SAT_GetConfig()*****************************************************************************/static SAT_ErrorCode_t SAT_SetConfig(SAT_Handle_t Handle,                                     SAT_Config_t *Config_p){    SAT_ErrorCode_t Error = SAT_NO_ERROR;    STV0199A_ErrorCode_t RegError;    /* Check power setting is valid */    if ((Config_p->LNBStatus == SAT_LNB_ON || /* Valid LNB */         Config_p->LNBStatus == SAT_LNB_OFF) &&        (Config_p->Polarization == SAT_PLR_HORIZONTAL || /* Valid PLR */        (Config_p->ToneState >= SAT_TONE_DEFAULT &&         Config_p->ToneState <= SAT_TONE_22KHZ))) /* Valid TONE */    {        U8 LnbReg;        /* Check the new settings differ from the old ones -- this         * can save time.         */        if (SAT_HANDLE(Handle)->Config.LNBStatus != Config_p->LNBStatus ||            SAT_HANDLE(Handle)->Config.Polarization != Config_p->Polarization ||            SAT_HANDLE(Handle)->Config.ToneState != Config_p->ToneState)        {            /* Read the current value of the FC22CR register */            RegError = STV0199A_Read(STV0199A_HANDLE(Handle),                                     &LnbReg,                                     STV0199A_F22CR);            /* Check the operation completed successfully */            if (RegError == STV0199A_NO_ERROR)            {                /* Select the LNB power */                switch (Config_p->LNBStatus)                {                    case SAT_LNB_ON:                        LnbReg |= STV0199A_F22CR_OP1_MSK;                        SAT_HANDLE(Handle)->Config.LNBStatus = SAT_LNB_ON;                        break;                    case SAT_LNB_OFF:                        LnbReg &= ~STV0199A_F22CR_OP1_MSK;                        SAT_HANDLE(Handle)->Config.LNBStatus = SAT_LNB_OFF;                        break;                    default:                        break;                }                /* Select LNB band */                LnbReg &= ~STV0199A_F22CR_F22_ENA_MSK; /* F22 simple output port */                switch (Config_p->ToneState)                {                    case SAT_TONE_OFF:                 /* No tone */                        LnbReg &= ~STV0199A_F22CR_P22_MSK;                        SAT_HANDLE(Handle)->Config.ToneState = SAT_TONE_OFF;                        break;                    case SAT_TONE_22KHZ:                 /* 22KHz tone */                        LnbReg |= STV0199A_F22CR_P22_MSK;                        SAT_HANDLE(Handle)->Config.ToneState = SAT_TONE_22KHZ;                        break;                    default:                        break;                }                /* Select polarization */                switch (Config_p->Polarization)                {                    case SAT_PLR_VERTICAL: /* OP_2 controls -- 18V (high) */                        LnbReg &= ~STV0199A_F22CR_OP2_MSK;                        SAT_HANDLE(Handle)->Config.Polarization = SAT_PLR_VERTICAL;                        break;                    case SAT_PLR_HORIZONTAL:  /* OP_2 controls -- 13V (low) */                        LnbReg |= STV0199A_F22CR_OP2_MSK;                        SAT_HANDLE(Handle)->Config.Polarization = SAT_PLR_HORIZONTAL;                        break;                    default:                        break;                }                /* Now write out the new value */                RegError = STV0199A_Write(STV0199A_HANDLE(Handle),                                          LnbReg,                                          STV0199A_F22CR);                /* Only update our local copy of the settings if the new value                 * was written out successfully.                 */                if (RegError != STV0199A_NO_ERROR)                {                    /* Unable to write to new settings */                    Error = RegError;                }            }            else            {                /* Unable to read existing settings */                Error = RegError;            }        }    }    else    {        /* One or more parameters are invalid */        Error = SAT_ERROR_BAD_PARAMETER;    }    return Error;} /* SAT_SetConfig() *//* Exported Map Table ------------------------------------------------------------ */SAT_MapTable_t __STV0199LNBMapTable ={    SAT_Init,    SAT_Term,    SAT_GetConfig,    SAT_SetConfig};/* End of lnb199.c */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合久色欧美综合狠狠| 成人一道本在线| 一本色道**综合亚洲精品蜜桃冫| 国产精品污www在线观看| 国产精品99久久久久久似苏梦涵| 久久亚洲春色中文字幕久久久| 韩国毛片一区二区三区| 国产农村妇女毛片精品久久麻豆 | 亚洲丝袜美腿综合| 色婷婷国产精品综合在线观看| 亚洲黄色性网站| 欧美久久一二区| 久久精品国产77777蜜臀| 久久久久久久久久看片| 懂色av噜噜一区二区三区av| 亚洲三级电影全部在线观看高清| 欧美日韩综合在线免费观看| 日本美女视频一区二区| 国产亚洲精品超碰| 色妞www精品视频| 肉肉av福利一精品导航| 久久女同互慰一区二区三区| 91在线免费视频观看| 无码av免费一区二区三区试看| 日韩精品一区二区三区四区视频 | 一区二区三区在线免费播放| 欧美精品日韩一区| 国产在线视频精品一区| 一区二区三区四区视频精品免费 | 欧美mv和日韩mv的网站| 欧美系列一区二区| 国产一区在线不卡| 一区二区三区欧美日| 日韩精品一区二区三区在线| 99国产精品久久久久久久久久| 日本美女视频一区二区| 中文字幕在线不卡| 欧美电影精品一区二区| 色噜噜久久综合| 国产成人在线看| 日韩主播视频在线| 亚洲女人小视频在线观看| 欧美一二三区精品| 欧美亚洲综合色| 福利视频网站一区二区三区| 无码av中文一区二区三区桃花岛| 国产精品不卡一区二区三区| 91精品国产综合久久香蕉麻豆| 不卡一卡二卡三乱码免费网站| 日韩av一区二区三区四区| 亚洲人精品午夜| 久久久99精品免费观看不卡| 在线播放中文字幕一区| 色猫猫国产区一区二在线视频| 国产成人在线观看| 看电影不卡的网站| 天堂在线一区二区| 一区二区三区在线观看国产| 国产精品毛片高清在线完整版| 欧美第一区第二区| 国产精品动漫网站| 久久精品亚洲精品国产欧美 | 国产精品成人午夜| 久久精品亚洲麻豆av一区二区 | 91香蕉视频mp4| 福利电影一区二区三区| 国产真实精品久久二三区| 日本欧洲一区二区| 午夜a成v人精品| 亚洲国产精品一区二区尤物区| 亚洲色图视频免费播放| 中文一区在线播放| 国产精品午夜免费| 亚洲国产精品国自产拍av| 国产亚洲一区字幕| 久久免费午夜影院| 国产婷婷色一区二区三区在线| 日韩精品一区二区三区三区免费 | 精品久久久三级丝袜| 日韩欧美亚洲国产精品字幕久久久| 欧美人妇做爰xxxⅹ性高电影| 欧美三级电影在线观看| 精品视频在线看| 欧美一区二视频| 欧美大片免费久久精品三p| 欧美一级一区二区| 欧美大片在线观看| 久久久三级国产网站| 国产精品午夜电影| 亚洲视频免费看| 亚洲一区二区三区四区在线| 婷婷中文字幕一区三区| 婷婷成人激情在线网| 蜜臀精品久久久久久蜜臀| 久久精品国产在热久久| 狠狠色丁香九九婷婷综合五月| 国产精品一区二区视频| 99精品国产热久久91蜜凸| 在线观看91视频| 日韩一级欧美一级| 国产香蕉久久精品综合网| 国产精品白丝在线| 亚欧色一区w666天堂| 久久av资源站| av一本久道久久综合久久鬼色| 国产校园另类小说区| 国产精品国产三级国产普通话99| 一区二区三区国产| 日韩高清中文字幕一区| 国产成人免费视频网站| 97精品视频在线观看自产线路二 | 欧美精品一二三| 精品999在线播放| 亚洲同性同志一二三专区| 亚洲成人av福利| 国产乱对白刺激视频不卡| 91福利在线看| 精品国产免费一区二区三区四区 | 中文字幕亚洲在| 性做久久久久久免费观看| 国产精品综合网| 欧美性xxxxxxxx| 国产亚洲午夜高清国产拍精品| 亚洲与欧洲av电影| 国产美女精品一区二区三区| 91国偷自产一区二区开放时间 | 久久国产成人午夜av影院| 99久久久精品免费观看国产蜜| 51午夜精品国产| 亚洲国产高清在线| 男人的天堂久久精品| 99国产精品视频免费观看| 日韩欧美激情在线| 一区二区三区在线视频播放| 国内精品久久久久影院色| 欧美亚洲国产一区二区三区va| 久久欧美一区二区| 日本中文在线一区| 日本精品视频一区二区| 久久久久久久一区| 午夜免费久久看| 色综合咪咪久久| 26uuu色噜噜精品一区二区| 亚洲国产日韩综合久久精品| 成人午夜免费视频| www久久精品| 日韩中文字幕91| 在线精品视频免费播放| 中文字幕成人av| 国产黄人亚洲片| 精品播放一区二区| 青青国产91久久久久久 | 91精品国产一区二区三区香蕉| 亚洲色图清纯唯美| www.亚洲国产| 欧美国产精品一区二区| 国产伦精品一区二区三区视频青涩| 欧美另类一区二区三区| 一级女性全黄久久生活片免费| 成人动漫一区二区三区| 国产日韩欧美高清在线| 国内精品第一页| 久久色在线视频| 韩国一区二区三区| 精品91自产拍在线观看一区| 美国欧美日韩国产在线播放| 日韩一区二区免费高清| 青娱乐精品视频| 日韩欧美国产综合| 精品一区二区三区不卡| 日韩女优视频免费观看| 激情综合网av| 久久久久久久久伊人| 国产成人在线看| 国产精品久久久久久久久晋中| 成人福利视频在线看| 亚洲欧美一区二区三区极速播放 | 亚洲黄色在线视频| 在线日韩av片| 亚洲一区二区三区自拍| 欧美亚洲高清一区| 日韩成人一区二区三区在线观看| 欧美一二三四在线| 国产乱理伦片在线观看夜一区| 国产午夜精品一区二区三区嫩草| 高清在线成人网| 亚洲欧美视频一区| 欧美日韩精品一区二区三区四区| 日韩高清不卡一区| 精品国偷自产国产一区| 国产成人精品免费在线| 中文字幕中文字幕中文字幕亚洲无线| caoporm超碰国产精品| 亚洲精品乱码久久久久久| 欧美日本一区二区在线观看| 免费成人在线网站| 国产精品女同一区二区三区| 91久久免费观看| 久久99精品视频| 18涩涩午夜精品.www|