#pragma once #include namespace veye { namespace imx287m { enum class Register : uint16_t { ImageAcqu = 0x0400, ImageFeature = 0x0800, ImageSigProc = 0x0c00, IOCtrl = 0x1000, FPGACmd = 0x1400, FPGABlock = 0x1800, Manufacturer_Name = 0x0000, Model_Name = 0x0004, Sensor_Name = 0x0008, Product_Info = 0x000C, Device_Version = 0x0010, System_reset = 0x0014, Param_save_to_flash = 0x0018, System_reboot = 0x001C, Time_stamp = 0x0020, Error_code = 0x0024, Format_Cap = 0x0028, TriggerMode_Cap = 0x0030, LaneNum_Cap = 0x0034, Temp_K = 0x0058, Image_Acquisition = 0x400, Trigger_Mode = 0x404, Trigger_Source = 0x408, Trigger_Num = 0x40C, Trigger_Inerval = 0x410, Trigger_Software = 0x414, Trigger_Count = 0x418, I2C_Addr = 0x41C, I2C_Port_Sel = 0x420, User_overlay_enable = 0x428, User_overlay_zone0 = 0x42C, User_overlay_zone1 = 0x430, User_overlay_zone2 = 0x434, User_overlay_zone3 = 0x438, User_define_zone0 = 0x43C, User_define_zone1 = 0x440, User_define_zone2 = 0x444, User_define_zone3 = 0x448, Nondiscontinuous_mode = 0x44C, Sensor_Reg_Addr = 0x0450, Sensor_Reg_Val = 0x454, Slave_mode = 0x460, Sensor_Frame_Count = 0x464, Out_Frame_Count = 0x468, Trigger_Cycle_Min = 0x46C, Trigger_Cycle_Max = 0x470, Test_Image_Selector = 0x800, Pixel_Format = 0x804, Sensor_Width = 0x808, Sensor_Height = 0x80C, MaxFrame_Rate = 0x810, Framerate = 0x814, ROI_Width = 0x818, ROI_Height = 0x81C, ROI_Offset_X = 0x820, ROI_Offset_Y = 0x824, Image_Direction = 0x828, Data_shift = 0x82C, Black_Level = 0x830, BLC_Mode = 0x834, ReadOut_Mode = 0x838, Lane_Num = 0x83C, MIPI_DataRate = 0x840, MIN_ROI_Width = 0x844, MIN_ROI_Height = 0x848, FrameRate_Ex = 0x850, OSD_Mode = 0x854, ISP_module_ctrl = 0xC00, Exposure_Mode = 0xC04, Target_Brightness = 0xC08, Exposure_Time_Source = 0xC0C, ME_Time = 0xC10, AE_MAX_Time = 0xC14, Exp_Time = 0xC18, Gain_Mode = 0xC1C, Manual_Gain = 0xC20, AG_Max_Gain = 0xC24, Cur_Gain = 0xC28, AAROIOffsetX = 0xC2C, AAROIOffsetY = 0xC30, AAROIWidth = 0xC34, AAROIHeight = 0xC38, WB_Mode = 0xC3C, MWB_Rgain = 0xC40, MWB_Bgain = 0xC44, AWBROIOffsetX = 0xC48, AWBROIOffsetY = 0xC4C, AWBROIWidth = 0xC50, AWBROIHeight = 0xC54, AWB_Rgain = 0xC58, AWB_Bgain = 0xC5C, Gamma = 0xC60, DPC_Start = 0xC64, DPC_Status = 0xC68, DPC_Count = 0xC6C, AAROI_enable = 0xC80, Max_Exp_time = 0xC8C, Min_Exp_time = 0xC90, Trigger_Delay = 0x1000, Trigger_Activation = 0x1004, Trigger_Filter_Enable = 0x1008, Trigger_Filter_Width = 0x100C, Trigger_Exp_Delay = 0x1010, GPIOS_Status = 0x1014, GPIO1_OutSelect = 0x1020, GPIO1_Useroutput = 0x1024, GPIO1_Reverse = 0x1028, GPIO2_OutSelect = 0x1030, GPIO2_Useroutput = 0x1034, GPIO2_Reverse = 0x1038 }; enum class ExposureMode : uint32_t { Manual = 0, AutoExposureOnce = 1, AutoExposureContinious = 2 }; enum class GainMode : uint32_t { Manual = 0, AutoGainOnce = 1, AutoGainContinious = 2 }; class Params : public QObject { // Q_OBJECT }; } // namespace imx287m } // namespace veye