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:
- 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.
- 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:
- /workspaces/astro/sol3-sdk/cpp/sol3/camera_module/camera_component.h
Generated by