|
|
|
@ -42,7 +42,7 @@ OS04C10::OS04C10() { |
|
|
|
|
dc_gain_max_weight = 1; |
|
|
|
|
dc_gain_on_grey = 0.9; |
|
|
|
|
dc_gain_off_grey = 1.0; |
|
|
|
|
exposure_time_min = 8; |
|
|
|
|
exposure_time_min = 480; |
|
|
|
|
exposure_time_max = 2400; |
|
|
|
|
analog_gain_min_idx = 0x0; |
|
|
|
|
analog_gain_rec_idx = 0x0; // 1x
|
|
|
|
@ -62,13 +62,13 @@ std::vector<i2c_random_wr_payload> OS04C10::getExposureRegisters(int exposure_ti |
|
|
|
|
uint32_t long_time = exposure_time; |
|
|
|
|
uint32_t real_gain = os04c10_analog_gains_reg[new_exp_g]; |
|
|
|
|
|
|
|
|
|
// uint32_t short_time = long_time > exposure_time_min*8 ? long_time / 8 : exposure_time_min;
|
|
|
|
|
uint32_t short_time = long_time / 240; |
|
|
|
|
|
|
|
|
|
return { |
|
|
|
|
{0x3501, long_time>>8}, {0x3502, long_time&0xFF}, |
|
|
|
|
// {0x3511, short_time>>8}, {0x3512, short_time&0xFF},
|
|
|
|
|
{0x3511, short_time>>8}, {0x3512, short_time&0xFF}, |
|
|
|
|
{0x3508, real_gain>>8}, {0x3509, real_gain&0xFF}, |
|
|
|
|
// {0x350c, real_gain>>8}, {0x350d, real_gain&0xFF},
|
|
|
|
|
{0x350c, real_gain>>8}, {0x350d, real_gain&0xFF}, |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|