📄 prvphlib.h
字号:
//=====================================================================
//[HEADER] PrvPhLib
// Testheader
//+
//[AUTHOR]
// Bruno Rivara
//.
#ifndef ___PRVHWLIB_H
#define ___PRVHWLIB_H
#include <windows.h>
#include <lvdef.h>
#include <lvlog.h>
#include <prvphlib.sh>
#include <pcicfg.h>
#include <prvreg.h>
#include <lvpackon.h>
#define PVP_I_NoError I_NoError
// Chip definitions
enum _LvChipDefinition {
C_S3964,
C_AT24C02,
C_TDA8444,
C_TVP3025,
C_VIRTUAL,
C_PCI,
C_BNECKS,
C_BNECKP,
C_ICS9161,
C_STANDARDVGA,
C_BT252,
C_XC4005,
C_PSM,
C_BT812,
C_BT485,
C_S3968,
C_TVP3026,
C_TRIO,
C_SAA7146,
C_PPLCA,
C_PPCTL,
C_BT819,
C_BT856,
C_VIRTUAL_SAA,
C_PPTIM,
C_PCCTL,
C_ENC0CTRL,
C_DEBIREGS,
C_RYX_MAIN,
C_KS0127,
C_RYX_CTRL,
C_RYX_SRC,
C_RYX_FBCH,
C_RYX_FSHCTRL,
C_RYX_CLPPRCCTRL,
C_YPC_TIMERCTRL,
C_I28F,
C_RYX_DMACHW,
C_YPC_TIMER,
C_MHT,
C_RYX_DMALUT,
C_I82559ER,
C_I82559ERNVR,
C_PIIX4,
C_RYX_CLPID,
C_RYX_SRCLUT,
C_RYX_SSRAM,
C_RYX_CLPMEM,
C_RYX_TIMERCTRL,
C_RYX_TIMER,
C_PCIBUS,
C_WBOND_83627,
C_WBOND_83781,
C_I82801BA,
C_RYX_PHDETECT,
C_ACCSMB,
C_PCIDEVMEM,
C_RYX_GPIO,
C_YPC_CLPID,
C_RYX_DFORM,
C_RYX_BAYER,
C_RYX_SLUT,
C_TW6800,
C_RYX_TMRPHCTL,
C_RYX_PRGTMR,
C_SAA7121,
C_RXX_DTAP,
C_RYX_RGBLUT,
C_RZL_GPIO_SEL,
C_PNX1500,
C_I82547EI,
C_AD9995,
C_CX25872,
C_AD7415,
C_PIC452,
C_PIC452CFG,
C_I28FUSR,
C_RYE_CTRL,
C_RXX_QTAP,
C_RXX_FOUT3,
C_RXX_GAINOFF,
C_RXX_MTXCOLRA,
C_RXX_LUT,
C_RXX_2DMAFIFO,
C_RXX_TESTPATT2,
C_RXX_TESTPATT4,
C_RXX_FOUT2,
C_RYX_BAYER55,
C_MT9T001,
C_MT9V403,
C_OV3620,
C_OV5610,
C_CY22150,
C_TW280X,
C_TW280XCH,
C_YPE_SRC,
C_YPE_SRCCH,
C_YPE_GPIO,
C_MT9V022,
C_PICFLASH,
C_PICFPGA,
C_RYX_4DMAFIFO,
C_RYX_RGBSPLIT,
C_COUTL_FULL,
C_NX_VIRTUAL,
C_USBCPLD,
C_MT9M001,
C_BF53X,
C_USB_VIRTUAL,
C_PNXFPGA,
C_GVISION,
C_Last,
// -------------------
C_NOCHIP=0xffff,
C_ALLCHIP=0xffff
};
// Board definition
enum _LvBoardEnum {
B_NON_PCI_VGA , // 0x0000
B_UNKNOWN_PCI , // 0x0001
B_MIRO , // 0x0002
B_MIRO20SV , // 0x0003
B_LV_PRV9403 , // 0x0004
B_LV_SAM9406 , // 0x0005
B_UNKNOWN_PCIS3 , // 0x0006
B_LV_PRV9403_LC , // 0x0007
B_LV_PRV9403_968 , // 0x0008
B_MIRO20SV_968 , // 0x0009
B_TRIO , // 0x000a
B_LV_PICPORTMONO , // 0x000b
B_LV_PICPORTCOLOR , // 0x000c
B_LV_PICMOD_XRAY , // 0x000d
B_LV_PICMOD_ENC , // 0x000e // PicMod Encoder should be searched last
B_LV_PPC_CPCI , // 0x000f
B_LV_PPC_IPCI , // 0x0010
B_LV_PPM_CPCI , // 0x0011
B_LV_PPM_IPCI , // 0x0012
B_UNKNOWN7146 , // 0x0013
B_LV_PICMOD_DIG , // 0x0014
B_LV_PPM_PMC , // 0x0015
B_LV_CHECKPPX , // 0x0016
B_LV_CHECKPICMOD , // 0x0017
B_LV_PPC_PMC , // 0x0018
B_LK_PKC , // 0x0019
B_LV_PPD_PMC , // 0x001a
B_LV_PPIO_PMC , // 0x001b
B_PC_MAINBOARD , // 0x001c
B_PENTICAM_MB , // 0x001d
B_LK_PKCAMLNK , // 0x001e
B_LV_RZL , // 0x001f
B_PENTICAM2_MB , // 0x0020
B_LVMPC_POWER , // 0x0021
B_LVMPC_IDE , // 0x0022
B_LVMPC_CARDBUS , // 0x0023
B_LV_RPL , // 0x0024
B_TW_6800 , // 0x0025
B_LVMPC_POWER_I , // 0x0026
B_LV_LPC , // 0x0027
B_LV_DIGIPORT_PMC , // 0x0028
B_LV_DIGIPORT , // 0x0029
B_MDS_LCP1500 , // 0x002A
B_INTEL_E1000 , // 0x002B
B_MDS_LCP1500_NXS , // 0x002C
B_MDS_LCP1500_SER , // 0x002D
B_LV_LOADERPPX , // 0x002E
B_AD9995 , // 0x002F
B_LVCAM_NET , // 0x0030
B_LV_LOADERPPX16 , // 0x0031
B_LV_REL_MONO , // 0x0032
B_LV_REL_STEREO , // 0x0033
B_LV_YPCE , // 0x0034
B_LVCAMMODCAM , // 0x0035
B_LVCAMPIC , // 0x0036
B_LV_REL_MONO_RTF , // 0x0037
B_LV_REL_STEREO_RTF, // 0x0038
B_LVCAMPICCL , // 0x0039
B_LVCAM_NET_CHECK , // 0x003a
B_LVCAMPIC_CHECK , // 0x003b
B_LV_RTL_MONO , // 0x003c
B_LV_RTL_STEREO , // 0x003d
B_LV_RTL_MONO_RTF , // 0x003e
B_LV_RTL_STEREO_RTF, // 0x003f
B_LVCAM_USB , // 0x0040
B_LVCAM_USB_CHECK , // 0x0041
B_LV_REE_0864 , // 0x0042
B_LV_REE_1664 , // 0x0043
B_LV_REE_0864_RTF , // 0x0044
B_LV_REE_1664_RTF , // 0x0045
B_LV_RTE_0864 , // 0x0046
B_LV_RTE_1664 , // 0x0047
B_LV_RTE_0864_RTF , // 0x0048
B_LV_RTE_1664_RTF , // 0x0049
B_LV_RZL_MONO , // 0x004a
B_LV_RML_MONO=B_LV_RZL_MONO,
B_LV_RZL_STEREO , // 0x004b
B_LV_RML_STEREO=B_LV_RZL_STEREO,
B_LV_RZL_MONO_RTF , // 0x004c
B_LV_RML_MONO_RTF=B_LV_RZL_MONO_RTF,
B_LV_RZL_STEREO_RTF, // 0x004d
B_LV_RML_STEREO_RTF=B_LV_RZL_STEREO_RTF,
B_CLV_REL_MONO , // 0x004e
B_CLV_REL_STEREO , // 0x004f
B_GVISION_CAMERA , // 0x0050
B_Last ,
B_BusFirst ,
B_GIGEBUS=B_BusFirst,
B_USBBUS ,
B_GVISIONBUS ,
B_BusLast ,
B_NOBOARD =0xffff,
B_ALLBOARD =0xffff
};
// PrimaView
#define __IsPRV(x) ((x)==B_LV_PRV9403 || (x)==B_LV_PRV9403_968)
// PicPort
#define __IsPPM(x) ((x)==B_LV_PICPORTMONO || \
(x)==B_LV_PPM_CPCI || \
(x)==B_LV_PPM_PMC || \
(x)==B_LV_PPD_PMC || \
(x)==B_LV_PPM_IPCI)
#define __IsPPC(x) ((x)==B_LV_PICPORTCOLOR || \
(x)==B_LV_PPC_CPCI || \
(x)==B_LV_PPC_PMC || \
(x)==B_LV_PPC_IPCI)
#define __IsPPI(x) ((x)==B_LV_PPIO_PMC || \
(x)==B_LV_DIGIPORT_PMC || \
(x)==B_LV_DIGIPORT)
#define __IsPPX(x) (__IsPPM(x) || __IsPPC(x) || __IsPPI(x) || (x)==B_LV_CHECKPPX)
#define __IsPMC(x) ((x)==B_LV_PPC_PMC || \
(x)==B_LV_PPM_PMC || \
(x)==B_LV_PPD_PMC)
#define __IsPPXMod(x) ((x)==B_LV_PICMOD_XRAY || \
(x)==B_LV_PICMOD_DIG || \
(x)==B_LV_CHECKPICMOD || \
(x)==B_LV_PICMOD_ENC)
// PicProdigy
#define __IsPKC(x) ((x)==B_LK_PKC)
#define __IsPKCLnk(x) ((x)==B_LK_PKCAMLNK)
#define __IsPKX(x) (__IsPKC(x) || __IsPKCLnk(x))
// Penticam mainboard
#define __IsPCM(x) ((x)==B_PENTICAM_MB || (x)==B_PENTICAM2_MB)
// and modules
#define __IsPCMMod(x) ((x)==B_LVMPC_POWER || \
(x)==B_LVMPC_POWER_I || \
(x)==B_LVMPC_IDE || \
(x)==B_LVMPC_CARDBUS)
// PicPort Pro
#define __IsRXL(x) ((x)==B_LV_RZL || (x)==B_LV_RPL)
#define __IsRTL(x) ((x)==B_LV_RTL_MONO || (x)==B_LV_RTL_MONO_RTF || (x)==B_LV_RTL_STEREO || (x)==B_LV_RTL_STEREO_RTF)
#define __IsRML(x) ((x)==B_LV_RML_MONO || (x)==B_LV_RML_MONO_RTF || (x)==B_LV_RML_STEREO || (x)==B_LV_RML_STEREO_RTF)
#define __IsRZL(x) __IsRML(x)
#define __IsREL(x) ((x)==B_LV_REL_MONO || (x)==B_CLV_REL_MONO || (x)==B_LV_REL_MONO_RTF || (x)==B_LV_REL_STEREO || (x)==B_CLV_REL_STEREO || (x)==B_LV_REL_STEREO_RTF || __IsRTL(x) || __IsRML(x))
#define __IsYXE(x) (((x)==B_LV_YPCE) || ((x)==B_LV_REE_0864) || ((x)==B_LV_REE_1664) || ((x)==B_LV_REE_0864_RTF) || \
((x)==B_LV_REE_1664_RTF) || ((x)==B_LV_RTE_0864) || ((x)==B_LV_RTE_1664) || ((x)==B_LV_RTE_0864_RTF) || ((x)==B_LV_RTE_1664_RTF))
#define __IsRXX(x) (__IsRXL(x) || __IsREL(x) || __IsYXE(x))
#define __IsXXL(x) (__IsRXL(x) || __IsREL(x))
// PicPortLite
#define __IsLXX(x) ((x)==B_LV_LPC)
// xxx
#define __IsTXX(x) ((x)==B_TW_6800)
#define __IsLvCam(x) ((x)==B_LVCAM_NET)
#define __IsLvCamMod(x)((x)==B_LVCAMMODCAM)
#define __IsLvCamUSB(x) ((x)==B_LVCAM_USB)
#define __IsLeutronDevice(x) (__IsPRV(x) || __IsPPX(x) || __IsPKX(x) || __IsRXX(x) || __IsLXX(x) || __IsTXX(x) || __IsLvCam(x) || __IsLvCamUSB(x) || (x)==B_LVMPC_CARDBUS)
#define __IsLeutronBoard(x) (__IsLeutronDevice(x) || __IsPCM(x) || __IsPPXMod(x) || __IsPCMMod(x) || __IsLvCam(x)) || __IsLvCamUSB(x)
#define __IsLeutronGrabber(x) (__IsPRV(x) || __IsPPX(x) || __IsPKX(x) || __IsRXX(x) || __IsLXX(x) || __IsLvCam(x)) || __IsLvCamUSB(x)
// Access Operation
#define RO_READ 0x01
#define RO_WRITE 0x02
#define RO_FLUSH 0x03
#define RO_SYNC 0x04
#define RO_WRITEPX 0x0a
#define RO_SAVE 0x21
#define RO_REST 0x22
#define RO_CHECK 0x10 //
#define RO_SHADOW 0x40 // Modifiers
#define RO_DONTSHADOW 0x80 //
#define RO_STOP 0xff // Not to be used in out world interface
// Board type
#define BD_MAIN 0x00
#define BD_ADDON_1 0x01
#define BD_ADDON_2 0x02
#define BD_ADDON_3 0x03
#define BD_ALL 0xff
// macros for casting
#define LVCHIPIDX(x) ((U8BIT)(x))
// Novram Revision
#define NREV_00 0x00
#define NREV_01 0x01
// Specific settings
#define LSM_ProntoPhot_Miro20 0x100
#define LSM_PRV_1024_768_256 0x101
#define LSM_PRV_800_600_256 0x102
#define LSM_PRV_640_480_256 0x103
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -