CameraModuleSpec Struct Reference

Space-ng SDK: sol3::camera_module::CameraModuleSpec Struct Reference
Space-ng SDK
sol3::camera_module::CameraModuleSpec Struct Reference

Message specifications and endpoints for the camera module. More...

#include <sol3/camera_module/camera_msg_spec.h>

Public Types

using CameraControl = core::MessageSpec< msg::CameraControl, core::msg::InterfaceType_INPUT, 0 >
 
using CameraSnapshotControl = core::MessageSpec< msg::CameraSnapshotControl, core::msg::InterfaceType_INPUT, 1 >
 One-shot snapshot control message consumed by the snapshot component. More...
 
using RawFrame = core::MessageSpec< msg::CameraFrame, core::msg::InterfaceType_OUTPUT, 1 >
 
using YuvFrame = core::MessageSpec< msg::CameraFrame, core::msg::InterfaceType_OUTPUT, 2 >
 
using ResizedYuvFrame = core::MessageSpec< msg::CameraFrame, core::msg::InterfaceType_OUTPUT, 3 >
 
using VideoEncodedPacket = core::MessageSpec< msg::VideoEncodedPacket, core::msg::InterfaceType_OUTPUT, 4 >
 
using RawFrameSnapshot = core::MessageSpec< msg::CameraFrame, core::msg::InterfaceType_OUTPUT, 5 >
 
using CameraSnapshotTelemetry = core::MessageSpec< msg::CameraSnapshotTelemetry, core::msg::InterfaceType_OUTPUT, 6 >
 Snapshot component telemetry emitted on every fresh snapshot request. More...
 

Static Public Attributes

static constexpr char const * camera_endpoint = "/run/sol3/camera"
 
static constexpr char const * control_endpoint = "/run/sol3/camera_control"
 
static constexpr char const * camera_server_config_path
 The default path the the camera server configuration file. More...
 

Detailed Description

Message specifications and endpoints for the camera module.

Member Typedef Documentation

◆ CameraControl

using sol3::camera_module::CameraModuleSpec::CameraControl = core::MessageSpec<msg::CameraControl, core::msg::InterfaceType_INPUT, 0>

Camera control message, received by the camera process and used in each request for a camera frame

◆ CameraSnapshotControl

using sol3::camera_module::CameraModuleSpec::CameraSnapshotControl = core::MessageSpec< msg::CameraSnapshotControl, core::msg::InterfaceType_INPUT, 1>

One-shot snapshot control message consumed by the snapshot component.

◆ CameraSnapshotTelemetry

using sol3::camera_module::CameraModuleSpec::CameraSnapshotTelemetry = core::MessageSpec< msg::CameraSnapshotTelemetry, core::msg::InterfaceType_OUTPUT, 6>

Snapshot component telemetry emitted on every fresh snapshot request.

◆ RawFrame

◆ RawFrameSnapshot

Snapshot outputs are only written to in response to CameraSnapshotControl messages, and are meant to be consumed by long running pipelines, or persisted to disk. They contain a copy of the image data and are not as time sensitive as the other frame outputs. TODO(rublee) For now, the image data is copied to the CameraFrame.buffer_data field, rather than a separate shared buffer, so that these can be logged as flatbuffer. However, this may change in the future as we optimize image copy behavior.

◆ ResizedYuvFrame

◆ VideoEncodedPacket

using sol3::camera_module::CameraModuleSpec::VideoEncodedPacket = core:: MessageSpec<msg::VideoEncodedPacket, core::msg::InterfaceType_OUTPUT, 4>

◆ YuvFrame

Member Data Documentation

◆ camera_endpoint

constexpr char const* sol3::camera_module::CameraModuleSpec::camera_endpoint = "/run/sol3/camera"
staticconstexpr

Default endpoint for which all camera frames are published on We assume there is only one process responsible for publishing frames, and responsible for all cameras On the sol3 base unit, this is a reasonable assumption as only one process can talk to the underlying camera HAL

◆ camera_server_config_path

constexpr char const* sol3::camera_module::CameraModuleSpec::camera_server_config_path
staticconstexpr
Initial value:
=
"/opt/sol3/etc/camera_server/camera_server_config.json"

The default path the the camera server configuration file.

◆ control_endpoint

constexpr char const* sol3::camera_module::CameraModuleSpec::control_endpoint = "/run/sol3/camera_control"
staticconstexpr

The camera control endpoint. The process responsible for talking to the camera HAL, and grabbing frames connects to this endpoint and expects to receive CameraControl messages from it. Only one process may control the camera process at a time.


The documentation for this struct was generated from the following file: