You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.5 KiB
51 lines
1.5 KiB
#pragma once
|
|
|
|
#include "common/util.h"
|
|
#include "cereal/gen/cpp/log.capnp.h"
|
|
#include "msgq/visionipc/visionipc_server.h"
|
|
|
|
#include "media/cam_isp_ife.h"
|
|
|
|
// For the comma 3/3X three camera platform
|
|
|
|
struct CameraConfig {
|
|
int camera_num;
|
|
VisionStreamType stream_type;
|
|
float focal_len; // millimeters
|
|
const char *publish_name;
|
|
cereal::FrameData::Builder (cereal::Event::Builder::*init_camera_state)();
|
|
bool enabled;
|
|
uint32_t phy;
|
|
};
|
|
|
|
// NOTE: to be able to disable road and wide road, we still have to configure the sensor over i2c
|
|
// If you don't do this, the strobe GPIO is an output (even in reset it seems!)
|
|
const CameraConfig WIDE_ROAD_CAMERA_CONFIG = {
|
|
.camera_num = 0,
|
|
.stream_type = VISION_STREAM_WIDE_ROAD,
|
|
.focal_len = 1.71,
|
|
.publish_name = "wideRoadCameraState",
|
|
.init_camera_state = &cereal::Event::Builder::initWideRoadCameraState,
|
|
.enabled = !getenv("DISABLE_WIDE_ROAD"),
|
|
.phy = CAM_ISP_IFE_IN_RES_PHY_0,
|
|
};
|
|
|
|
const CameraConfig ROAD_CAMERA_CONFIG = {
|
|
.camera_num = 1,
|
|
.stream_type = VISION_STREAM_ROAD,
|
|
.focal_len = 8.0,
|
|
.publish_name = "roadCameraState",
|
|
.init_camera_state = &cereal::Event::Builder::initRoadCameraState,
|
|
.enabled = !getenv("DISABLE_ROAD"),
|
|
.phy = CAM_ISP_IFE_IN_RES_PHY_1,
|
|
};
|
|
|
|
const CameraConfig DRIVER_CAMERA_CONFIG = {
|
|
.camera_num = 2,
|
|
.stream_type = VISION_STREAM_DRIVER,
|
|
.focal_len = 1.71,
|
|
.publish_name = "driverCameraState",
|
|
.init_camera_state = &cereal::Event::Builder::initDriverCameraState,
|
|
.enabled = !getenv("DISABLE_DRIVER"),
|
|
.phy = CAM_ISP_IFE_IN_RES_PHY_2,
|
|
};
|
|
|