You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
138 lines
5.3 KiB
138 lines
5.3 KiB
// $Header: G:/SwDev/WDM/Video/bt848/rcs/Bt848api.h 1.2 1998/04/29 22:43:26 tomz Exp $
|
|
|
|
#ifndef __BT848API_H
|
|
#define __BT848API_H
|
|
|
|
|
|
#ifndef BYTE
|
|
typedef unsigned char BYTE;
|
|
#endif
|
|
|
|
#include "viddefs.h"
|
|
#include "retcode.h"
|
|
|
|
|
|
//===========================================================================
|
|
// BT848 DLL API Header File
|
|
//===========================================================================
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif
|
|
|
|
//---------------------------------------------------------------------------
|
|
// I2C DATA/CONTROL REGISTER API
|
|
//---------------------------------------------------------------------------
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Method: bool I2CIsInitOK( void )
|
|
// Purpose: Check if I2C is initialized successfully
|
|
// Input: None
|
|
// Output: None
|
|
// Return: true or false
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
bool I2CIsInitOK( void );
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Method: ErrorCode I2CInitHWMode( long freq )
|
|
// Purpose: Initialize I2C for hardware control of SCL and SDA
|
|
// Input: long freq - frequency (hz) to run SCL at
|
|
// Output: None
|
|
// Return: None
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
ErrorCode I2CInitHWMode( long freq );
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Method: ErrorCode I2CInitSWMode( long freq )
|
|
// Purpose: Initialize I2C for software control of SCL and SDA
|
|
// Input: long freq - frequency (hz) to run SCL at
|
|
// Output: None
|
|
// Return: None
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
ErrorCode I2CInitSWMode( long freq );
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Method: void I2CSetFreq( long freq )
|
|
// Purpose: Set frequency for SCL
|
|
// Input: long freq - frequency (hz) to run SCL at. (137.5khz to 2.0625Mhz)
|
|
// PCI frequency 33Mhz: SCL = (412.50Khz to 33.81Khz)
|
|
// 25Mhz: SCL = (312.50Khz to 25.61Khz)
|
|
// Output: None
|
|
// Return: None
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
void I2CSetFreq( long freq );
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Method: int I2CReadDiv( void )
|
|
// Purpose: Obtain value of programmable divider
|
|
// Input: None
|
|
// Output: None
|
|
// Return: Value of programmable divider
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
int I2CReadDiv( void );
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Method: ErrorCode I2CHWRead( BYTE address, BYTE *value )
|
|
// Purpose: Perform a hardware read from the I2C
|
|
// Input: int address - address to be read from
|
|
// Output: int *value - retrieved value
|
|
// Return: Success or Fail
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
ErrorCode I2CHWRead( BYTE address, BYTE *value );
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Method: ErrorCode I2CHWWrite2( BYTE address, BYTE value1 )
|
|
// Purpose: Perform a hardware write of two bytes to the I2C
|
|
// Input: int address - address to be written to
|
|
// int value1 - value of 2nd byte to be written
|
|
// Output: None
|
|
// Return: Success or Fail
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
ErrorCode I2CHWWrite2( BYTE address, BYTE value1 );
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Method: ErrorCode I2CHWWrite3( BYTE address, BYTE value1, BYTE value2 )
|
|
// Purpose: Perform a hardware write of three bytes to the I2C
|
|
// Input: int address - address to be written to
|
|
// int value1 - value of 2nd byte to be written
|
|
// int value2 - value of 3rd byte to be written
|
|
// Output: None
|
|
// Return: Success or Fail
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
ErrorCode I2CHWWrite3( BYTE address, BYTE value1, BYTE value2 );
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Method: ErrorCode I2CSetSync( State sync )
|
|
// Purpose: Set I2C sync value
|
|
// Input: sync: On - allow slave to insert wait states
|
|
// Off - slave cannot insert wait states
|
|
// Output: None
|
|
// Return: Success or Fail
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
ErrorCode I2CSetSync( State sync );
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Method: int I2CReadSync( void )
|
|
// Purpose: Read I2C sync value
|
|
// Input: None
|
|
// Output: None
|
|
// Return: Sync value
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
int I2CReadSync( void );
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Method: int I2CGetLastError( void )
|
|
// Purpose: Obtain last error number
|
|
// Input: None
|
|
// Output: None
|
|
// Return: Last error number
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
int I2CGetLastError( void );
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif // __BT848API_H
|