pull/31674/head
ZwX1616 1 year ago
parent 174c3ecec0
commit 1f6316470a
  1. 10
      system/camerad/sensors/ar0231.cc
  2. 9
      system/camerad/sensors/os04c10.cc
  3. 9
      system/camerad/sensors/ox03c10.cc
  4. 4
      system/camerad/sensors/sensor.h

@ -7,6 +7,8 @@
namespace { namespace {
const size_t AR0231_FRAME_WIDTH = 1928;
const size_t AR0231_FRAME_HEIGHT = 1208;
const size_t AR0231_REGISTERS_HEIGHT = 2; const size_t AR0231_REGISTERS_HEIGHT = 2;
// TODO: this extra height is universal and doesn't apply per camera // TODO: this extra height is universal and doesn't apply per camera
const size_t AR0231_STATS_HEIGHT = 2 + 8; const size_t AR0231_STATS_HEIGHT = 2 + 8;
@ -80,14 +82,14 @@ float ar0231_parse_temp_sensor(uint16_t calib1, uint16_t calib2, uint16_t data_r
AR0231::AR0231() { AR0231::AR0231() {
image_sensor = cereal::FrameData::ImageSensor::AR0231; image_sensor = cereal::FrameData::ImageSensor::AR0231;
data_word = true; data_word = true;
frame_width = FRAME_WIDTH; frame_width = AR0231_FRAME_WIDTH;
frame_height = FRAME_HEIGHT; frame_height = AR0231_FRAME_HEIGHT;
frame_stride = FRAME_STRIDE; frame_stride = (AR0231_FRAME_WIDTH * 12 / 8) + 4;
extra_height = AR0231_REGISTERS_HEIGHT + AR0231_STATS_HEIGHT; extra_height = AR0231_REGISTERS_HEIGHT + AR0231_STATS_HEIGHT;
registers_offset = 0; registers_offset = 0;
frame_offset = AR0231_REGISTERS_HEIGHT; frame_offset = AR0231_REGISTERS_HEIGHT;
stats_offset = AR0231_REGISTERS_HEIGHT + FRAME_HEIGHT; stats_offset = AR0231_REGISTERS_HEIGHT + AR0231_FRAME_HEIGHT;
start_reg_array.assign(std::begin(start_reg_array_ar0231), std::end(start_reg_array_ar0231)); start_reg_array.assign(std::begin(start_reg_array_ar0231), std::end(start_reg_array_ar0231));
init_reg_array.assign(std::begin(init_array_ar0231), std::end(init_array_ar0231)); init_reg_array.assign(std::begin(init_array_ar0231), std::end(init_array_ar0231));

@ -2,6 +2,9 @@
namespace { namespace {
const size_t OS04C10_FRAME_WIDTH = 2688;
const size_t OS04C10_FRAME_HEIGHT = 1520;
const float sensor_analog_gains_OS04C10[] = { const float sensor_analog_gains_OS04C10[] = {
1.0, 1.0625, 1.125, 1.1875, 1.25, 1.3125, 1.375, 1.4375, 1.5, 1.5625, 1.6875, 1.0, 1.0625, 1.125, 1.1875, 1.25, 1.3125, 1.375, 1.4375, 1.5, 1.5625, 1.6875,
1.8125, 1.9375, 2.0, 2.125, 2.25, 2.375, 2.5, 2.625, 2.75, 2.875, 3.0, 1.8125, 1.9375, 2.0, 2.125, 2.25, 2.375, 2.5, 2.625, 2.75, 2.875, 3.0,
@ -22,9 +25,9 @@ OS04C10::OS04C10() {
image_sensor = cereal::FrameData::ImageSensor::OS04C10; image_sensor = cereal::FrameData::ImageSensor::OS04C10;
data_word = false; data_word = false;
frame_width = 2688; frame_width = OS04C10_FRAME_WIDTH;
frame_height = 1520; frame_height = OS04C10_FRAME_HEIGHT;
frame_stride = (frame_width*12/8); // no alignment frame_stride = (OS04C10_FRAME_WIDTH * 12 / 8); // no alignment
extra_height = 0; extra_height = 0;
frame_offset = 0; frame_offset = 0;

@ -2,6 +2,9 @@
namespace { namespace {
const size_t OX03C10_FRAME_WIDTH = 1928;
const size_t OX03C10_FRAME_HEIGHT = 1208;
const float sensor_analog_gains_OX03C10[] = { const float sensor_analog_gains_OX03C10[] = {
1.0, 1.0625, 1.125, 1.1875, 1.25, 1.3125, 1.375, 1.4375, 1.5, 1.5625, 1.6875, 1.0, 1.0625, 1.125, 1.1875, 1.25, 1.3125, 1.375, 1.4375, 1.5, 1.5625, 1.6875,
1.8125, 1.9375, 2.0, 2.125, 2.25, 2.375, 2.5, 2.625, 2.75, 2.875, 3.0, 1.8125, 1.9375, 2.0, 2.125, 2.25, 2.375, 2.5, 2.625, 2.75, 2.875, 3.0,
@ -24,9 +27,9 @@ const uint32_t VS_TIME_MAX_OX03C10 = 34; // vs < 35
OX03C10::OX03C10() { OX03C10::OX03C10() {
image_sensor = cereal::FrameData::ImageSensor::OX03C10; image_sensor = cereal::FrameData::ImageSensor::OX03C10;
data_word = false; data_word = false;
frame_width = FRAME_WIDTH; frame_width = OX03C10_FRAME_WIDTH;
frame_height = FRAME_HEIGHT; frame_height = OX03C10_FRAME_HEIGHT;
frame_stride = FRAME_STRIDE; // (0xa80*12//8) frame_stride = (OX03C10_FRAME_WIDTH * 12 / 8) + 4;
extra_height = 16; // top 2 + bot 14 extra_height = 16; // top 2 + bot 14
frame_offset = 2; frame_offset = 2;

@ -12,10 +12,6 @@
#include "system/camerad/sensors/os04c10_registers.h" #include "system/camerad/sensors/os04c10_registers.h"
#define ANALOG_GAIN_MAX_CNT 55 #define ANALOG_GAIN_MAX_CNT 55
const size_t FRAME_WIDTH = 1928;
const size_t FRAME_HEIGHT = 1208;
const size_t FRAME_STRIDE = 2896; // for 12 bit output. 1928 * 12 / 8 + 4 (alignment)
class SensorInfo { class SensorInfo {
public: public:

Loading…
Cancel
Save