📄 chipctl.h
字号:
#ifndef __CHIPCTL_H__
#define __CHIPCTL_H__
#include "GUM.H"
#include "GCommDef.H"
#ifdef __cplusplus
extern "C" {
#endif // __cplusplus
// Define the TV tuner types
typedef enum _CHIPCTL_TVTUNER_TYPE
{
TVTUNER_AIR_CHANNEL,
TVTUNER_CABLE_CHANNEL,
TVTUNER_FM_RADIO
} CHIPCTL_TVTUNER_TYPE;
// Set the TV tuner attributes
typedef struct _CHIPCTL_TVTUNER_CONFIG
{
DWORD dwSlotNumber; // Slot number
int iChannelNo; // Channel number
CHIPCTL_TVTUNER_TYPE TVTunerType; // TV tuner type
} CHIPCTL_TVTUNER_CONFIG, *PCHIPCTL_TVTUNER_CONFIG;
/*-------------------------------------------------------------
Members:
dwSlotNumber
Indicate the slot number.
iChannelNo
Indicate the channel number.
TVTunerType
Indicate the TV tuner type.
-------------------------------------------------------------*/
// Get the TV tuner status
typedef struct _CHIPCTL_TVTUNER_STATUS
{
DWORD dwSlotNumber; // Slot number
BOOL fLocked;
int iFreqError; // in frequency steps
BOOL fSuccess;
} CHIPCTL_TVTUNER_STATUS, *PCHIPCTL_TVTUNER_STATUS;
// Set the TV tuner attributes
typedef struct _CHIPCTL_VIDEO_DECODER_ACCESS
{
DWORD dwSlotNumber; // Slot number
DWORD dwAddress; // Start address
LPBYTE lpBuffer; // Buffer pointer
DWORD dwSize; // Number of registers
} CHIPCTL_VIDEO_DECODER_ACCESS, *PCHIPCTL_VIDEO_DECODER_ACCESS;
/*-------------------------------------------------------------
Members:
dwSlotNumber
Indicate the slot number.
dwAddress
Indicate the start address that wants to access.
lpBuffer
Point to a buffer that contains data at WRITE_MODE or
receives data at READ_MODE.
dwSize
Indicate the number of registers.
-------------------------------------------------------------*/
// Set the TV tuner attributes
typedef struct _CHIPCTL_I2C_DEVICE_ACCESS
{
DWORD dwSlotNumber; // Slot number
DWORD dwDeviceID; // I2C device ID
DWORD dwAddress; // Start address
LPBYTE lpBuffer; // Buffer pointer
DWORD dwSize; // Number of registers
} CHIPCTL_I2C_DEVICE_ACCESS, *PCHIPCTL_I2C_DEVICE_ACCESS;
/*/-------------------------------------------------------------
Members:
dwSlotNumber
Indicate the slot number.
dwDeviceID
Indicate the I2C device's ID.
dwAddress
Indicate the start address that wants to access.
lpBuffer
Point to a buffer that contains data at WRITE_MODE or
receives data at READ_MODE.
dwSize
Indicate the number of registers.
-------------------------------------------------------------*/
// [General Part]
int WINAPI CHIPCTL_Open( DWORD dwTotalSlotNumber, LPBYTE lpRegistryPath );
int WINAPI CHIPCTL_Close( void );
// [Video Decoder Part]
int WINAPI CHIPCTL_SetVideoSource( DWORD dwSlotNumber, int iVideoSource );
int WINAPI CHIPCTL_SetBrightness( DWORD dwSlotNumber, int iBrightness );
int WINAPI CHIPCTL_SetContrast( DWORD dwSlotNumber, int iContrast );
int WINAPI CHIPCTL_SetHue( DWORD dwSlotNumber, int iHue );
int WINAPI CHIPCTL_SetSaturation( DWORD dwSlotNumber, int iSaturation );
int WINAPI CHIPCTL_SetVideoDecoder( PCHIPCTL_VIDEO_DECODER_ACCESS pVideoDecoderAccess );
int WINAPI CHIPCTL_GetVideoDecoder( PCHIPCTL_VIDEO_DECODER_ACCESS pVideoDecoderAccess );
int WINAPI CHIPCTL_CheckVideoLocked( DWORD dwSlotNumber, BOOL *pflocked );
int WINAPI CHIPCTL_CheckVideoStandard(DWORD dwSlotNumber, MPJ_VidStd *pVideoStandard );
int WINAPI CHIPCTL_InitVideoDecoder( DWORD dwSlotNumber, MPJ_VidStd VideoStandard );
// [Audio CODAC Part]
int WINAPI CHIPCTL_AK4516ReadReg( DWORD dwSlotNumber, BYTE bRegister, BYTE *pbValue );
int WINAPI CHIPCTL_AK4516WriteReg( DWORD dwSlotNumber, BYTE bRegister, BYTE bValue );
int WINAPI CHIPCTL_InitAudioDAC( DWORD dwSlotNumber );
// [TV Tuner Part]
DWORD WINAPI CHIPCTL_SetChannel( PCHIPCTL_TVTUNER_CONFIG pConfig );
DWORD WINAPI CHIPCTL_TryChannel( PCHIPCTL_TVTUNER_CONFIG pConfig );
DWORD WINAPI CHIPCTL_GetTunerStatus( PCHIPCTL_TVTUNER_STATUS pStatus );
int WINAPI CHIPCTL_GetMinChannelNumber( int iSignalType );
int WINAPI CHIPCTL_GetMaxChannelNumber( int iSignalType );
// [General I2C Device Part]
int WINAPI CHIPCTL_SetI2CDevice( PCHIPCTL_I2C_DEVICE_ACCESS pI2CDeviceAccess );
int WINAPI CHIPCTL_GetI2CDevice( PCHIPCTL_I2C_DEVICE_ACCESS pI2CDeviceAccess );
//added by Johnson Chang, 03/13/2000, BEGIN
//Control EM78156 to get remote and set others.
BOOL WINAPI CHIPCTL_GetRemoteKey( DWORD dwSlotNumber, BYTE *byKey );
BOOL WINAPI CHIPCTL_SendDataToEmc( DWORD dwSlotNumber, BYTE bySub, BYTE byData );
BOOL WINAPI CHIPCTL_ReadTuner( DWORD dwSlotNumber, BYTE byAddr, BYTE *byKey );
BOOL WINAPI CHIPCTL_WriteTuner( DWORD dwSlotNumber, BYTE byAddr, BYTE *byData );
//added by Johnson Chang, 03/13/2000, END
#ifdef __cplusplus
}
#endif // __cplusplus
#endif // __CHIPCTL_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -