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,
 | |
| };
 | |
| 
 |