////////////////////////////////////////////////////////////////////////////// // 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