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

📄 lvpio.h

📁 相机传输图像程序源代码 拜耳模式(RAW格式文件)与RGB图像数据互相转换函数库
💻 H
字号:
#ifndef ___LVPIO_H
#define ___LVPIO_H

#include <lvdef.h>
#include <dsylib.h>

#include <lvpackon.h>
#ifdef _LVPIO_
    #define LVIOAPI(x) __declspec(dllexport) x
#else
    #define LVIOAPI(x) __declspec(dllimport) x
#endif


#define LVPIO_TimeElapsed          1
#define LVPIO_NoError              0
#define LVPIO_GenericError        -1
#define LVPIO_InvalidBoard        -2
#define LVPIO_BoardAlreadyOpened  -3
#define LVPIO_BoardNotOpened      -4
#define LVPIO_MaxDelayedError     -5
#define LVPIO_ClockError          -6
#define LVPIO_BoardLocked         -7
#define LVPIO_BoardBusy           -8
#define LVPIO_InvalidPointer      -9
#define LVPIO_NotCustomBoard      -10

#define LVPIO_FirstUserError      -100
#define LVPIO_FirstUserWarning    100


#define InitMode_8bit             0
#define InitMode_16bit            1
#define InitMode_32bit            2

#define SetOpto_Now               0
#define SetOpto_AtAbsoluteTime    1
#define SetOpto_AtRelativeTime    2

#define _MaxPIO 4

typedef int LVIOSTATUS;

typedef BOOL(*InputCallback)(U32BIT, U32BIT);
typedef BOOL(*MonitorCallback)(U32BIT, U32BIT, U32BIT);


#define _LvPIO_MxName "LvPIOLockMx"
#define _LvPIO_Name   "LvPIOLock"
#define _LvPIO_SizeHigh 0
#define _LvPIO_SizeLow  0x1000

#define _LvPIOTrace_Reserve 0xfffffff0

#define _LvPIOTrace_IrqMark 0xfffffffb
#define _LvPIOTrace_Dump    0xfffffffc
#define _LvPIOTrace_On      0xfffffffd
#define _LvPIOTrace_Off     0xfffffffe
#define _LvPIOTrace_None    0xffffffff

enum _LvPIOStatusEnum {
    PIOStatus_NotPresent,
    // Closed states
    PIOStatus_NotAccessible,
    PIOStatus_Locked,
    PIOStatus_Free,
    PIOStatus_LastClosed,
    // Opened states
    PIOStatus_Ready,
    PIOStatus_Busy,
    PIOStatus_Last
    };

typedef struct _tagLvPIOStatus {
    HGRABBER          hGrb;
    int               NrGrb;
    U32BIT            Status;
    HDEVICE           hDevice;
    U16BIT            BoardType;
    U8BIT             PCIBusNr;
    U8BIT             PCIDeviceNr;
	// Valid on initialized boards
    int               InitMode;
    U32BIT            CustomId;
    InputCallback     InCallBack;
    U32BIT            InMask;
    U32BIT            InMaskVal;
    MonitorCallback   MonCallBack;
    U32BIT            ClockNs;
    } LvPIOStatus;

#include <lvpackof.h>

#ifdef __cplusplus
extern "C" {            /* Assume C declarations for C++ */
#endif  /* __cplusplus */

LVIOAPI(LVIOSTATUS) LvPIOSetOpto(U32BIT boardNumber, U32BIT bitNumber, U32BIT Value, U32BIT When, U32BIT delay);
// LVIOAPI(LVIOSTATUS) LvPIOInitBoard(U32BIT boardNumber, int Mode);
// LVIOAPI(LVIOSTATUS) LvPIOInitCustomBoard(U32BIT boardNumber, int Mode, U32BIT CustomId);
LVIOAPI(LVIOSTATUS) LvPIOInitBoard(U32BIT boardNumber, int Mode, U32BIT Stall_usec, U32BIT Blind_10thmsec);
LVIOAPI(LVIOSTATUS) LvPIOInitCustomBoard(U32BIT boardNumber, int Mode, U32BIT Stall_usec, U32BIT Blind_10thmsec, U32BIT CustomId);
LVIOAPI(LVIOSTATUS) LvPIOCloseBoard(U32BIT boardNumber);
LVIOAPI(LVIOSTATUS) LvPIOSetInputNotifyMask(U32BIT boardNumber, U32BIT mask, U32BIT maskVal, InputCallback InCBFunction);
LVIOAPI(LVIOSTATUS) LvPIOSetMonitorCallback(U32BIT boardNumber, MonitorCallback MonCBFunction);
LVIOAPI(LVIOSTATUS) LvPIOGetInputValue(U32BIT boardNumber, U32BIT *val);
LVIOAPI(LVIOSTATUS) LvPIOGetOutputValue(U32BIT boardNumber, U32BIT *val);
LVIOAPI(LVIOSTATUS) LvPIOSetOutputValue(U32BIT boardNumber, U32BIT Mask);
LVIOAPI(LVIOSTATUS) LvPIOResetTimer(U32BIT boardNumber);
LVIOAPI(void)       LvPIOTrace(U32BIT Reference, const char *fmt, ...);
LVIOAPI(void)       LvPIOWaitMsec(U32BIT boardNumber, U32BIT Ms);
LVIOAPI(void)       LvPIOWaitUsec(U32BIT boardNumber, U32BIT Us);
LVIOAPI(LVIOSTATUS) LvPIOGetTimerUsec(U32BIT boardNumber, U32BIT *Us);
LVIOAPI(LVIOSTATUS) LvPIOGetTimerMsec(U32BIT boardNumber, U32BIT *Ms);
LVIOAPI(void)       LvPIOGetStatus(U32BIT boardNumber, LvPIOStatus *PIOStatus);

#ifdef __cplusplus
    };
#endif  /* __cplusplus */



#endif

⌨️ 快捷键说明

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