Program Listing for File dvxplorer.h
↰ Return to documentation for file (include/libcaer/devices/dvxplorer.h
)
#ifndef LIBCAER_DEVICES_DVXPLORER_H_
#define LIBCAER_DEVICES_DVXPLORER_H_
#include "../events/imu6.h"
#include "../events/polarity.h"
#include "../events/special.h"
#include "imu_support.h"
#include "usb.h"
#ifdef __cplusplus
extern "C" {
#endif
#define CAER_DEVICE_DVXPLORER 8
#define DVXPLORER_CHIP_ID 20
#define DVXPLORER_LITE_CHIP_ID 19
#define DVX_MUX 0
#define DVX_DVS 1
#define DVX_IMU 3
#define DVX_EXTINPUT 4
#define DVX_SYSINFO 6
#define DVX_USB 9
#define DVX_MUX_RUN 0
#define DVX_MUX_TIMESTAMP_RUN 1
#define DVX_MUX_TIMESTAMP_RESET 2
#define DVX_MUX_RUN_CHIP 3
#define DVX_MUX_DROP_EXTINPUT_ON_TRANSFER_STALL 4
#define DVX_MUX_DROP_DVS_ON_TRANSFER_STALL 5
#define DVX_MUX_HAS_STATISTICS 80
#define DVX_MUX_STATISTICS_EXTINPUT_DROPPED 81
#define DVX_MUX_STATISTICS_DVS_DROPPED 83
#define DVX_DVS_SIZE_COLUMNS 0
#define DVX_DVS_SIZE_ROWS 1
#define DVX_DVS_ORIENTATION_INFO 2
#define DVX_DVS_RUN 3
#define DVX_DVS_HAS_STATISTICS 80
#define DVX_DVS_STATISTICS_COLUMN 81
#define DVX_DVS_STATISTICS_GROUP 83
#define DVX_DVS_STATISTICS_DROPPED_COLUMN 85
#define DVX_DVS_STATISTICS_DROPPED_GROUP 87
#define DVX_IMU_TYPE 0
#define DVX_IMU_ORIENTATION_INFO 1
#define DVX_IMU_RUN_ACCELEROMETER 2
#define DVX_IMU_RUN_GYROSCOPE 3
#define DVX_IMU_RUN_TEMPERATURE 4
#define DVX_IMU_ACCEL_DATA_RATE 5
#define DVX_IMU_ACCEL_FILTER 6
#define DVX_IMU_ACCEL_RANGE 7
#define DVX_IMU_GYRO_DATA_RATE 8
#define DVX_IMU_GYRO_FILTER 9
#define DVX_IMU_GYRO_RANGE 10
#define DVX_EXTINPUT_RUN_DETECTOR 0
#define DVX_EXTINPUT_DETECT_RISING_EDGES 1
#define DVX_EXTINPUT_DETECT_FALLING_EDGES 2
#define DVX_EXTINPUT_DETECT_PULSES 3
#define DVX_EXTINPUT_DETECT_PULSE_POLARITY 4
#define DVX_EXTINPUT_DETECT_PULSE_LENGTH 5
#define DVX_EXTINPUT_HAS_GENERATOR 10
#define DVX_EXTINPUT_RUN_GENERATOR 11
#define DVX_EXTINPUT_GENERATE_PULSE_POLARITY 12
#define DVX_EXTINPUT_GENERATE_PULSE_INTERVAL 13
#define DVX_EXTINPUT_GENERATE_PULSE_LENGTH 14
#define DVX_EXTINPUT_GENERATE_INJECT_ON_RISING_EDGE 15
#define DVX_EXTINPUT_GENERATE_INJECT_ON_FALLING_EDGE 16
#define DVX_SYSINFO_LOGIC_VERSION 0
#define DVX_SYSINFO_CHIP_IDENTIFIER 1
#define DVX_SYSINFO_DEVICE_IS_MASTER 2
#define DVX_SYSINFO_LOGIC_CLOCK 3
#define DVX_SYSINFO_USB_CLOCK 5
#define DVX_SYSINFO_CLOCK_DEVIATION 6
#define DVX_SYSINFO_LOGIC_PATCH 7
#define DVX_USB_RUN 0
#define DVX_USB_EARLY_PACKET_DELAY 1
#define DVX_DVS_CHIP 20
#define DVX_DVS_CHIP_MODE 0
#define DVX_DVS_CHIP_EVENT_FLATTEN 1
#define DVX_DVS_CHIP_EVENT_ON_ONLY 2
#define DVX_DVS_CHIP_EVENT_OFF_ONLY 3
#define DVX_DVS_CHIP_SUBSAMPLE_ENABLE 4
#define DVX_DVS_CHIP_AREA_BLOCKING_ENABLE 5
#define DVX_DVS_CHIP_DUAL_BINNING_ENABLE 6
#define DVX_DVS_CHIP_SUBSAMPLE_VERTICAL 7
#define DVX_DVS_CHIP_SUBSAMPLE_HORIZONTAL 8
#define DVX_DVS_CHIP_AREA_BLOCKING_0 9
#define DVX_DVS_CHIP_AREA_BLOCKING_1 10
#define DVX_DVS_CHIP_AREA_BLOCKING_2 11
#define DVX_DVS_CHIP_AREA_BLOCKING_3 12
#define DVX_DVS_CHIP_AREA_BLOCKING_4 13
#define DVX_DVS_CHIP_AREA_BLOCKING_5 14
#define DVX_DVS_CHIP_AREA_BLOCKING_6 15
#define DVX_DVS_CHIP_AREA_BLOCKING_7 16
#define DVX_DVS_CHIP_AREA_BLOCKING_8 17
#define DVX_DVS_CHIP_AREA_BLOCKING_9 18
#define DVX_DVS_CHIP_AREA_BLOCKING_10 19
#define DVX_DVS_CHIP_AREA_BLOCKING_11 20
#define DVX_DVS_CHIP_AREA_BLOCKING_12 21
#define DVX_DVS_CHIP_AREA_BLOCKING_13 22
#define DVX_DVS_CHIP_AREA_BLOCKING_14 23
#define DVX_DVS_CHIP_AREA_BLOCKING_15 24
#define DVX_DVS_CHIP_AREA_BLOCKING_16 25
#define DVX_DVS_CHIP_AREA_BLOCKING_17 26
#define DVX_DVS_CHIP_AREA_BLOCKING_18 27
#define DVX_DVS_CHIP_AREA_BLOCKING_19 28
#define DVX_DVS_CHIP_TIMESTAMP_RESET 29
#define DVX_DVS_CHIP_GLOBAL_RESET_ENABLE 30
#define DVX_DVS_CHIP_GLOBAL_RESET_DURING_READOUT 31
#define DVX_DVS_CHIP_GLOBAL_HOLD_ENABLE 32
#define DVX_DVS_CHIP_FIXED_READ_TIME_ENABLE 33
#define DVX_DVS_CHIP_EXTERNAL_TRIGGER_MODE 34
#define DVX_DVS_CHIP_TIMING_ED 35
#define DVX_DVS_CHIP_TIMING_GH2GRS 36
#define DVX_DVS_CHIP_TIMING_GRS 37
#define DVX_DVS_CHIP_TIMING_GH2SEL 38
#define DVX_DVS_CHIP_TIMING_SELW 39
#define DVX_DVS_CHIP_TIMING_SEL2AY_R 40
#define DVX_DVS_CHIP_TIMING_SEL2AY_F 41
#define DVX_DVS_CHIP_TIMING_SEL2R_R 42
#define DVX_DVS_CHIP_TIMING_SEL2R_F 43
#define DVX_DVS_CHIP_TIMING_NEXT_SEL 44
#define DVX_DVS_CHIP_TIMING_NEXT_GH 45
#define DVX_DVS_CHIP_TIMING_READ_FIXED 46
#define DVX_DVS_CHIP_DTAG_CONTROL 47
#define DVX_DVS_CHIP_MODE_OFF 0
#define DVX_DVS_CHIP_MODE_MONITOR 1
#define DVX_DVS_CHIP_MODE_STREAM 2
#define DVX_DVS_CHIP_DTAG_CONTROL_STOP 0
#define DVX_DVS_CHIP_DTAG_CONTROL_START 1
#define DVX_DVS_CHIP_DTAG_CONTROL_RESTART 2
#define DVX_DVS_CHIP_EXTERNAL_TRIGGER_MODE_TIMESTAMP_RESET 0
#define DVX_DVS_CHIP_EXTERNAL_TRIGGER_MODE_SINGLE_FRAME 1
#define DVX_DVS_CHIP_SUBSAMPLE_VERTICAL_NONE 0
#define DVX_DVS_CHIP_SUBSAMPLE_VERTICAL_HALF 1
#define DVX_DVS_CHIP_SUBSAMPLE_VERTICAL_FOURTH 3
#define DVX_DVS_CHIP_SUBSAMPLE_VERTICAL_EIGHTH 7
#define DVX_DVS_CHIP_SUBSAMPLE_HORIZONTAL_NONE 0
#define DVX_DVS_CHIP_SUBSAMPLE_HORIZONTAL_HALF 1
#define DVX_DVS_CHIP_SUBSAMPLE_HORIZONTAL_FOURTH 3
#define DVX_DVS_CHIP_SUBSAMPLE_HORIZONTAL_EIGHTH 7
#define DVX_DVS_CHIP_CROPPER 21
#define DVX_DVS_CHIP_CROPPER_ENABLE 0
#define DVX_DVS_CHIP_CROPPER_Y_START_ADDRESS 1
#define DVX_DVS_CHIP_CROPPER_Y_END_ADDRESS 2
#define DVX_DVS_CHIP_CROPPER_X_START_ADDRESS 3
#define DVX_DVS_CHIP_CROPPER_X_END_ADDRESS 4
#define DVX_DVS_CHIP_ACTIVITY_DECISION 22
#define DVX_DVS_CHIP_ACTIVITY_DECISION_ENABLE 0
#define DVX_DVS_CHIP_ACTIVITY_DECISION_POS_THRESHOLD 1
#define DVX_DVS_CHIP_ACTIVITY_DECISION_NEG_THRESHOLD 2
#define DVX_DVS_CHIP_ACTIVITY_DECISION_DEC_RATE 3
#define DVX_DVS_CHIP_ACTIVITY_DECISION_DEC_TIME 4
#define DVX_DVS_CHIP_ACTIVITY_DECISION_POS_MAX_COUNT 5
#define DVX_DVS_CHIP_BIAS 23
#define DVX_DVS_CHIP_BIAS_CURRENT_RANGE_LOG 0
#define DVX_DVS_CHIP_BIAS_CURRENT_RANGE_SF 1
#define DVX_DVS_CHIP_BIAS_CURRENT_RANGE_ON 2
#define DVX_DVS_CHIP_BIAS_CURRENT_RANGE_nRST 3
#define DVX_DVS_CHIP_BIAS_CURRENT_RANGE_LOGA 4
#define DVX_DVS_CHIP_BIAS_CURRENT_RANGE_LOGD 5
#define DVX_DVS_CHIP_BIAS_CURRENT_LEVEL_SF 6
#define DVX_DVS_CHIP_BIAS_CURRENT_LEVEL_nOFF 7
#define DVX_DVS_CHIP_BIAS_CURRENT_AMP 8
#define DVX_DVS_CHIP_BIAS_CURRENT_ON 9
#define DVX_DVS_CHIP_BIAS_CURRENT_OFF 10
#define DVX_DVS_CHIP_BIAS_SIMPLE 20
#define DVX_DVS_CHIP_BIAS_CURRENT_RANGE_LOG_5uA 0
#define DVX_DVS_CHIP_BIAS_CURRENT_RANGE_LOG_50uA 1
#define DVX_DVS_CHIP_BIAS_CURRENT_RANGE_SF_0_5uA 0
#define DVX_DVS_CHIP_BIAS_CURRENT_RANGE_SF_5uA 1
#define DVX_DVS_CHIP_BIAS_CURRENT_RANGE_ON_5uA 0
#define DVX_DVS_CHIP_BIAS_CURRENT_RANGE_ON_50uA 1
#define DVX_DVS_CHIP_BIAS_CURRENT_RANGE_nRST_0_5uA 0
#define DVX_DVS_CHIP_BIAS_CURRENT_RANGE_nRST_5uA 1
#define DVX_DVS_CHIP_BIAS_CURRENT_RANGE_LOGA_5uA 0
#define DVX_DVS_CHIP_BIAS_CURRENT_RANGE_LOGA_50uA 1
#define DVX_DVS_CHIP_BIAS_CURRENT_RANGE_LOGD_5uA 0
#define DVX_DVS_CHIP_BIAS_CURRENT_RANGE_LOGD_50uA 1
#define DVX_DVS_CHIP_BIAS_CURRENT_RANGE_LOGD_500uA 2
#define DVX_DVS_CHIP_BIAS_CURRENT_LEVEL_SF_x0_1 0
#define DVX_DVS_CHIP_BIAS_CURRENT_LEVEL_SF_x1 1
#define DVX_DVS_CHIP_BIAS_CURRENT_LEVEL_nOFF_x0_1 0
#define DVX_DVS_CHIP_BIAS_CURRENT_LEVEL_nOFF_x1 1
#define DVX_DVS_CHIP_BIAS_SIMPLE_VERY_LOW 0
#define DVX_DVS_CHIP_BIAS_SIMPLE_LOW 1
#define DVX_DVS_CHIP_BIAS_SIMPLE_DEFAULT 2
#define DVX_DVS_CHIP_BIAS_SIMPLE_HIGH 3
#define DVX_DVS_CHIP_BIAS_SIMPLE_VERY_HIGH 4
struct caer_dvx_info {
int16_t deviceID;
char deviceSerialNumber[8 + 1];
uint8_t deviceUSBBusNumber;
uint8_t deviceUSBDeviceAddress;
char *deviceString;
int16_t firmwareVersion;
int16_t logicVersion;
int16_t chipID;
bool deviceIsMaster;
bool muxHasStatistics;
int16_t dvsSizeX;
int16_t dvsSizeY;
bool dvsHasStatistics;
enum caer_imu_types imuType;
bool extInputHasGenerator;
};
LIBRARY_PUBLIC_VISIBILITY struct caer_dvx_info caerDVXplorerInfoGet(caerDeviceHandle handle);
#ifdef __cplusplus
}
#endif
#endif /* LIBCAER_DEVICES_DVXPLORER_H_ */