151 lines
5.4 KiB
C
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 |