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

📄 lvbus_lvcamnet.h

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

#include <LvBus.h>
#include <lvgvpdll_api.h>
#include <lvsds.h>  // N:\lv\include
#include <LvLUT.h>

#ifdef __cplusplus
    extern "C" {
#endif

typedef struct _tagLvBusSystemInfo {
    U32BIT MemoryUsed;
    U32BIT NCMemoryUsed;
    } LvBusSystemInfo;


typedef struct _tagLvCamStatus {
    U32BIT Temp[4];
    U32BIT MemoryUsed;
    U32BIT NCMemoryUsed;
    } LvCamStatus;

typedef struct _tagLvCamFSStatus {
    U32BIT BlockSize;
    U32BIT Total;
    U32BIT Free;
    U32BIT Dirty;
    U32BIT Bad;
    } LvCamFSStatus;


typedef void (*FnLvBusUser_CrtOut)(char *String);
typedef void (*FnLvBusUser_ConsoleOut)(char *Screen, int NrRow);
typedef void (*FnLvBusUser_UserMessage)(void *Buffer, U32BIT Size, U32BIT Param);

#ifdef _MSC_VER
typedef LVSTATUS (__stdcall *FnLvBus_Reset)(int Device, U32BIT Timeout);
typedef LVSTATUS (__stdcall *FnLvBus_WantCRTOutput)(int Device, FnLvBusUser_CrtOut CrtOutFn);
typedef LVSTATUS (__stdcall *FnLvBus_WriteSystem)(int Device, char *FileName, char *Name, U32BIT Version);
typedef LVSTATUS (__stdcall *FnLvBus_WriteBoot)(int Device, char *FileName);
typedef LVSTATUS (__stdcall *FnLvBus_WriteNovram)(int Device, char *FileName);
typedef LVSTATUS (__stdcall *FnLvBus_WriteCpld)(int Device, char *FileName);
typedef LVSTATUS (__stdcall *FnLvBus_AcqFreeze)(int Device, U32BIT);
#else
typedef LVBUSAPI(LVSTATUS) (*FnLvBus_Reset)(int Device, U32BIT Timeout);
typedef LVBUSAPI(LVSTATUS) (*FnLvBus_WantCRTOutput)(int Device, FnLvBusUser_CrtOut CrtOutFn);
typedef LVBUSAPI(LVSTATUS) (*FnLvBus_WriteSystem)(int Device, char *FileName, char *Name, U32BIT Version);
typedef LVBUSAPI(LVSTATUS) (*FnLvBus_WriteBoot)(int Device, char *FileName);
typedef LVBUSAPI(LVSTATUS) (*FnLvBus_WriteNovram)(int Device, char *FileName);
typedef LVBUSAPI(LVSTATUS) (*FnLvBus_WriteCpld)(int Device, char *FileName);
typedef LVBUSAPI(LVSTATUS) (*FnLvBus_AcqFreeze)(int Device, U32BIT);
#endif

#define LvConKey_Up          0x0001
#define LvConKey_Down        0x0002
#define LvConKey_Left        0x0004
#define LvConKey_Right       0x0008
#define LvConKey_A           0x0010
#define LvConKey_B           0x0020


// LVBUSAPI(LVSTATUS) LvBus_GetSensorDesc(int Device, char *Desc, int SizeOfDesc);

LVBUSAPI(LVSTATUS) LvBus_IsDeviceConnected(int Device);
LVBUSAPI(LVSTATUS) LvBus_GetDeviceId(int Device, U32BIT *VendId, U32BIT *DevId);
LVBUSAPI(LVSTATUS) LvBus_WantCRTOutput(int Device, FnLvBusUser_CrtOut CrtOutFn);
LVBUSAPI(LVSTATUS) LvBus_GetSystemInfo(int Device, LvBusSystemInfo *SysInfo);
LVBUSAPI(LVSTATUS) LvBus_WriteSystem(int Device, char *FileName, char *Name, U32BIT Version);
LVBUSAPI(LVSTATUS) LvBus_WriteBoot(int Device, char *FileName);
LVBUSAPI(LVSTATUS) LvBus_WriteNovram(int Device, char *FileName);
LVBUSAPI(LVSTATUS) LvBus_WriteCpld(int Device, char *FileName);
LVBUSAPI(LVSTATUS) LvBus_GetImage(int Device, char **Mem, LVRHeader *Hdr);

LVBUSAPI(LVSTATUS) LvBus_StreamLink(int Device, U32BIT Mode);
LVBUSAPI(LVSTATUS) LvBus_StreamUnlink(int Device);
LVBUSAPI(LVSTATUS) LvBus_StreamStart(int Device, U32BIT NrImg);
LVBUSAPI(LVSTATUS) LvBus_StreamStop(int Device);
LVBUSAPI(LVSTATUS) LvBus_StreamSetCfg(int Device, LvBusAcquisition *Cfg);
LVBUSAPI(LVSTATUS) LvBus_StreamGetCfg(int Device, LvBusAcquisition *Cfg);
LVBUSAPI(LVSTATUS) LvBus_StreamIsAlive(int Device);

// LVBUSAPI(LVSTATUS) LvBus_SeqActivate(int Device, void *Cfg);
LVBUSAPI(LVSTATUS) LvBus_SeqActivate(int Device, void *Cfg, int NrBuffer, U32BIT *BufferOffset);
LVBUSAPI(LVSTATUS) LvBus_SeqInit(int Device);
LVBUSAPI(LVSTATUS) LvBus_SeqStart(int Device);
LVBUSAPI(LVSTATUS) LvBus_SeqStop(int Device);
LVBUSAPI(LVSTATUS) LvBus_SeqPause(int Device);
LVBUSAPI(BOOL)     LvBus_SeqIsPaused(int Device);
LVBUSAPI(LVSTATUS) LvBus_SeqContinue(int Device);
LVBUSAPI(LVSTATUS) LvBus_SeqSetExtEvent(int Device, int ExtEvent);
LVBUSAPI(LVSTATUS) LvBus_SeqGetExtEvent(int Device, int *ExtEvent);
LVBUSAPI(LVSTATUS) LvBus_SeqARSetShutterTime(int Device, U32BIT Shtusec);
LVBUSAPI(LVSTATUS) LvBus_SeqARGetShutterTime(int Device, U32BIT *Shtusec);
LVBUSAPI(LVSTATUS) LvBus_SeqARSetFlashMode(int Device, int FshMode, int Enabled);
LVBUSAPI(LVSTATUS) LvBus_SeqARGetFlashMode(int Device, int *FshMode, int *Enabled);
LVBUSAPI(LVSTATUS) LvBus_SeqARSetRestartDelay(int Device, U32BIT usec);
LVBUSAPI(LVSTATUS) LvBus_SeqARGetRestartDelay(int Device, U32BIT *usec);
LVBUSAPI(LVSTATUS) LvBus_SeqGetFreeIO(int Device, U32BIT *Opto, U32BIT *Gpio);
LVBUSAPI(LVSTATUS) LvBus_SeqSetFreeIO(int Device, U32BIT Opto, U32BIT OptoMask, U32BIT Gpio, U32BIT GpioMask);

LVBUSAPI(LVSTATUS) LvBus_SendASCIICmd(int Device, char *Cmd, char *Answer, int AnswerLen);
LVBUSAPI(LVSTATUS) LvBus_Reset(int Device, U32BIT Timeout);
LVBUSAPI(LVSTATUS) LvBus_LogEnable(int Device, U32BIT LogEn);

LVBUSAPI(LVSTATUS) LvBus_GetLvCamStatus(int Device, LvCamStatus *Status);
LVBUSAPI(LVSTATUS) LvBus_GetLvCamFSStatus(int Device, LvCamFSStatus *FSStatus, LvCamFSStatus *FSStatus2);
LVBUSAPI(LVSTATUS) LvBus_CleanFS(int Device, U32BIT);
LVBUSAPI(LVSTATUS) LvBus_AcqLive(int Device, U32BIT);
LVBUSAPI(LVSTATUS) LvBus_AcqFreeze(int Device, U32BIT);
LVBUSAPI(LVSTATUS) LvBus_AcqReset(int Device, U32BIT);
LVBUSAPI(LVSTATUS) LvBus_LoadCamDat(int Device, U32BIT Param);
LVBUSAPI(LVSTATUS) LvBus_AcqSetScaleMode(int Device, U32BIT ScaleMode, U32BIT Width, U32BIT Height);
LVBUSAPI(LVSTATUS) LvBus_AcqGetScaleMode(int Device, U32BIT *ScaleMode, U32BIT *Width, U32BIT *Height);

LVBUSAPI(LVSTATUS) LvBus_AcqSetShutter(int Device, U32BIT uSec);
LVBUSAPI(LVSTATUS) LvBus_AcqGetShutter(int Device, U32BIT* uSec);
LVBUSAPI(LVSTATUS) LvBus_AcqSetGain(int Device, U32BIT Type, U32BIT Gain);
LVBUSAPI(LVSTATUS) LvBus_AcqGetGain(int Device, U32BIT Type, U32BIT* CurrGain, U32BIT* MinGain, U32BIT* MaxGain);
LVBUSAPI(LVSTATUS) LvBus_AcqGetBlackLevel(int Device, U32BIT* CurrBlackLevel, U32BIT* MinBlackLevel, U32BIT* MaxBlackLevel);
LVBUSAPI(LVSTATUS) LvBus_AcqSetBlackLevel(int Device, U32BIT BlackLevel);
LVBUSAPI(LVSTATUS) LvBus_SetColorRotator(int Device, U32BIT Mode, S32BIT* Gain3x3);
LVBUSAPI(LVSTATUS) LvBus_GetColorRotator(int Device, U32BIT* Mode, S32BIT* Gain3x3);

LVBUSAPI(LVSTATUS) LvBus_AppLoad(int Device, char *AppName);
LVBUSAPI(LVSTATUS) LvBus_AppTaskSuspend(int Device);
LVBUSAPI(LVSTATUS) LvBus_AppTaskResume(int Device);
LVBUSAPI(LVSTATUS) LvBus_AppTaskKill(int Device);
LVBUSAPI(LVSTATUS) LvBus_AppMessage(int Device, char *Message, int Size, char *Answer, int *AnswerSize);

LVBUSAPI(LVSTATUS) LvBus_WantNetUserMessage(int Device, FnLvBusUser_UserMessage UsrMsgFn, U32BIT CBParam);

LVBUSAPI(LVSTATUS) LvBus_Query(int Device, U32BIT QueryItem, U32BIT Param, U32BIT *Value);

LVBUSAPI(LVSTATUS) LvBus_SetLUT(int Device, LvLUTData *LUT);

LVBUSAPI(LVSTATUS) LvBus_GetCamSysVersion(int Device, U32BIT *NxVersion, U32BIT* ReqLVSDS);

LVBUSAPI(LVSTATUS) LvBus_RegisterForLog(int Device, FnLvBusUser_CrtOut CrtOutFn);
LVBUSAPI(LVSTATUS) LvBus_UnregisterForLog(int Device);
LVBUSAPI(LVSTATUS) LvBus_RegisterForUserLog(int Device, FnLvBusUser_CrtOut CrtOutFn);
LVBUSAPI(LVSTATUS) LvBus_UnregisterForUserLog(int Device);

LVBUSAPI(LVSTATUS) LvBus_GetFileHeader(int Device, char *FileName, char *Buffer, int *Size);

#ifdef __cplusplus
    };
#endif


#endif

⌨️ 快捷键说明

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