diff --git a/system/camerad/sensors/os04c10.cc b/system/camerad/sensors/os04c10.cc index 4d8479ddb..9f365693e 100644 --- a/system/camerad/sensors/os04c10.cc +++ b/system/camerad/sensors/os04c10.cc @@ -52,7 +52,7 @@ OS04C10::OS04C10() { exposure_time_max = 2352; analog_gain_min_idx = 0x0; analog_gain_rec_idx = 0x0; // 1x - analog_gain_max_idx = 0x36; + analog_gain_max_idx = 0x28; analog_gain_cost_delta = -1; analog_gain_cost_low = 0.4; analog_gain_cost_high = 6.4; @@ -63,7 +63,7 @@ OS04C10::OS04C10() { max_ev = exposure_time_max * dc_gain_factor * sensor_analog_gains[analog_gain_max_idx]; target_grey_factor = 0.01; - black_level = 64; + black_level = 48; color_correct_matrix = { 0x000000c2, 0x00000fe0, 0x00000fde, 0x00000fa7, 0x000000d9, 0x00001000, diff --git a/system/camerad/sensors/os04c10_cl.h b/system/camerad/sensors/os04c10_cl.h index e285fb37e..3da3fab8d 100644 --- a/system/camerad/sensors/os04c10_cl.h +++ b/system/camerad/sensors/os04c10_cl.h @@ -4,9 +4,9 @@ #define BIT_DEPTH 12 #define PV_MAX10 1023 -#define PV_MAX12 4096 +#define PV_MAX12 4095 #define PV_MAX16 65536 // gamma curve is calibrated to 16bit -#define BLACK_LVL 64 +#define BLACK_LVL 48 #define VIGNETTE_RSZ 2.2545f float combine_dual_pvs(float lv, float sv, int expo_time) { diff --git a/system/camerad/sensors/os04c10_registers.h b/system/camerad/sensors/os04c10_registers.h index 5bea52b81..b8844379f 100644 --- a/system/camerad/sensors/os04c10_registers.h +++ b/system/camerad/sensors/os04c10_registers.h @@ -291,7 +291,7 @@ const struct i2c_random_wr_payload init_array_os04c10[] = { {0x3cae, 0x00}, {0x4000, 0xf3}, {0x4001, 0x60}, - {0x4003, 0x80}, + {0x4003, 0x40}, {0x4300, 0xff}, {0x4302, 0x0f}, {0x4305, 0x83},