camcom 1.0.3
 
Loading...
Searching...
No Matches
camcom::sim::SimAdapter Class Reference

Simulated camera adapter for testing. More...

#include <SimAdapter.hpp>

Inheritance diagram for camcom::sim::SimAdapter:
camcom::common::AdapterBase

Classes

struct  Impl
 

Public Member Functions

 SimAdapter ()
 
 ~SimAdapter () override
 
std::map< std::string, common::ParameterConnect () override
 
void Disconnect () override
 
common::CheckResult CheckConnection () const override
 
bool IsConnected () const override
 
common::BasicParams GetBasicParams () const override
 Get basic camera parameters in standardized units. Adapters read their native parameters and convert to common units.
 
void ReceiveFrame (bool &received_frame, uint64_t max_size, std::span< uint8_t > &data, common::FrameInfo &frame_info) override
 
common::Parameter Read (const std::string &name) override
 Read a single parameter from the camera.
 
std::vector< common::ParameterRead (const std::vector< std::string > &names) override
 Read multiple parameters from the camera.
 
void Write (const common::Parameter &parameter) override
 Write a single parameter to the camera.
 
void Write (const std::vector< common::Parameter > &parameters) override
 
std::vector< common::ParameterScan () override
 Scan all available parameters from the camera Re-scans the device parameter space, updates the namespace repository, and returns all discovered parameters.
 
common::AcquisitionState GetAcquisitionState () const override
 Get the current acquisition state.
 
void StartAcquisition (std::optional< int64_t > frame_count=std::nullopt) override
 Start frame acquisition.
 
void StopAcquisition () override
 Stop frame acquisition.
 
std::string GetProtocol () const override
 Get the protocol name used by this adapter.
 
- Public Member Functions inherited from camcom::common::AdapterBase
 AdapterBase ()
 
virtual ~AdapterBase ()
 
virtual void Initialise (const ReceiveCfg &cfg)
 
virtual void Write (const std::vector< Parameter > &parameters)=0
 Write multiple parameters to the camera.
 
virtual NativeDocument GetNativeParameterDocument () const
 Get native parameter document from camera (protocol-specific) For GenICam cameras, returns the XML register description. Default implementation returns empty NativeDocument (not supported).
 
void SetAddress (const std::string &address)
 Set the camera address/URI for connection.
 
void SetTimeout (double timeout_seconds)
 Set the connection timeout.
 

Additional Inherited Members

- Static Public Member Functions inherited from camcom::common::AdapterBase
static std::string ResolveAddress (const std::string &address, bool allow_device_id=false)
 
- Protected Attributes inherited from camcom::common::AdapterBase
const std::chrono::duration< double_t > m_connect_timeout {std::chrono::seconds(10)}
 
std::string m_cam_address
 
std::chrono::duration< double_t > m_timeout
 
bool m_initialised {false}
 
std::chrono::time_point< std::chrono::system_clock > m_time_last_stop {common::TimeNow()}
 
std::chrono::time_point< std::chrono::system_clock > m_time_last_frame_recv {m_time_last_stop}
 
bool m_waiting_for_frame {false}
 

Detailed Description

Simulated camera adapter for testing.

This adapter simulates a GenICam-compatible camera for testing purposes. It provides mock parameters and generates synthetic image frames. Supports multiple simulation patterns: Gaussian stars, grids, gradients, etc.

Constructor & Destructor Documentation

◆ SimAdapter()

camcom::sim::SimAdapter::SimAdapter ( )

◆ ~SimAdapter()

camcom::sim::SimAdapter::~SimAdapter ( )
override

Member Function Documentation

◆ CheckConnection()

common::CheckResult camcom::sim::SimAdapter::CheckConnection ( ) const
overridevirtual

◆ Connect()

std::map< std::string, common::Parameter > camcom::sim::SimAdapter::Connect ( )
overridevirtual

◆ Disconnect()

void camcom::sim::SimAdapter::Disconnect ( )
overridevirtual

◆ GetAcquisitionState()

common::AcquisitionState camcom::sim::SimAdapter::GetAcquisitionState ( ) const
overridevirtual

Get the current acquisition state.

Returns
AcquisitionState with mode, remaining frames (if finite), and current FPS

Implements camcom::common::AdapterBase.

◆ GetBasicParams()

common::BasicParams camcom::sim::SimAdapter::GetBasicParams ( ) const
overridevirtual

Get basic camera parameters in standardized units. Adapters read their native parameters and convert to common units.

Returns
BasicParams struct with timing, geometry, and buffer info

Implements camcom::common::AdapterBase.

◆ GetProtocol()

std::string camcom::sim::SimAdapter::GetProtocol ( ) const
inlineoverridevirtual

Get the protocol name used by this adapter.

Returns
Protocol identifier string (e.g., "CamComSim", "GenICam", "CameraLink")

Implements camcom::common::AdapterBase.

◆ IsConnected()

bool camcom::sim::SimAdapter::IsConnected ( ) const
overridevirtual

◆ Read() [1/2]

common::Parameter camcom::sim::SimAdapter::Read ( const std::string & name)
overridevirtual

Read a single parameter from the camera.

Parameters
nameName of the parameter to read
Returns
Parameter object with current value from camera
Exceptions
std::runtime_errorif parameter not found or read fails

Implements camcom::common::AdapterBase.

◆ Read() [2/2]

std::vector< common::Parameter > camcom::sim::SimAdapter::Read ( const std::vector< std::string > & names)
overridevirtual

Read multiple parameters from the camera.

Parameters
namesVector of parameter names to read
Returns
Vector of Parameter objects with current values from camera
Exceptions
std::runtime_errorif any parameter not found or read fails

Implements camcom::common::AdapterBase.

◆ ReceiveFrame()

void camcom::sim::SimAdapter::ReceiveFrame ( bool & received_frame,
uint64_t max_size,
std::span< uint8_t > & data,
common::FrameInfo & frame_info )
overridevirtual

◆ Scan()

std::vector< common::Parameter > camcom::sim::SimAdapter::Scan ( )
overridevirtual

Scan all available parameters from the camera Re-scans the device parameter space, updates the namespace repository, and returns all discovered parameters.

Returns
Vector of all available parameters with current values

Implements camcom::common::AdapterBase.

◆ StartAcquisition()

void camcom::sim::SimAdapter::StartAcquisition ( std::optional< int64_t > frame_count = std::nullopt)
overridevirtual

Start frame acquisition.

Parameters
frame_countNumber of frames to acquire, or std::nullopt for continuous
  • std::nullopt: Continuous mode (stream until StopAcquisition)
  • value > 0: Finite mode (acquire exactly N frames then stop)

Implements camcom::common::AdapterBase.

◆ StopAcquisition()

void camcom::sim::SimAdapter::StopAcquisition ( )
overridevirtual

Stop frame acquisition.

Implements camcom::common::AdapterBase.

◆ Write() [1/2]

void camcom::sim::SimAdapter::Write ( const common::Parameter & parameter)
overridevirtual

Write a single parameter to the camera.

Parameters
parameterParameter object containing name, value, and type to write
Exceptions
std::runtime_errorif parameter not found or write fails

Implements camcom::common::AdapterBase.

◆ Write() [2/2]

void camcom::sim::SimAdapter::Write ( const std::vector< common::Parameter > & parameters)
override

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