gst-plugin-linescan/sys/sapera/corhw_prm_user.h

151 lines
5.4 KiB
C

//////////////////////////////////////////////////////////////////////////////
// corhw_prm_user.h (c) Teledyne DALSA 2013
//
// Description:
// Hardware Control Parameters
//
//////////////////////////////////////////////////////////////////////////////
#ifndef _CORHW_PRM_USER_H_
#define _CORHW_PRM_USER_H_
#include "cordef.h"
#ifdef _MSC_VER
#pragma pack(1)
#endif
#ifdef __BORLANDC__
#pragma option -a1
#endif
#ifndef COR_PACK
#if COR_LINUX
#define COR_PACK __attribute__((packed))
#else
#define COR_PACK
#endif
#endif
#define CORHW_USER_DEVICE_PRM_SET_MEMORY_TEST 0x80000007 // W
#define CORHW_USER_DEVICE_PRM_SET_DIAGNOSTIC_MODE 0x80000009 // W
#define CORHW_USER_DEVICE_PRM_RESET_LANES_STATS 0x80000011 // W
#define CORHW_USER_DEVICE_PRM_LOAD_FIRWMARE 0x00000023
#define CORHW_USER_DEVICE_PRM_GET_MEMORY_TEST_RESULT 0x00000025 // R
#define CORHW_USER_DEVICE_PRM_GET_VOLTAGE 0x00000026 // R
#define CORHW_USER_DEVICE_PRM_GET_TEMPERATURE 0x00000027 // R
#define CORHW_USER_DEVICE_PRM_GET_BANDWIDTH 0x00000028 // R
#define CORHW_USER_DEVICE_PRM_GET_PCI_BUS_NUMBER 0x00000029 // R
#define CORHW_USER_DEVICE_PRM_GET_IS_RESET_NEEDED 0x0000002B // R
#define CORHW_USER_DEVICE_PRM_GET_PCI_SLOT_NUMBER 0x0000002E // R
#define CORHW_USER_DEVICE_PRM_GET_PCI_FUNCTION_NUMBER 0x0000002F // R
#define CORHW_USER_DEVICE_PRM_GET_PCIE_BUS_NB_LANES 0x00000030 // R
#define CORHW_USER_DEVICE_PRM_GET_PCIE_BUS_BIT_TRANSFER_RATE 0x00000031 // R
#define CORHW_USER_DEVICE_PRM_GET_PCIE_BUS_PAYLOAD_SIZE 0x00000032 // R
#define CORHW_USER_DEVICE_PRM_GET_PCIE_BUS_REQUEST_SIZE 0x00000034 // R
#define CORHW_USER_DEVICE_PRM_GET_THEORETICAL_BANDWIDTH 0x00000037 // R
#define CORHW_USER_DEVICE_PRM_GET_LANES_STATS 0x00000038 // R
#define CORHW_USER_DEVICE_PRM_GET_EYE_DIAGRAM 0x00000039 // R
#define CORHW_USER_DEVICE_PRM_GET_NB_LANES 0x00000043 // R
#define CORHW_USER_DEVICE_PRM_GET_TRANSMISSION_ENCODING 0x00000044 // R
#define CORHW_DEVICE_PARAMETER_MEMORY_TEST_PATTERN 0
#define CORHW_DEVICE_PARAMETER_MEMORY_TEST_RAMP 1
#define CORHW_DEVICE_PARAMETER_MEMORY_TEST_RESET 2
#define CORHW_DEVICE_PARAMETER_MEMORY_TEST_PATTERN_BOARD_00 0x10000000
#define CORHW_DEVICE_PARAMETER_MEMORY_TEST_PATTERN_BOARD_01 0x10000001
#define CORHW_DEVICE_PARAMETER_MEMORY_TEST_PATTERN_BOARD_02 0x10000002
#define CORHW_DEVICE_PARAMETER_MEMORY_TEST_PATTERN_BOARD_03 0x10000003
#define CORHW_DEVICE_PARAMETER_MEMORY_TEST_PATTERN_BOARD_04 0x10000004
#define CORHW_DEVICE_PARAMETER_MEMORY_TEST_PATTERN_BOARD_05 0x10000005
typedef struct _CORHW_DEVICE_PARAMETER_SET_DIAGNOSTIC_MODE_DATA
{
UINT32 mode; // 0=Disable 1=Enable;
} CORHW_DEVICE_PARAMETER_SET_DIAGNOSTIC_MODE_DATA, *PCORHW_DEVICE_PARAMETER_SET_DIAGNOSTIC_MODE_DATA;
typedef struct _CORHW_DEVICE_PARAMETER_MEMORY_TEST_DATA
{
UINT32 testNumber;
UINT32 timeoutMs; // in ms
} CORHW_DEVICE_PARAMETER_MEMORY_TEST_DATA, *PCORHW_DEVICE_PARAMETER_MEMORY_TEST_DATA;
typedef struct _CORHW_DEVICE_PARAMETER_GET_MEMORY_TEST_RESULT_DATA
{
DWORD nErrors;
//char szSource[CORCMD_NAME_LENGTH];// string name of the memory e.g: "DDR2"
UINT32 addressSizeInByte;
UINT32 busSizeInByte;
UINT32 memSizeInByte;
ULONG_PTR pBuffer;
ULONG_PTR pResult;
} CORHW_DEVICE_PARAMETER_GET_MEMORY_TEST_RESULT_DATA, *PCORHW_DEVICE_PARAMETER_GET_MEMORY_TEST_RESULT_DATA;
struct MEM_TEST_RESULT
{
UINT32 address;
UINT8 *readData;
UINT8 *expectedData;
};
typedef struct _CORHW_DEVICE_PARAMETER_GET_VOLTAGE_DATA
{
DWORD min; // in mVolts
DWORD max; // in mVolts
DWORD value; // in mVolts
} CORHW_DEVICE_PARAMETER_GET_VOLTAGE_DATA, *PCORHW_DEVICE_PARAMETER_GET_VOLTAGE_DATA;
typedef struct _CORHW_DEVICE_PARAMETER_GET_TEMPERATURE_DATA
{
DWORD min; // in 1/1000 C
DWORD max; // in 1/1000 C
DWORD value; // in 1/1000 C
} CORHW_DEVICE_PARAMETER_GET_TEMPERATURE_DATA, *PCORHW_DEVICE_PARAMETER_GET_TEMPERATURE_DATA;
typedef struct _CORHW_DEVICE_PARAMETER_GET_EYE_DIAGRAM_DATA_IN
{
UINT32 type;
char* resolution;
void *fctCallback;
void *context;
} CORHW_DEVICE_PARAMETER_GET_EYE_DIAGRAM_DATA_IN, *PCORHW_DEVICE_PARAMETER_GET_EYE_DIAGRAM_DATA_IN;
typedef struct _CORHW_DEVICE_PARAMETER_GET_EYE_DIAGRAM_DATA_OUT
{
void *pData;
UINT32 *pSize;
UINT32 *pWidth;
UINT32 *pHeight;
UINT32 *pPercent;
} CORHW_DEVICE_PARAMETER_GET_EYE_DIAGRAM_DATA_OUT, *PCORHW_DEVICE_PARAMETER_GET_EYE_DIAGRAM_DATA_OUT;
typedef struct _CORHW_DEVICE_PARAMETER_GET_NB_REGISTRY_PARAMETERS
{
DWORD value; //count
} CORHW_DEVICE_PARAMETER_GET_NB_REGISTRY_PARAMETERS, *PCORHW_DEVICE_PARAMETER_GET_NB_REGISTRY_PARAMETERS;
typedef struct _CORHW_DEVICE_PARAMETER_GET_REGISTRY_PARAMETER
{
DWORD index;
DWORD type; //1=Byte,2=Word,4=DWORD,8=QWORD,16=String
CHAR *key;
DWORD lengthKey;
void *value;
DWORD lengthValue;
} CORHW_DEVICE_PARAMETER_GET_REGISTRY_PARAMETER, *PCORHW_DEVICE_PARAMETER_GET_REGISTRY_PARAMETER;
typedef struct _CORHW_DEVICE_PARAMETER_SET_REGISTRY_PARAMETER
{
DWORD type; //1=Byte,2=Word,4=DWORD,8=QWORD,16=String
CHAR *key;
DWORD lengthKey;
void *value;
DWORD lengthValue;
} CORHW_DEVICE_PARAMETER_SET_REGISTRY_PARAMETER, *PCORHW_DEVICE_PARAMETER_SET_REGISTRY_PARAMETER;
#ifdef _MSC_VER
#pragma pack()
#endif
#endif