📄 whyt1_lib.h
字号:
#ifndef _WHYT1_LIB_H_
#define _WHYT1_LIB_H_
/************************************************************************
* File: whyt1_lib.h
*
* Library for accessing WHYT1 devices.
* The code accesses hardware using WinDriver's WDC library.
* Code was generated by DriverWizard v9.01.
*
* Copyright (c) 2007 Jungo Ltd. http://www.jungo.com
*************************************************************************/
#include "wdc_lib.h"
#include "samples/shared/pci_regs.h"
#include "samples/shared/bits.h"
#ifdef __cplusplus
extern "C" {
#endif
/*************************************************************
General definitions
*************************************************************/
/* Default vendor and device IDs */
#define WHYT1_DEFAULT_VENDOR_ID 0x195D /* Vendor ID */
#define WHYT1_DEFAULT_DEVICE_ID 0x1105 /* Device ID */
/* Address space information struct */
#define MAX_TYPE 8
typedef struct {
DWORD dwAddrSpace;
CHAR sType[MAX_TYPE];
CHAR sName[MAX_NAME];
CHAR sDesc[MAX_DESC];
} WHYT1_ADDR_SPACE_INFO;
/* Interrupt result information struct */
typedef struct
{
DWORD dwCounter; /* Number of interrupts received */
DWORD dwLost; /* Number of interrupts not yet handled */
WD_INTERRUPT_WAIT_RESULT waitResult; /* See WD_INTERRUPT_WAIT_RESULT values in windrvr.h */
} WHYT1_INT_RESULT;
/* TODO: You can add fields to WHYT1_INT_RESULT to store any additional
information that you wish to pass to your diagnostics interrupt
handler routine (DiagIntHandler() in whyt1_diag.c) */
/* WHYT1 diagnostics interrupt handler function type */
typedef void (*WHYT1_INT_HANDLER)(WDC_DEVICE_HANDLE hDev,
WHYT1_INT_RESULT *pIntResult);
/* WHYT1 diagnostics plug-and-play and power management events handler function type */
typedef void (*WHYT1_EVENT_HANDLER)(WDC_DEVICE_HANDLE hDev,
DWORD dwAction);
// WHYT1 register definitions
enum { WHYT1_I2CDAT11_SPACE = AD_PCI_BAR0 };
enum { WHYT1_I2CDAT11_OFFSET = 0x8d };
enum { WHYT1_I2CDAT10_SPACE = AD_PCI_BAR0 };
enum { WHYT1_I2CDAT10_OFFSET = 0x8c };
enum { WHYT1_I2CDAT9_SPACE = AD_PCI_BAR0 };
enum { WHYT1_I2CDAT9_OFFSET = 0x8b };
enum { WHYT1_I2CDAT8_SPACE = AD_PCI_BAR0 };
enum { WHYT1_I2CDAT8_OFFSET = 0x8a };
enum { WHYT1_I2CDAT7_SPACE = AD_PCI_BAR0 };
enum { WHYT1_I2CDAT7_OFFSET = 0x89 };
enum { WHYT1_I2CDAT6_SPACE = AD_PCI_BAR0 };
enum { WHYT1_I2CDAT6_OFFSET = 0x88 };
enum { WHYT1_I2CDAT5_SPACE = AD_PCI_BAR0 };
enum { WHYT1_I2CDAT5_OFFSET = 0x87 };
enum { WHYT1_I2CDAT4_SPACE = AD_PCI_BAR0 };
enum { WHYT1_I2CDAT4_OFFSET = 0x86 };
enum { WHYT1_I2CDAT3_SPACE = AD_PCI_BAR0 };
enum { WHYT1_I2CDAT3_OFFSET = 0x85 };
enum { WHYT1_I2CDAT2_SPACE = AD_PCI_BAR0 };
enum { WHYT1_I2CDAT2_OFFSET = 0x84 };
enum { WHYT1_I2CDAT1_SPACE = AD_PCI_BAR0 };
enum { WHYT1_I2CDAT1_OFFSET = 0x83 };
enum { WHYT1_I2CDAT0_SPACE = AD_PCI_BAR0 };
enum { WHYT1_I2CDAT0_OFFSET = 0x82 };
enum { WHYT1_I2CSTS_SPACE = AD_PCI_BAR0 };
enum { WHYT1_I2CSTS_OFFSET = 0x81 };
enum { WHYT1_I2CCTR_SPACE = AD_PCI_BAR0 };
enum { WHYT1_I2CCTR_OFFSET = 0x80 };
enum { WHYT1_IRCODE_SPACE = AD_PCI_BAR0 };
enum { WHYT1_IRCODE_OFFSET = 0x70 };
enum { WHYT1_IRCTR_SPACE = AD_PCI_BAR0 };
enum { WHYT1_IRCTR_OFFSET = 0x64 };
enum { WHYT1_EVEN_SPACE = AD_PCI_BAR0 };
enum { WHYT1_EVEN_OFFSET = 0x58 };
enum { WHYT1_ODD_SPACE = AD_PCI_BAR0 };
enum { WHYT1_ODD_OFFSET = 0x50 };
enum { WHYT1_INTCNT_SPACE = AD_PCI_BAR0 };
enum { WHYT1_INTCNT_OFFSET = 0x44 };
enum { WHYT1_WRP_SPACE = AD_PCI_BAR0 };
enum { WHYT1_WRP_OFFSET = 0x40 };
enum { WHYT1_RLEN_SPACE = AD_PCI_BAR0 };
enum { WHYT1_RLEN_OFFSET = 0x3c };
enum { WHYT1_STADR_SPACE = AD_PCI_BAR0 };
enum { WHYT1_STADR_OFFSET = 0x38 };
enum { WHYT1_HOST_AD_SPACE = AD_PCI_BAR0 };
enum { WHYT1_HOST_AD_OFFSET = 0x1c };
enum { WHYT1_HOST_CTR_SPACE = AD_PCI_BAR0 };
enum { WHYT1_HOST_CTR_OFFSET = 0x18 };
enum { WHYT1_CWSEL_SPACE = AD_PCI_BAR0 };
enum { WHYT1_CWSEL_OFFSET = 0x14 };
enum { WHYT1_PIDN_SPACE = AD_PCI_BAR0 };
enum { WHYT1_PIDN_OFFSET = 0x10 };
enum { WHYT1_GIPOCTR_SPACE = AD_PCI_BAR0 };
enum { WHYT1_GIPOCTR_OFFSET = 0xc };
enum { WHYT1_GIPOVAL_SPACE = AD_PCI_BAR0 };
enum { WHYT1_GIPOVAL_OFFSET = 0x8 };
enum { WHYT1_IRMODE_SPACE = AD_PCI_BAR0 };
enum { WHYT1_IRMODE_OFFSET = 0x68 };
enum { WHYT1_SYSTEMCODE_SPACE = AD_PCI_BAR0 };
enum { WHYT1_SYSTEMCODE_OFFSET = 0x6c };
enum { WHYT1_PID_SPACE = AD_PCI_BAR0 };
enum { WHYT1_PID_OFFSET = 0x60 };
enum { WHYT1_INTMAK_SPACE = AD_PCI_BAR0 };
enum { WHYT1_INTMAK_OFFSET = 0x48 };
enum { WHYT1_INSTS_SPACE = AD_PCI_BAR0 };
enum { WHYT1_INSTS_OFFSET = 0x4c };
enum { WHYT1_RST_SPACE = AD_PCI_BAR0 };
enum { WHYT1_RST_OFFSET = 0x34 };
enum { WHYT1_CR_SPACE = AD_PCI_BAR0 };
enum { WHYT1_CR_OFFSET = 0x30 };
enum { WHYT1_DTALENTH_SPACE = AD_PCI_BAR0 };
enum { WHYT1_DTALENTH_OFFSET = 0x4 };
enum { WHYT1_TSCTR_SPACE = AD_PCI_BAR0 };
enum { WHYT1_TSCTR_OFFSET = 0x0 };
/*************************************************************
Function prototypes
*************************************************************/
DWORD WHYT1_LibInit(void);
DWORD WHYT1_LibUninit(void);
WDC_DEVICE_HANDLE WHYT1_DeviceOpen(const WD_PCI_CARD_INFO *pDeviceInfo);
BOOL WHYT1_DeviceClose(WDC_DEVICE_HANDLE hDev);
DWORD WHYT1_IntEnable(WDC_DEVICE_HANDLE hDev, WHYT1_INT_HANDLER funcIntHandler);
DWORD WHYT1_IntDisable(WDC_DEVICE_HANDLE hDev);
BOOL WHYT1_IntIsEnabled(WDC_DEVICE_HANDLE hDev);
DWORD WHYT1_EventRegister(WDC_DEVICE_HANDLE hDev, WHYT1_EVENT_HANDLER funcEventHandler);
DWORD WHYT1_EventUnregister(WDC_DEVICE_HANDLE hDev);
BOOL WHYT1_EventIsRegistered(WDC_DEVICE_HANDLE hDev);
DWORD WHYT1_GetNumAddrSpaces(WDC_DEVICE_HANDLE hDev);
BOOL WHYT1_GetAddrSpaceInfo(WDC_DEVICE_HANDLE hDev, WHYT1_ADDR_SPACE_INFO *pAddrSpaceInfo);
// Function: WHYT1_ReadI2CDAT11()
// Read from I2CDAT11 register.
BYTE WHYT1_ReadI2CDAT11 (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteI2CDAT11()
// Write to I2CDAT11 register.
void WHYT1_WriteI2CDAT11 (WDC_DEVICE_HANDLE hDev, BYTE data);
// Function: WHYT1_ReadI2CDAT10()
// Read from I2CDAT10 register.
BYTE WHYT1_ReadI2CDAT10 (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteI2CDAT10()
// Write to I2CDAT10 register.
void WHYT1_WriteI2CDAT10 (WDC_DEVICE_HANDLE hDev, BYTE data);
// Function: WHYT1_ReadI2CDAT9()
// Read from I2CDAT9 register.
BYTE WHYT1_ReadI2CDAT9 (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteI2CDAT9()
// Write to I2CDAT9 register.
void WHYT1_WriteI2CDAT9 (WDC_DEVICE_HANDLE hDev, BYTE data);
// Function: WHYT1_ReadI2CDAT8()
// Read from I2CDAT8 register.
BYTE WHYT1_ReadI2CDAT8 (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteI2CDAT8()
// Write to I2CDAT8 register.
void WHYT1_WriteI2CDAT8 (WDC_DEVICE_HANDLE hDev, BYTE data);
// Function: WHYT1_ReadI2CDAT7()
// Read from I2CDAT7 register.
BYTE WHYT1_ReadI2CDAT7 (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteI2CDAT7()
// Write to I2CDAT7 register.
void WHYT1_WriteI2CDAT7 (WDC_DEVICE_HANDLE hDev, BYTE data);
// Function: WHYT1_ReadI2CDAT6()
// Read from I2CDAT6 register.
BYTE WHYT1_ReadI2CDAT6 (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteI2CDAT6()
// Write to I2CDAT6 register.
void WHYT1_WriteI2CDAT6 (WDC_DEVICE_HANDLE hDev, BYTE data);
// Function: WHYT1_ReadI2CDAT5()
// Read from I2CDAT5 register.
BYTE WHYT1_ReadI2CDAT5 (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteI2CDAT5()
// Write to I2CDAT5 register.
void WHYT1_WriteI2CDAT5 (WDC_DEVICE_HANDLE hDev, BYTE data);
// Function: WHYT1_ReadI2CDAT4()
// Read from I2CDAT4 register.
BYTE WHYT1_ReadI2CDAT4 (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteI2CDAT4()
// Write to I2CDAT4 register.
void WHYT1_WriteI2CDAT4 (WDC_DEVICE_HANDLE hDev, BYTE data);
// Function: WHYT1_ReadI2CDAT3()
// Read from I2CDAT3 register.
BYTE WHYT1_ReadI2CDAT3 (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteI2CDAT3()
// Write to I2CDAT3 register.
void WHYT1_WriteI2CDAT3 (WDC_DEVICE_HANDLE hDev, BYTE data);
// Function: WHYT1_ReadI2CDAT2()
// Read from I2CDAT2 register.
BYTE WHYT1_ReadI2CDAT2 (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteI2CDAT2()
// Write to I2CDAT2 register.
void WHYT1_WriteI2CDAT2 (WDC_DEVICE_HANDLE hDev, BYTE data);
// Function: WHYT1_ReadI2CDAT1()
// Read from I2CDAT1 register.
BYTE WHYT1_ReadI2CDAT1 (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteI2CDAT1()
// Write to I2CDAT1 register.
void WHYT1_WriteI2CDAT1 (WDC_DEVICE_HANDLE hDev, BYTE data);
// Function: WHYT1_ReadI2CDAT0()
// Read from I2CDAT0 register.
BYTE WHYT1_ReadI2CDAT0 (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteI2CDAT0()
// Write to I2CDAT0 register.
void WHYT1_WriteI2CDAT0 (WDC_DEVICE_HANDLE hDev, BYTE data);
// Function: WHYT1_ReadI2CSTS()
// Read from I2CSTS register.
BYTE WHYT1_ReadI2CSTS (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_ReadI2CCTR()
// Read from I2CCTR register.
BYTE WHYT1_ReadI2CCTR (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteI2CCTR()
// Write to I2CCTR register.
void WHYT1_WriteI2CCTR (WDC_DEVICE_HANDLE hDev, BYTE data);
// Function: WHYT1_ReadIRCODE()
// Read from IRCODE register.
UINT32 WHYT1_ReadIRCODE (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteIRCODE()
// Write to IRCODE register.
void WHYT1_WriteIRCODE (WDC_DEVICE_HANDLE hDev, UINT32 data);
// Function: WHYT1_ReadIRCTR()
// Read from IRCTR register.
UINT32 WHYT1_ReadIRCTR (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteIRCTR()
// Write to IRCTR register.
void WHYT1_WriteIRCTR (WDC_DEVICE_HANDLE hDev, UINT32 data);
// Function: WHYT1_ReadEVEN()
// Read from EVEN register.
UINT32 WHYT1_ReadEVEN (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteEVEN()
// Write to EVEN register.
void WHYT1_WriteEVEN (WDC_DEVICE_HANDLE hDev, UINT32 data);
// Function: WHYT1_ReadODD()
// Read from ODD register.
UINT32 WHYT1_ReadODD (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteODD()
// Write to ODD register.
void WHYT1_WriteODD (WDC_DEVICE_HANDLE hDev, UINT32 data);
// Function: WHYT1_ReadINTCNT()
// Read from INTCNT register.
UINT32 WHYT1_ReadINTCNT (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteINTCNT()
// Write to INTCNT register.
void WHYT1_WriteINTCNT (WDC_DEVICE_HANDLE hDev, UINT32 data);
// Function: WHYT1_ReadWRP()
// Read from WRP register.
UINT32 WHYT1_ReadWRP (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_ReadRLEN()
// Read from RLEN register.
UINT32 WHYT1_ReadRLEN (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteRLEN()
// Write to RLEN register.
void WHYT1_WriteRLEN (WDC_DEVICE_HANDLE hDev, UINT32 data);
// Function: WHYT1_ReadSTADR()
// Read from STADR register.
UINT32 WHYT1_ReadSTADR (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteSTADR()
// Write to STADR register.
void WHYT1_WriteSTADR (WDC_DEVICE_HANDLE hDev, UINT32 data);
// Function: WHYT1_ReadHOST_AD()
// Read from HOST_AD register.
UINT32 WHYT1_ReadHOST_AD (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteHOST_AD()
// Write to HOST_AD register.
void WHYT1_WriteHOST_AD (WDC_DEVICE_HANDLE hDev, UINT32 data);
// Function: WHYT1_ReadHOST_CTR()
// Read from HOST_CTR register.
UINT32 WHYT1_ReadHOST_CTR (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteHOST_CTR()
// Write to HOST_CTR register.
void WHYT1_WriteHOST_CTR (WDC_DEVICE_HANDLE hDev, UINT32 data);
// Function: WHYT1_ReadCWSEL()
// Read from CWSEL register.
UINT32 WHYT1_ReadCWSEL (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteCWSEL()
// Write to CWSEL register.
void WHYT1_WriteCWSEL (WDC_DEVICE_HANDLE hDev, UINT32 data);
// Function: WHYT1_ReadPIDN()
// Read from PIDN register.
BYTE WHYT1_ReadPIDN (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WritePIDN()
// Write to PIDN register.
void WHYT1_WritePIDN (WDC_DEVICE_HANDLE hDev, BYTE data);
// Function: WHYT1_ReadGIPOCTR()
// Read from GIPOCTR register.
UINT32 WHYT1_ReadGIPOCTR (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteGIPOCTR()
// Write to GIPOCTR register.
void WHYT1_WriteGIPOCTR (WDC_DEVICE_HANDLE hDev, UINT32 data);
// Function: WHYT1_ReadGIPOVAL()
// Read from GIPOVAL register.
UINT32 WHYT1_ReadGIPOVAL (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteGIPOVAL()
// Write to GIPOVAL register.
void WHYT1_WriteGIPOVAL (WDC_DEVICE_HANDLE hDev, UINT32 data);
// Function: WHYT1_ReadIRMODE()
// Read from IRMODE register.
BYTE WHYT1_ReadIRMODE (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteIRMODE()
// Write to IRMODE register.
void WHYT1_WriteIRMODE (WDC_DEVICE_HANDLE hDev, BYTE data);
// Function: WHYT1_ReadSYSTEMCODE()
// Read from SYSTEMCODE register.
WORD WHYT1_ReadSYSTEMCODE (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteSYSTEMCODE()
// Write to SYSTEMCODE register.
void WHYT1_WriteSYSTEMCODE (WDC_DEVICE_HANDLE hDev, WORD data);
// Function: WHYT1_ReadPID()
// Read from PID register.
WORD WHYT1_ReadPID (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WritePID()
// Write to PID register.
void WHYT1_WritePID (WDC_DEVICE_HANDLE hDev, WORD data);
// Function: WHYT1_ReadINTMAK()
// Read from INTMAK register.
BYTE WHYT1_ReadINTMAK (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteINTMAK()
// Write to INTMAK register.
void WHYT1_WriteINTMAK (WDC_DEVICE_HANDLE hDev, BYTE data);
// Function: WHYT1_ReadINSTS()
// Read from INSTS register.
BYTE WHYT1_ReadINSTS (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteRST()
// Write to RST register.
void WHYT1_WriteRST (WDC_DEVICE_HANDLE hDev, BYTE data);
// Function: WHYT1_ReadCR()
// Read from CR register.
BYTE WHYT1_ReadCR (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteCR()
// Write to CR register.
void WHYT1_WriteCR (WDC_DEVICE_HANDLE hDev, BYTE data);
// Function: WHYT1_ReadDTALENTH()
// Read from DTALENTH register.
BYTE WHYT1_ReadDTALENTH (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteDTALENTH()
// Write to DTALENTH register.
void WHYT1_WriteDTALENTH (WDC_DEVICE_HANDLE hDev, BYTE data);
// Function: WHYT1_ReadTSCTR()
// Read from TSCTR register.
WORD WHYT1_ReadTSCTR (WDC_DEVICE_HANDLE hDev);
// Function: WHYT1_WriteTSCTR()
// Write to TSCTR register.
void WHYT1_WriteTSCTR (WDC_DEVICE_HANDLE hDev, WORD data);
const char *WHYT1_GetLastErr(void);
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -