CameraComponent Class Reference

Space-ng SDK: sol3::camera_module::CameraComponent Class Reference
Space-ng SDK
sol3::camera_module::CameraComponent Class Reference

#include <sol3/camera_module/camera_component.h>

Public Member Functions

 CameraComponent (core::IBufferExchange &exchange, uint32_t component_id, std::unique_ptr< ICameraDevice > device, bool external_trigger=false)
 
void run (std::atomic< bool > &stopped)
 

Detailed Description

Camera component that consumes control messages and drives an ICameraDevice.

This component can run in one of two modes:

  1. Periodic Mode (external_trigger == false) In Periodic Mode, the camera will be configured to capture either at a fixed framerate or at an absolute time point. The application software is in full control of capture events, and can set the exposure and ISO arbitrarily.
  2. External Trigger Mode (external_trigger == true) In External Trigger mode, capture events are driven by an external trigger signal sent directly to the camera device. The exposure is controlled via the pulse width of this signal, so exposure control is unavailable in this mode. The component polls for CameraControl messages and forwards each new request to the HAL before the next trigger fires. TODO: verify required time tolerance.

Constructor & Destructor Documentation

◆ CameraComponent()

sol3::camera_module::CameraComponent::CameraComponent ( core::IBufferExchange exchange,
uint32_t  component_id,
std::unique_ptr< ICameraDevice device,
bool  external_trigger = false 
)

Constructor.

If external_trigger is true, run in External Trigger Mode. Otherwise, run in Periodic Mode.

Member Function Documentation

◆ run()

void sol3::camera_module::CameraComponent::run ( std::atomic< bool > &  stopped)

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