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

📄 fir.h

📁 WinCE 3.0 BSP, 包含Inter SA1110, Intel_815E, Advantech_PCM9574 等
💻 H
字号:
#ifndef _IR_FIR_H_
#define _IR_FIR_H_

#include <windows.h>
#include <types.h>
#include <memory.h>
#include <excpt.h>
//#include <nkintr.h>
//#include <oalintr.h>
#include <drvlib.h>
#include <vr4122io.h>
//#include <eagle.h>
#include <linklist.h>
#include <ndis.h>
#include <settings.h>
#include "device.h"

#define PSIUREG8(x)                     (volatile unsigned char *)(pVRIO + (x))
#define PSIUREG16(x)                    (volatile unsigned short *)(pVRIO + (x))
#define PFIRREG16(x)                    (volatile unsigned short *)(pVRIO + (x))
#define PDMAREG16(x)                    (volatile unsigned short *)(pVRIO + (x))
#define PDMAREG32(x)                    (volatile unsigned long *)(pVRIO + (x))
#define PCMUREG16(x)                    (volatile unsigned short *)(pVRIO + (x))
#define PGIUREG16(x)                    (volatile unsigned short *)(pVRIO + (x))

#define SIUREG8(x)                      (*PSIUREG8(x))
#define SIUREG16(x)                     (*PSIUREG16(x))
#define FIRREG16(x)                     (*PFIRREG16(x))
#define DMAREG16(x)                     (*PDMAREG16(x))
#define DMAREG32(x)                     (*PDMAREG32(x))
#define CMUREG16(x)                     (*PCMUREG16(x))
#define GIUREG16(x)                     (*PGIUREG16(x))

#define IRDA_DMA_BUF_SIZE               0x0800
#define IRDA_DMA_PAGE_SIZE              0x0400

#define FIRFRSTRREG_FRST                0x0001

#define FIRDPINTRREG_FDPINT1            0x0001
#define FIRDPINTRREG_FDPINT2            0x0002
#define FIRDPINTRREG_FDPINT3            0x0004
#define FIRDPINTRREG_FDPINT4            0x0008
#define FIRDPINTRREG_FDPINT5            0x0010

#define FIRDPCNTRREG_FDPCNT             0x0001

#define FIRIMRREG_RX_RD_RQ              0x0001
#define FIRIMRREG_TX_WR_RQ              0x0002
#define FIRIMRREG_TX_END                0x0004
#define FIRIMRREG_RX_END                0x0008
#define FIRIMRREG_DMA_END               0x0010
#define FIRIMRREG_RX_VALID              0x0020
#define FIRIMRREG_TX_ERR                0x0040
#define FIRIMRREG_TX_ABORT              0x0080

#define FIRFSRREG_TX_STOP               0x0001
#define FIRFSRREG_RXF_CLR               0x0002
#define FIRFSRREG_TXF_CLR               0x0004
#define FIRFSRREG_F_SIZE_64             0x0008
#define FIRFSRREG_F_SIZE_32             0x0000
#define FIRFSRREG_TX_TH_26_48           0x0030
#define FIRFSRREG_TX_TH_16_32           0x0020
#define FIRFSRREG_TX_TH_8_16            0x0010
#define FIRFSRREG_TX_TH_1_1             0x0000
#define FIRFSRREG_RX_TH_26_48           0x00c0
#define FIRFSRREG_RX_TH_16_32           0x0080
#define FIRFSRREG_RX_TH_4_8             0x0040
#define FIRFSRREG_RX_TH_1_1             0x0000

#define FIRIRSR1REG_IRDA_EN             0x0080
#define FIRIRSR1REG_IRDA_MD             0x0002
#define FIRIRSR1REG_MIR_MD              0x0001
#define FIRIRSR1REG_FIR                 0x0000
#define FIRIRSR1REG_MIR_F               0x0002
#define FIRIRSR1REG_MIR_H               0x0003

#define FIRCRCSRREG_DATA_INV            0x0001
#define FIRCRCSRREG_CRC_NV              0x0002
#define FIRCRCSRREG_NON_CRC             0x0004
#define FIRCRCSRREG_DPLL_DIS            0x0010
#define FIRCRCSRREG_4PPM_DIS            0x0020
#define FIRCRCSRREG_RX_EN               0x0040
#define FIRCRCSRREG_TX_EN               0x0080

#define FIRFIRCRREG_F_WIDTH_S1_D7       0x0000
#define FIRFIRCRREG_F_WIDTH_S2_D8       0x0001
#define FIRFIRCRREG_F_WIDTH_S3_D9       0x0002
#define FIRFIRCRREG_F_WIDTH_S4_D10      0x0003
#define FIRFIRCRREG_F_WIDTH_S5_D11      0x0004
#define FIRFIRCRREG_F_WIDTH_S6_D12      0x0005
#define FIRFIRCRREG_W_PULSE_7_8         0x0000
#define FIRFIRCRREG_W_PULSE_8_9         0x0008
#define FIRFIRCRREG_W_PULSE_9_10        0x0010
#define FIRFIRCRREG_W_PULSE_10_11       0x0018
#define FIRFIRCRREG_PA_LEN_1            0x0020
#define FIRFIRCRREG_PA_LEN_2            0x0040
#define FIRFIRCRREG_PA_LEN_4            0x0060
#define FIRFIRCRREG_PA_LEN_16           0x0080
#define FIRFIRCRREG_PA_LEN_32           0x00e0

#define FIRMIRCRREG_M_WIDTH_1           0x0000
#define FIRMIRCRREG_M_WIDTH_2           0x0001
#define FIRMIRCRREG_M_WIDTH_3           0x0002
#define FIRMIRCRREG_M_WIDTH_4           0x0003
#define FIRMIRCRREG_M_WIDTH_5           0x0004
#define FIRMIRCRREG_M_WIDTH_6           0x0005
#define FIRMIRCRREG_M_WIDTH_7           0x0006
#define FIRMIRCRREG_M_WIDTH_8           0x0007
#define FIRMIRCRREG_M_WIDTH_9           0x0008
#define FIRMIRCRREG_M_WIDTH_10          0x0009
#define FIRMIRCRREG_M_WIDTH_11          0x000a
#define FIRMIRCRREG_M_WIDTH_12          0x000b
#define FIRMIRCRREG_M_WIDTH_13          0x000c
#define FIRMIRCRREG_M_WIDTH_14          0x000d
#define FIRMIRCRREG_M_WIDTH_15          0x000e
#define FIRMIRCRREG_M_WIDTH_16          0x000f
#define FIRMIRCRREG_M_WIDTH_17          0x0010
#define FIRMIRCRREG_M_WIDTH_18          0x0011
#define FIRMIRCRREG_M_WIDTH_19          0x0012
#define FIRMIRCRREG_M_WIDTH_20          0x0013
#define FIRMIRCRREG_M_WIDTH_21          0x0014
#define FIRMIRCRREG_M_WIDTH_22          0x0015
#define FIRMIRCRREG_M_WIDTH_23          0x0016
#define FIRMIRCRREG_M_WIDTH_24          0x0017
#define FIRMIRCRREG_M_WIDTH_25          0x0018
#define FIRMIRCRREG_M_WIDTH_26          0x0019
#define FIRMIRCRREG_M_WIDTH_27          0x001a
#define FIRMIRCRREG_M_WIDTH_28          0x001b
#define FIRMIRCRREG_M_WIDTH_29          0x001c
#define FIRMIRCRREG_M_WIDTH_30          0x001d
#define FIRMIRCRREG_M_WIDTH_31          0x001e
#define FIRMIRCRREG_M_WIDTH_32          0x001f
#define FIRMIRCRREG_STA_LEN_1           0x0020
#define FIRMIRCRREG_STA_LEN_2           0x0040
#define FIRMIRCRREG_STA_LEN_4           0x0060
#define FIRMIRCRREG_STA_LEN_16          0x0080
#define FIRMIRCRREG_STA_LEN_32          0x00e0

#define FIRDMACRREG_DEMAND_1            0x0000
#define FIRDMACRREG_DEMAND_2            0x0001
#define FIRDMACRREG_DEMAND_3            0x0002
#define FIRDMACRREG_DEMAND_4            0x0003
#define FIRDMACRREG_DEMAND_5            0x0004
#define FIRDMACRREG_DEMAND_6            0x0005
#define FIRDMACRREG_DEMAND_7            0x0006
#define FIRDMACRREG_DEMAND_FREE         0x0007
#define FIRDMACRREG_TRANS_MD_MEM2TDR    0x0000
#define FIRDMACRREG_TRANS_MD_RDR2MEM    0x0040
#define FIRDMACRREG_ACES_MD             0x0080

#define FIRDMAERREG_DMA_EN              0x0001
#define FIRDMAERREG_DMA_BUSY            0x0002

#define FIRTXIRREG_TXF_EMP              0x0001
#define FIRTXIRREG_TXF_FULL             0x0002
#define FIRTXIRREG_TXF_UNDR             0x0004
#define FIRTXIRREG_TXTH_OV              0x0010
#define FIRTXIRREG_LAST_TFL             0x0020
#define FIRTXIRREG_TX_BUSY              0x0080

#define FIRRXIRREG_RXF_EMP              0x0001
#define FIRRXIRREG_RXF_FULL             0x0002
#define FIRRXIRREG_RX_TH_O              0x0010
#define FIRRXIRREG_LAST_RFL             0x0020
#define FIRRXIRREG_END_DATA             0x0040
#define FIRRXIRREG_RX_BUSY              0x0080

#define FIRIFRREG_RX_RD_RQ              0x0001
#define FIRIFRREG_TX_WR_RQ              0x0002
#define FIRIFRREG_TX_END                0x0004
#define FIRIFRREG_RX_END                0x0008
#define FIRIFRREG_DMA_END               0x0010
#define FIRIFRREG_RX_VALID              0x0020
#define FIRIFRREG_TX_ERR                0x0040
#define FIRIFRREG_TX_ABORT              0x0080

#define FIRRXSTSREG_MRXF_OV             0x0002
#define FIRRXSTSREG_ABORT               0x0004
#define FIRRXSTSREG_CRC_ERR             0x0008
#define FIRRXSTSREG_RXF_OV              0x0010
#define FIRRXSTSREG_VALID               0x0080

#define DMAMSKREG_DMAMSKFOUT            0x0001

NDIS_STATUS
InitializeFIR(
    IN OUT PIR_DEVICE pIrDevice
    );

NDIS_STATUS
DeinitializeFIR(
    IN OUT PIR_DEVICE pIrDevice
    );

NDIS_STATUS
StartFIR(
    IN PIR_DEVICE pIrDevice
    );

NDIS_STATUS
StopFIR(
    IN PIR_DEVICE pIrDevice
    );

NDIS_STATUS
SendFIR(
    IN PIR_DEVICE pIrDevice
    );

BOOL
RecvFIR(
    PIR_DEVICE pIrDevice,
    PRX_BUFFER pRxBuf
    );

NDIS_STATUS
FIRSetSpeed(
    IN     DWORD   dwNewSpeed
    );

VOID
FIRMediaBusy(
    IN PIR_DEVICE pIrDevice
    );

#endif // _IR_FIR_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -