⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 whyt1_lib.h

📁 /*** *** *** *** *** *** *** *** *** *** *** *** * File: whyt1_lib.c * * Library for accessing W
💻 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 + -