pull/35023/head
ZwX1616 1 week ago
parent 93bda6cde9
commit 9696ded177
  1. 2
      system/camerad/cameras/spectra.cc
  2. 4
      system/camerad/sensors/os04c10.cc
  3. 2
      system/camerad/sensors/os04c10_registers.h
  4. 2
      system/camerad/sensors/sensor.h

@ -997,7 +997,7 @@ bool SpectraCamera::openSensor() {
auto init_sensor_lambda = [this](SensorInfo *s) {
if (s->image_sensor == cereal::FrameData::ImageSensor::OS04C10 && cc.output_type == ISP_IFE_PROCESSED) {
((OS04C10*)s)->OS04C10_IFE_ds_override();
((OS04C10*)s)->ife_downscale_configure();
}
sensor.reset(s);
return (sensors_init() == 0);

@ -20,7 +20,7 @@ const uint32_t os04c10_analog_gains_reg[] = {
} // namespace
void OS04C10::OS04C10_IFE_ds_override() {
void OS04C10::ife_downscale_configure() {
out_scale = 2;
pixel_size_mm = 0.002;
@ -28,7 +28,7 @@ void OS04C10::OS04C10_IFE_ds_override() {
frame_height = 1520;
exposure_time_max = 2352;
init_reg_array.insert(init_reg_array.end(), std::begin(isp_ds_override_array_os04c10), std::end(isp_ds_override_array_os04c10));
init_reg_array.insert(init_reg_array.end(), std::begin(ife_ds_override_array_os04c10), std::end(ife_ds_override_array_os04c10));
}
OS04C10::OS04C10() {

@ -331,7 +331,7 @@ const struct i2c_random_wr_payload init_array_os04c10[] = {
{0x3821, 0x01},
};
const struct i2c_random_wr_payload isp_ds_override_array_os04c10[] = {
const struct i2c_random_wr_payload ife_ds_override_array_os04c10[] = {
// OS04C10_AA_00_02_17_wAO_2688x1524_MIPI728Mbps_Linear12bit_20FPS_4Lane_MCLK24MHz
{0x3829, 0x03},
{0x3714, 0x24},

@ -110,7 +110,7 @@ public:
class OS04C10 : public SensorInfo {
public:
OS04C10();
void OS04C10_IFE_ds_override();
void ife_downscale_configure();
std::vector<i2c_random_wr_payload> getExposureRegisters(int exposure_time, int new_exp_g, bool dc_gain_enabled) const override;
float getExposureScore(float desired_ev, int exp_t, int exp_g_idx, float exp_gain, int gain_idx) const override;
int getSlaveAddress(int port) const override;

Loading…
Cancel
Save