.. _program_listing_file_include_libcaer_devices_davis.h: Program Listing for File davis.h ================================ |exhale_lsh| :ref:`Return to documentation for file ` (``include/libcaer/devices/davis.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef LIBCAER_DEVICES_DAVIS_H_ #define LIBCAER_DEVICES_DAVIS_H_ #include "../events/frame.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_DAVIS_FX2 1 #define CAER_DEVICE_DAVIS_FX3 2 #define CAER_DEVICE_DAVIS 4 #define CAER_DEVICE_DAVIS_RPI 6 #define DAVIS_CHIP_DAVIS240A 0 #define DAVIS_CHIP_DAVIS240B 1 #define DAVIS_CHIP_DAVIS240C 2 #define DAVIS_CHIP_DAVIS128 3 #define DAVIS_CHIP_DAVIS346A 4 #define DAVIS_CHIP_DAVIS346B 5 #define DAVIS_CHIP_DAVIS640 6 #define DAVIS_CHIP_DAVIS640H 7 #define DAVIS_CHIP_DAVIS208 8 #define DAVIS_CHIP_DAVIS346C 9 #define IS_DAVIS128(chipID) ((chipID) == DAVIS_CHIP_DAVIS128) #define IS_DAVIS208(chipID) ((chipID) == DAVIS_CHIP_DAVIS208) #define IS_DAVIS240A(chipID) ((chipID) == DAVIS_CHIP_DAVIS240A) #define IS_DAVIS240B(chipID) ((chipID) == DAVIS_CHIP_DAVIS240B) #define IS_DAVIS240C(chipID) ((chipID) == DAVIS_CHIP_DAVIS240C) #define IS_DAVIS240(chipID) (IS_DAVIS240A(chipID) || IS_DAVIS240B(chipID) || IS_DAVIS240C(chipID)) #define IS_DAVIS346A(chipID) ((chipID) == DAVIS_CHIP_DAVIS346A) #define IS_DAVIS346B(chipID) ((chipID) == DAVIS_CHIP_DAVIS346B) #define IS_DAVIS346C(chipID) ((chipID) == DAVIS_CHIP_DAVIS346C) #define IS_DAVIS346(chipID) (IS_DAVIS346A(chipID) || IS_DAVIS346B(chipID) || IS_DAVIS346C(chipID)) #define IS_DAVIS640(chipID) ((chipID) == DAVIS_CHIP_DAVIS640) #define IS_DAVIS640H(chipID) ((chipID) == DAVIS_CHIP_DAVIS640H) #define DAVIS_CONFIG_MUX 0 #define DAVIS_CONFIG_DVS 1 #define DAVIS_CONFIG_APS 2 #define DAVIS_CONFIG_IMU 3 #define DAVIS_CONFIG_EXTINPUT 4 #define DAVIS_CONFIG_BIAS 5 #define DAVIS_CONFIG_CHIP 5 #define DAVIS_CONFIG_SYSINFO 6 #define DAVIS_CONFIG_USB 9 #define DAVIS_CONFIG_DDRAER 9 #define DAVIS_CONFIG_MUX_RUN 0 #define DAVIS_CONFIG_MUX_TIMESTAMP_RUN 1 #define DAVIS_CONFIG_MUX_TIMESTAMP_RESET 2 #define DAVIS_CONFIG_MUX_RUN_CHIP 3 #define DAVIS_CONFIG_MUX_DROP_EXTINPUT_ON_TRANSFER_STALL 4 #define DAVIS_CONFIG_MUX_DROP_DVS_ON_TRANSFER_STALL 5 #define DAVIS_CONFIG_MUX_HAS_STATISTICS 80 #define DAVIS_CONFIG_MUX_STATISTICS_EXTINPUT_DROPPED 81 #define DAVIS_CONFIG_MUX_STATISTICS_DVS_DROPPED 83 #define DAVIS_CONFIG_DVS_SIZE_COLUMNS 0 #define DAVIS_CONFIG_DVS_SIZE_ROWS 1 #define DAVIS_CONFIG_DVS_ORIENTATION_INFO 2 #define DAVIS_CONFIG_DVS_RUN 3 #define DAVIS_CONFIG_DVS_WAIT_ON_TRANSFER_STALL 4 #define DAVIS_CONFIG_DVS_EXTERNAL_AER_CONTROL 5 #define DAVIS_CONFIG_DVS_HAS_PIXEL_FILTER 10 #define DAVIS_CONFIG_DVS_FILTER_PIXEL_0_ROW 11 #define DAVIS_CONFIG_DVS_FILTER_PIXEL_0_COLUMN 12 #define DAVIS_CONFIG_DVS_FILTER_PIXEL_1_ROW 13 #define DAVIS_CONFIG_DVS_FILTER_PIXEL_1_COLUMN 14 #define DAVIS_CONFIG_DVS_FILTER_PIXEL_2_ROW 15 #define DAVIS_CONFIG_DVS_FILTER_PIXEL_2_COLUMN 16 #define DAVIS_CONFIG_DVS_FILTER_PIXEL_3_ROW 17 #define DAVIS_CONFIG_DVS_FILTER_PIXEL_3_COLUMN 18 #define DAVIS_CONFIG_DVS_FILTER_PIXEL_4_ROW 19 #define DAVIS_CONFIG_DVS_FILTER_PIXEL_4_COLUMN 20 #define DAVIS_CONFIG_DVS_FILTER_PIXEL_5_ROW 21 #define DAVIS_CONFIG_DVS_FILTER_PIXEL_5_COLUMN 22 #define DAVIS_CONFIG_DVS_FILTER_PIXEL_6_ROW 23 #define DAVIS_CONFIG_DVS_FILTER_PIXEL_6_COLUMN 24 #define DAVIS_CONFIG_DVS_FILTER_PIXEL_7_ROW 25 #define DAVIS_CONFIG_DVS_FILTER_PIXEL_7_COLUMN 26 #define DAVIS_CONFIG_DVS_HAS_BACKGROUND_ACTIVITY_FILTER 30 #define DAVIS_CONFIG_DVS_FILTER_BACKGROUND_ACTIVITY 31 #define DAVIS_CONFIG_DVS_FILTER_BACKGROUND_ACTIVITY_TIME 32 #define DAVIS_CONFIG_DVS_FILTER_REFRACTORY_PERIOD 33 #define DAVIS_CONFIG_DVS_FILTER_REFRACTORY_PERIOD_TIME 34 #define DAVIS_CONFIG_DVS_HAS_ROI_FILTER 40 #define DAVIS_CONFIG_DVS_FILTER_ROI_START_COLUMN 41 #define DAVIS_CONFIG_DVS_FILTER_ROI_START_ROW 42 #define DAVIS_CONFIG_DVS_FILTER_ROI_END_COLUMN 43 #define DAVIS_CONFIG_DVS_FILTER_ROI_END_ROW 44 #define DAVIS_CONFIG_DVS_HAS_SKIP_FILTER 50 #define DAVIS_CONFIG_DVS_FILTER_SKIP_EVENTS 51 #define DAVIS_CONFIG_DVS_FILTER_SKIP_EVENTS_EVERY 52 #define DAVIS_CONFIG_DVS_HAS_POLARITY_FILTER 60 #define DAVIS_CONFIG_DVS_FILTER_POLARITY_FLATTEN 61 #define DAVIS_CONFIG_DVS_FILTER_POLARITY_SUPPRESS 62 #define DAVIS_CONFIG_DVS_FILTER_POLARITY_SUPPRESS_TYPE 63 #define DAVIS_CONFIG_DVS_HAS_STATISTICS 80 #define DAVIS_CONFIG_DVS_STATISTICS_EVENTS_ROW 81 #define DAVIS_CONFIG_DVS_STATISTICS_EVENTS_COLUMN 83 #define DAVIS_CONFIG_DVS_STATISTICS_EVENTS_DROPPED 85 #define DAVIS_CONFIG_DVS_STATISTICS_FILTERED_PIXELS 87 #define DAVIS_CONFIG_DVS_STATISTICS_FILTERED_BACKGROUND_ACTIVITY 89 #define DAVIS_CONFIG_DVS_STATISTICS_FILTERED_REFRACTORY_PERIOD 91 #define DAVIS_CONFIG_DVS_FILTER_PIXEL_AUTO_TRAIN 100 #define DAVIS_CONFIG_APS_SIZE_COLUMNS 0 #define DAVIS_CONFIG_APS_SIZE_ROWS 1 #define DAVIS_CONFIG_APS_ORIENTATION_INFO 2 #define DAVIS_CONFIG_APS_COLOR_FILTER 3 #define DAVIS_CONFIG_APS_RUN 4 #define DAVIS_CONFIG_APS_WAIT_ON_TRANSFER_STALL 5 #define DAVIS_CONFIG_APS_HAS_GLOBAL_SHUTTER 6 #define DAVIS_CONFIG_APS_GLOBAL_SHUTTER 7 #define DAVIS_CONFIG_APS_START_COLUMN_0 8 #define DAVIS_CONFIG_APS_START_ROW_0 9 #define DAVIS_CONFIG_APS_END_COLUMN_0 10 #define DAVIS_CONFIG_APS_END_ROW_0 11 #define DAVIS_CONFIG_APS_EXPOSURE 12 #define DAVIS_CONFIG_APS_FRAME_INTERVAL 13 // Extra timing settings for DAVIS640H APS module. #define DAVIS640H_CONFIG_APS_TRANSFER 14 #define DAVIS640H_CONFIG_APS_RSFDSETTLE 15 #define DAVIS640H_CONFIG_APS_GSPDRESET 16 #define DAVIS640H_CONFIG_APS_GSRESETFALL 17 #define DAVIS640H_CONFIG_APS_GSTXFALL 18 #define DAVIS640H_CONFIG_APS_GSFDRESET 19 #define DAVIS_CONFIG_APS_SNAPSHOT 100 #define DAVIS_CONFIG_APS_AUTOEXPOSURE 101 enum caer_davis_aps_frame_modes { APS_FRAME_DEFAULT = 0, APS_FRAME_GRAYSCALE = 1, APS_FRAME_ORIGINAL = 2, }; #define DAVIS_CONFIG_APS_FRAME_MODE 102 #define DAVIS_CONFIG_IMU_TYPE 0 #define DAVIS_CONFIG_IMU_ORIENTATION_INFO 1 #define DAVIS_CONFIG_IMU_RUN_ACCELEROMETER 2 #define DAVIS_CONFIG_IMU_RUN_GYROSCOPE 3 #define DAVIS_CONFIG_IMU_RUN_TEMPERATURE 4 #define DAVIS_CONFIG_IMU_SAMPLE_RATE_DIVIDER 5 #define DAVIS_CONFIG_IMU_ACCEL_DLPF 6 #define DAVIS_CONFIG_IMU_DIGITAL_LOW_PASS_FILTER DAVIS_CONFIG_IMU_ACCEL_DLPF #define DAVIS_CONFIG_IMU_ACCEL_FULL_SCALE 7 #define DAVIS_CONFIG_IMU_GYRO_DLPF 9 #define DAVIS_CONFIG_IMU_GYRO_FULL_SCALE 10 #define DAVIS_CONFIG_EXTINPUT_RUN_DETECTOR 0 #define DAVIS_CONFIG_EXTINPUT_DETECT_RISING_EDGES 1 #define DAVIS_CONFIG_EXTINPUT_DETECT_FALLING_EDGES 2 #define DAVIS_CONFIG_EXTINPUT_DETECT_PULSES 3 #define DAVIS_CONFIG_EXTINPUT_DETECT_PULSE_POLARITY 4 #define DAVIS_CONFIG_EXTINPUT_DETECT_PULSE_LENGTH 5 #define DAVIS_CONFIG_EXTINPUT_HAS_GENERATOR 10 #define DAVIS_CONFIG_EXTINPUT_RUN_GENERATOR 11 #define DAVIS_CONFIG_EXTINPUT_GENERATE_PULSE_POLARITY 12 #define DAVIS_CONFIG_EXTINPUT_GENERATE_PULSE_INTERVAL 13 #define DAVIS_CONFIG_EXTINPUT_GENERATE_PULSE_LENGTH 14 #define DAVIS_CONFIG_EXTINPUT_GENERATE_INJECT_ON_RISING_EDGE 15 #define DAVIS_CONFIG_EXTINPUT_GENERATE_INJECT_ON_FALLING_EDGE 16 #define DAVIS_CONFIG_SYSINFO_LOGIC_VERSION 0 #define DAVIS_CONFIG_SYSINFO_CHIP_IDENTIFIER 1 #define DAVIS_CONFIG_SYSINFO_DEVICE_IS_MASTER 2 #define DAVIS_CONFIG_SYSINFO_LOGIC_CLOCK 3 #define DAVIS_CONFIG_SYSINFO_ADC_CLOCK 4 #define DAVIS_CONFIG_SYSINFO_USB_CLOCK 5 #define DAVIS_CONFIG_SYSINFO_CLOCK_DEVIATION 6 #define DAVIS_CONFIG_SYSINFO_LOGIC_PATCH 7 #define DAVIS_CONFIG_USB_RUN 0 #define DAVIS_CONFIG_USB_EARLY_PACKET_DELAY 1 #define DAVIS_CONFIG_DDRAER_RUN 0 #define DAVIS128_CONFIG_BIAS_APSOVERFLOWLEVEL 0 #define DAVIS128_CONFIG_BIAS_APSCAS 1 #define DAVIS128_CONFIG_BIAS_ADCREFHIGH 2 #define DAVIS128_CONFIG_BIAS_ADCREFLOW 3 #define DAVIS128_CONFIG_BIAS_LOCALBUFBN 8 #define DAVIS128_CONFIG_BIAS_PADFOLLBN 9 #define DAVIS128_CONFIG_BIAS_DIFFBN 10 #define DAVIS128_CONFIG_BIAS_ONBN 11 #define DAVIS128_CONFIG_BIAS_OFFBN 12 #define DAVIS128_CONFIG_BIAS_PIXINVBN 13 #define DAVIS128_CONFIG_BIAS_PRBP 14 #define DAVIS128_CONFIG_BIAS_PRSFBP 15 #define DAVIS128_CONFIG_BIAS_REFRBP 16 #define DAVIS128_CONFIG_BIAS_READOUTBUFBP 17 #define DAVIS128_CONFIG_BIAS_APSROSFBN 18 #define DAVIS128_CONFIG_BIAS_ADCCOMPBP 19 #define DAVIS128_CONFIG_BIAS_COLSELLOWBN 20 #define DAVIS128_CONFIG_BIAS_DACBUFBP 21 #define DAVIS128_CONFIG_BIAS_LCOLTIMEOUTBN 22 #define DAVIS128_CONFIG_BIAS_AEPDBN 23 #define DAVIS128_CONFIG_BIAS_AEPUXBP 24 #define DAVIS128_CONFIG_BIAS_AEPUYBP 25 #define DAVIS128_CONFIG_BIAS_IFREFRBN 26 #define DAVIS128_CONFIG_BIAS_IFTHRBN 27 #define DAVIS128_CONFIG_BIAS_BIASBUFFER 34 #define DAVIS128_CONFIG_BIAS_SSP 35 #define DAVIS128_CONFIG_BIAS_SSN 36 #define DAVIS128_CONFIG_CHIP_DIGITALMUX0 128 #define DAVIS128_CONFIG_CHIP_DIGITALMUX1 129 #define DAVIS128_CONFIG_CHIP_DIGITALMUX2 130 #define DAVIS128_CONFIG_CHIP_DIGITALMUX3 131 #define DAVIS128_CONFIG_CHIP_ANALOGMUX0 132 #define DAVIS128_CONFIG_CHIP_ANALOGMUX1 133 #define DAVIS128_CONFIG_CHIP_ANALOGMUX2 134 #define DAVIS128_CONFIG_CHIP_BIASMUX0 135 #define DAVIS128_CONFIG_CHIP_RESETCALIBNEURON 136 #define DAVIS128_CONFIG_CHIP_TYPENCALIBNEURON 137 #define DAVIS128_CONFIG_CHIP_RESETTESTPIXEL 138 #define DAVIS128_CONFIG_CHIP_AERNAROW 140 #define DAVIS128_CONFIG_CHIP_USEAOUT 141 #define DAVIS128_CONFIG_CHIP_GLOBAL_SHUTTER 142 #define DAVIS128_CONFIG_CHIP_SELECTGRAYCOUNTER 143 #define DAVIS208_CONFIG_BIAS_APSOVERFLOWLEVEL 0 #define DAVIS208_CONFIG_BIAS_APSCAS 1 #define DAVIS208_CONFIG_BIAS_ADCREFHIGH 2 #define DAVIS208_CONFIG_BIAS_ADCREFLOW 3 #define DAVIS208_CONFIG_BIAS_RESETHIGHPASS 6 #define DAVIS208_CONFIG_BIAS_REFSS 7 #define DAVIS208_CONFIG_BIAS_LOCALBUFBN 8 #define DAVIS208_CONFIG_BIAS_PADFOLLBN 9 #define DAVIS208_CONFIG_BIAS_DIFFBN 10 #define DAVIS208_CONFIG_BIAS_ONBN 11 #define DAVIS208_CONFIG_BIAS_OFFBN 12 #define DAVIS208_CONFIG_BIAS_PIXINVBN 13 #define DAVIS208_CONFIG_BIAS_PRBP 14 #define DAVIS208_CONFIG_BIAS_PRSFBP 15 #define DAVIS208_CONFIG_BIAS_REFRBP 16 #define DAVIS208_CONFIG_BIAS_READOUTBUFBP 17 #define DAVIS208_CONFIG_BIAS_APSROSFBN 18 #define DAVIS208_CONFIG_BIAS_ADCCOMPBP 19 #define DAVIS208_CONFIG_BIAS_COLSELLOWBN 20 #define DAVIS208_CONFIG_BIAS_DACBUFBP 21 #define DAVIS208_CONFIG_BIAS_LCOLTIMEOUTBN 22 #define DAVIS208_CONFIG_BIAS_AEPDBN 23 #define DAVIS208_CONFIG_BIAS_AEPUXBP 24 #define DAVIS208_CONFIG_BIAS_AEPUYBP 25 #define DAVIS208_CONFIG_BIAS_IFREFRBN 26 #define DAVIS208_CONFIG_BIAS_IFTHRBN 27 #define DAVIS208_CONFIG_BIAS_REGBIASBP 28 #define DAVIS208_CONFIG_BIAS_REFSSBN 30 #define DAVIS208_CONFIG_BIAS_BIASBUFFER 34 #define DAVIS208_CONFIG_BIAS_SSP 35 #define DAVIS208_CONFIG_BIAS_SSN 36 #define DAVIS208_CONFIG_CHIP_DIGITALMUX0 128 #define DAVIS208_CONFIG_CHIP_DIGITALMUX1 129 #define DAVIS208_CONFIG_CHIP_DIGITALMUX2 130 #define DAVIS208_CONFIG_CHIP_DIGITALMUX3 131 #define DAVIS208_CONFIG_CHIP_ANALOGMUX0 132 #define DAVIS208_CONFIG_CHIP_ANALOGMUX1 133 #define DAVIS208_CONFIG_CHIP_ANALOGMUX2 134 #define DAVIS208_CONFIG_CHIP_BIASMUX0 135 #define DAVIS208_CONFIG_CHIP_RESETCALIBNEURON 136 #define DAVIS208_CONFIG_CHIP_TYPENCALIBNEURON 137 #define DAVIS208_CONFIG_CHIP_RESETTESTPIXEL 138 #define DAVIS208_CONFIG_CHIP_AERNAROW 140 #define DAVIS208_CONFIG_CHIP_USEAOUT 141 #define DAVIS208_CONFIG_CHIP_GLOBAL_SHUTTER 142 #define DAVIS208_CONFIG_CHIP_SELECTGRAYCOUNTER 143 #define DAVIS208_CONFIG_CHIP_SELECTPREAMPAVG 145 #define DAVIS208_CONFIG_CHIP_SELECTBIASREFSS 146 #define DAVIS208_CONFIG_CHIP_SELECTSENSE 147 #define DAVIS208_CONFIG_CHIP_SELECTPOSFB 148 #define DAVIS208_CONFIG_CHIP_SELECTHIGHPASS 149 #define DAVIS240_CONFIG_BIAS_DIFFBN 0 #define DAVIS240_CONFIG_BIAS_ONBN 1 #define DAVIS240_CONFIG_BIAS_OFFBN 2 #define DAVIS240_CONFIG_BIAS_APSCASEPC 3 #define DAVIS240_CONFIG_BIAS_DIFFCASBNC 4 #define DAVIS240_CONFIG_BIAS_APSROSFBN 5 #define DAVIS240_CONFIG_BIAS_LOCALBUFBN 6 #define DAVIS240_CONFIG_BIAS_PIXINVBN 7 #define DAVIS240_CONFIG_BIAS_PRBP 8 #define DAVIS240_CONFIG_BIAS_PRSFBP 9 #define DAVIS240_CONFIG_BIAS_REFRBP 10 #define DAVIS240_CONFIG_BIAS_AEPDBN 11 #define DAVIS240_CONFIG_BIAS_LCOLTIMEOUTBN 12 #define DAVIS240_CONFIG_BIAS_AEPUXBP 13 #define DAVIS240_CONFIG_BIAS_AEPUYBP 14 #define DAVIS240_CONFIG_BIAS_IFTHRBN 15 #define DAVIS240_CONFIG_BIAS_IFREFRBN 16 #define DAVIS240_CONFIG_BIAS_PADFOLLBN 17 #define DAVIS240_CONFIG_BIAS_APSOVERFLOWLEVELBN 18 #define DAVIS240_CONFIG_BIAS_BIASBUFFER 19 #define DAVIS240_CONFIG_BIAS_SSP 20 #define DAVIS240_CONFIG_BIAS_SSN 21 #define DAVIS240_CONFIG_CHIP_DIGITALMUX0 128 #define DAVIS240_CONFIG_CHIP_DIGITALMUX1 129 #define DAVIS240_CONFIG_CHIP_DIGITALMUX2 130 #define DAVIS240_CONFIG_CHIP_DIGITALMUX3 131 #define DAVIS240_CONFIG_CHIP_ANALOGMUX0 132 #define DAVIS240_CONFIG_CHIP_ANALOGMUX1 133 #define DAVIS240_CONFIG_CHIP_ANALOGMUX2 134 #define DAVIS240_CONFIG_CHIP_BIASMUX0 135 #define DAVIS240_CONFIG_CHIP_RESETCALIBNEURON 136 #define DAVIS240_CONFIG_CHIP_TYPENCALIBNEURON 137 #define DAVIS240_CONFIG_CHIP_RESETTESTPIXEL 138 #define DAVIS240_CONFIG_CHIP_SPECIALPIXELCONTROL 139 #define DAVIS240_CONFIG_CHIP_AERNAROW 140 #define DAVIS240_CONFIG_CHIP_USEAOUT 141 #define DAVIS240_CONFIG_CHIP_GLOBAL_SHUTTER 142 #define DAVIS346_CONFIG_BIAS_APSOVERFLOWLEVEL 0 #define DAVIS346_CONFIG_BIAS_APSCAS 1 #define DAVIS346_CONFIG_BIAS_ADCREFHIGH 2 #define DAVIS346_CONFIG_BIAS_ADCREFLOW 3 #define DAVIS346_CONFIG_BIAS_ADCTESTVOLTAGE 4 #define DAVIS346_CONFIG_BIAS_LOCALBUFBN 8 #define DAVIS346_CONFIG_BIAS_PADFOLLBN 9 #define DAVIS346_CONFIG_BIAS_DIFFBN 10 #define DAVIS346_CONFIG_BIAS_ONBN 11 #define DAVIS346_CONFIG_BIAS_OFFBN 12 #define DAVIS346_CONFIG_BIAS_PIXINVBN 13 #define DAVIS346_CONFIG_BIAS_PRBP 14 #define DAVIS346_CONFIG_BIAS_PRSFBP 15 #define DAVIS346_CONFIG_BIAS_REFRBP 16 #define DAVIS346_CONFIG_BIAS_READOUTBUFBP 17 #define DAVIS346_CONFIG_BIAS_APSROSFBN 18 #define DAVIS346_CONFIG_BIAS_ADCCOMPBP 19 #define DAVIS346_CONFIG_BIAS_COLSELLOWBN 20 #define DAVIS346_CONFIG_BIAS_DACBUFBP 21 #define DAVIS346_CONFIG_BIAS_LCOLTIMEOUTBN 22 #define DAVIS346_CONFIG_BIAS_AEPDBN 23 #define DAVIS346_CONFIG_BIAS_AEPUXBP 24 #define DAVIS346_CONFIG_BIAS_AEPUYBP 25 #define DAVIS346_CONFIG_BIAS_IFREFRBN 26 #define DAVIS346_CONFIG_BIAS_IFTHRBN 27 #define DAVIS346_CONFIG_BIAS_BIASBUFFER 34 #define DAVIS346_CONFIG_BIAS_SSP 35 #define DAVIS346_CONFIG_BIAS_SSN 36 #define DAVIS346_CONFIG_CHIP_DIGITALMUX0 128 #define DAVIS346_CONFIG_CHIP_DIGITALMUX1 129 #define DAVIS346_CONFIG_CHIP_DIGITALMUX2 130 #define DAVIS346_CONFIG_CHIP_DIGITALMUX3 131 #define DAVIS346_CONFIG_CHIP_ANALOGMUX0 132 #define DAVIS346_CONFIG_CHIP_ANALOGMUX1 133 #define DAVIS346_CONFIG_CHIP_ANALOGMUX2 134 #define DAVIS346_CONFIG_CHIP_BIASMUX0 135 #define DAVIS346_CONFIG_CHIP_RESETCALIBNEURON 136 #define DAVIS346_CONFIG_CHIP_TYPENCALIBNEURON 137 #define DAVIS346_CONFIG_CHIP_RESETTESTPIXEL 138 #define DAVIS346_CONFIG_CHIP_AERNAROW 140 #define DAVIS346_CONFIG_CHIP_USEAOUT 141 #define DAVIS346_CONFIG_CHIP_GLOBAL_SHUTTER 142 #define DAVIS346_CONFIG_CHIP_SELECTGRAYCOUNTER 143 #define DAVIS346_CONFIG_CHIP_TESTADC 144 #define DAVIS640_CONFIG_BIAS_APSOVERFLOWLEVEL 0 #define DAVIS640_CONFIG_BIAS_APSCAS 1 #define DAVIS640_CONFIG_BIAS_ADCREFHIGH 2 #define DAVIS640_CONFIG_BIAS_ADCREFLOW 3 #define DAVIS640_CONFIG_BIAS_ADCTESTVOLTAGE 4 #define DAVIS640_CONFIG_BIAS_LOCALBUFBN 8 #define DAVIS640_CONFIG_BIAS_PADFOLLBN 9 #define DAVIS640_CONFIG_BIAS_DIFFBN 10 #define DAVIS640_CONFIG_BIAS_ONBN 11 #define DAVIS640_CONFIG_BIAS_OFFBN 12 #define DAVIS640_CONFIG_BIAS_PIXINVBN 13 #define DAVIS640_CONFIG_BIAS_PRBP 14 #define DAVIS640_CONFIG_BIAS_PRSFBP 15 #define DAVIS640_CONFIG_BIAS_REFRBP 16 #define DAVIS640_CONFIG_BIAS_READOUTBUFBP 17 #define DAVIS640_CONFIG_BIAS_APSROSFBN 18 #define DAVIS640_CONFIG_BIAS_ADCCOMPBP 19 #define DAVIS640_CONFIG_BIAS_COLSELLOWBN 20 #define DAVIS640_CONFIG_BIAS_DACBUFBP 21 #define DAVIS640_CONFIG_BIAS_LCOLTIMEOUTBN 22 #define DAVIS640_CONFIG_BIAS_AEPDBN 23 #define DAVIS640_CONFIG_BIAS_AEPUXBP 24 #define DAVIS640_CONFIG_BIAS_AEPUYBP 25 #define DAVIS640_CONFIG_BIAS_IFREFRBN 26 #define DAVIS640_CONFIG_BIAS_IFTHRBN 27 #define DAVIS640_CONFIG_BIAS_BIASBUFFER 34 #define DAVIS640_CONFIG_BIAS_SSP 35 #define DAVIS640_CONFIG_BIAS_SSN 36 #define DAVIS640_CONFIG_CHIP_DIGITALMUX0 128 #define DAVIS640_CONFIG_CHIP_DIGITALMUX1 129 #define DAVIS640_CONFIG_CHIP_DIGITALMUX2 130 #define DAVIS640_CONFIG_CHIP_DIGITALMUX3 131 #define DAVIS640_CONFIG_CHIP_ANALOGMUX0 132 #define DAVIS640_CONFIG_CHIP_ANALOGMUX1 133 #define DAVIS640_CONFIG_CHIP_ANALOGMUX2 134 #define DAVIS640_CONFIG_CHIP_BIASMUX0 135 #define DAVIS640_CONFIG_CHIP_RESETCALIBNEURON 136 #define DAVIS640_CONFIG_CHIP_TYPENCALIBNEURON 137 #define DAVIS640_CONFIG_CHIP_RESETTESTPIXEL 138 #define DAVIS640_CONFIG_CHIP_AERNAROW 140 #define DAVIS640_CONFIG_CHIP_USEAOUT 141 #define DAVIS640_CONFIG_CHIP_GLOBAL_SHUTTER 142 #define DAVIS640_CONFIG_CHIP_SELECTGRAYCOUNTER 143 #define DAVIS640_CONFIG_CHIP_TESTADC 144 #define DAVIS640H_CONFIG_BIAS_APSCAS 0 #define DAVIS640H_CONFIG_BIAS_OVG1LO 1 #define DAVIS640H_CONFIG_BIAS_OVG2LO 2 #define DAVIS640H_CONFIG_BIAS_TX2OVG2HI 3 #define DAVIS640H_CONFIG_BIAS_GND07 4 #define DAVIS640H_CONFIG_BIAS_ADCTESTVOLTAGE 5 #define DAVIS640H_CONFIG_BIAS_ADCREFHIGH 6 #define DAVIS640H_CONFIG_BIAS_ADCREFLOW 7 #define DAVIS640H_CONFIG_BIAS_IFREFRBN 8 #define DAVIS640H_CONFIG_BIAS_IFTHRBN 9 #define DAVIS640H_CONFIG_BIAS_LOCALBUFBN 10 #define DAVIS640H_CONFIG_BIAS_PADFOLLBN 11 #define DAVIS640H_CONFIG_BIAS_PIXINVBN 13 #define DAVIS640H_CONFIG_BIAS_DIFFBN 14 #define DAVIS640H_CONFIG_BIAS_ONBN 15 #define DAVIS640H_CONFIG_BIAS_OFFBN 16 #define DAVIS640H_CONFIG_BIAS_PRBP 17 #define DAVIS640H_CONFIG_BIAS_PRSFBP 18 #define DAVIS640H_CONFIG_BIAS_REFRBP 19 #define DAVIS640H_CONFIG_BIAS_ARRAYBIASBUFFERBN 20 #define DAVIS640H_CONFIG_BIAS_ARRAYLOGICBUFFERBN 22 #define DAVIS640H_CONFIG_BIAS_FALLTIMEBN 23 #define DAVIS640H_CONFIG_BIAS_RISETIMEBP 24 #define DAVIS640H_CONFIG_BIAS_READOUTBUFBP 25 #define DAVIS640H_CONFIG_BIAS_APSROSFBN 26 #define DAVIS640H_CONFIG_BIAS_ADCCOMPBP 27 #define DAVIS640H_CONFIG_BIAS_DACBUFBP 28 #define DAVIS640H_CONFIG_BIAS_LCOLTIMEOUTBN 30 #define DAVIS640H_CONFIG_BIAS_AEPDBN 31 #define DAVIS640H_CONFIG_BIAS_AEPUXBP 32 #define DAVIS640H_CONFIG_BIAS_AEPUYBP 33 #define DAVIS640H_CONFIG_BIAS_BIASBUFFER 34 #define DAVIS640H_CONFIG_BIAS_SSP 35 #define DAVIS640H_CONFIG_BIAS_SSN 36 #define DAVIS640H_CONFIG_CHIP_DIGITALMUX0 128 #define DAVIS640H_CONFIG_CHIP_DIGITALMUX1 129 #define DAVIS640H_CONFIG_CHIP_DIGITALMUX2 130 #define DAVIS640H_CONFIG_CHIP_DIGITALMUX3 131 #define DAVIS640H_CONFIG_CHIP_ANALOGMUX0 132 #define DAVIS640H_CONFIG_CHIP_ANALOGMUX1 133 #define DAVIS640H_CONFIG_CHIP_ANALOGMUX2 134 #define DAVIS640H_CONFIG_CHIP_BIASMUX0 135 #define DAVIS640H_CONFIG_CHIP_RESETCALIBNEURON 136 #define DAVIS640H_CONFIG_CHIP_TYPENCALIBNEURON 137 #define DAVIS640H_CONFIG_CHIP_RESETTESTPIXEL 138 #define DAVIS640H_CONFIG_CHIP_AERNAROW 140 #define DAVIS640H_CONFIG_CHIP_USEAOUT 141 #define DAVIS640H_CONFIG_CHIP_SELECTGRAYCOUNTER 143 #define DAVIS640H_CONFIG_CHIP_TESTADC 144 #define DAVIS640H_CONFIG_CHIP_ADJUSTOVG1LO 145 #define DAVIS640H_CONFIG_CHIP_ADJUSTOVG2LO 146 #define DAVIS640H_CONFIG_CHIP_ADJUSTTX2OVG2HI 147 struct caer_davis_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 dvsHasPixelFilter; bool dvsHasBackgroundActivityFilter; bool dvsHasROIFilter; bool dvsHasSkipFilter; bool dvsHasPolarityFilter; bool dvsHasStatistics; int16_t apsSizeX; int16_t apsSizeY; enum caer_frame_event_color_filter apsColorFilter; bool apsHasGlobalShutter; enum caer_imu_types imuType; bool extInputHasGenerator; }; LIBRARY_PUBLIC_VISIBILITY struct caer_davis_info caerDavisInfoGet(caerDeviceHandle handle); struct caer_bias_vdac { uint8_t voltageValue; uint8_t currentValue; }; LIBRARY_PUBLIC_VISIBILITY uint16_t caerBiasVDACGenerate(const struct caer_bias_vdac vdacBias); LIBRARY_PUBLIC_VISIBILITY struct caer_bias_vdac caerBiasVDACParse(const uint16_t vdacBias); struct caer_bias_coarsefine { uint8_t coarseValue; uint8_t fineValue; bool enabled; bool sexN; bool typeNormal; bool currentLevelNormal; }; LIBRARY_PUBLIC_VISIBILITY uint16_t caerBiasCoarseFineGenerate(const struct caer_bias_coarsefine coarseFineBias); LIBRARY_PUBLIC_VISIBILITY struct caer_bias_coarsefine caerBiasCoarseFineParse(const uint16_t coarseFineBias); LIBRARY_PUBLIC_VISIBILITY struct caer_bias_coarsefine caerBiasCoarseFineFromCurrent(uint32_t picoAmps); LIBRARY_PUBLIC_VISIBILITY uint32_t caerBiasCoarseFineToCurrent(struct caer_bias_coarsefine coarseFineBias); enum caer_bias_shiftedsource_operating_mode { SHIFTED_SOURCE = 0, HI_Z = 1, TIED_TO_RAIL = 2, }; enum caer_bias_shiftedsource_voltage_level { SPLIT_GATE = 0, SINGLE_DIODE = 1, DOUBLE_DIODE = 2, }; struct caer_bias_shiftedsource { uint8_t refValue; uint8_t regValue; enum caer_bias_shiftedsource_operating_mode operatingMode; enum caer_bias_shiftedsource_voltage_level voltageLevel; }; LIBRARY_PUBLIC_VISIBILITY uint16_t caerBiasShiftedSourceGenerate( const struct caer_bias_shiftedsource shiftedSourceBias); LIBRARY_PUBLIC_VISIBILITY struct caer_bias_shiftedsource caerBiasShiftedSourceParse(const uint16_t shiftedSourceBias); LIBRARY_PUBLIC_VISIBILITY bool caerDavisROIConfigure( caerDeviceHandle handle, uint16_t startX, uint16_t startY, uint16_t endX, uint16_t endY); #ifdef __cplusplus } #endif #endif /* LIBCAER_DEVICES_DAVIS_H_ */