camcom 1.0.3
 
Loading...
Searching...
No Matches
SimAdapter.hpp
Go to the documentation of this file.
1
6
7#ifndef CAMCOM_SIM_SIMADAPTER_HPP
8#define CAMCOM_SIM_SIMADAPTER_HPP
9
11#include "camcom/common/frameGenerator.hpp" // PatternType, GradientDirection, NoiseDistribution
12#include <map>
13#include <vector>
14#include <memory>
15#include <thread>
16#include <mutex>
17#include <condition_variable>
18#include <queue>
19#include <random>
20
21namespace camcom::sim {
22
23// Use common enums from frameGenerator.hpp
27
36public:
37 SimAdapter();
38 ~SimAdapter() override;
39
40 // Connection management
41 std::map<std::string, common::Parameter> Connect() override;
42 void Disconnect() override;
43 common::CheckResult CheckConnection() const override;
44 bool IsConnected() const override;
45
46 // Basic parameters and frame handling
47 common::BasicParams GetBasicParams() const override;
48 void ReceiveFrame(bool& received_frame,
49 uint64_t max_size,
50 std::span<uint8_t>& data,
51 common::FrameInfo& frame_info) override;
52
53 // Parameter access
54 common::Parameter Read(const std::string& name) override;
55 std::vector<common::Parameter> Read(const std::vector<std::string>& names) override;
56 void Write(const common::Parameter& parameter) override;
57 void Write(const std::vector<common::Parameter>& parameters) override;
58 std::vector<common::Parameter> Scan() override;
59
60 // Acquisition control
62 void StartAcquisition(std::optional<int64_t> frame_count = std::nullopt) override;
63 void StopAcquisition() override;
64
65 // Protocol identification
66 std::string GetProtocol() const override { return "Simulation"; }
67
68private:
69 struct Impl;
70 std::unique_ptr<Impl> impl_;
71};
72
73// Factory function for dynamic loading
74extern "C" {
77}
78
79} // namespace camcom::sim
80
81#endif // CAMCOM_SIM_SIMADAPTER_HPP
Header file for the CamCom Common Library.
Definition adapterBase.hpp:69
Definition frameInfo.hpp:23
Definition parameter.hpp:24
std::vector< common::Parameter > Scan() override
Scan all available parameters from the camera Re-scans the device parameter space,...
Definition SimAdapter.cpp:843
~SimAdapter() override
Definition SimAdapter.cpp:572
common::CheckResult CheckConnection() const override
Definition SimAdapter.cpp:617
std::string GetProtocol() const override
Get the protocol name used by this adapter.
Definition SimAdapter.hpp:66
std::map< std::string, common::Parameter > Connect() override
Definition SimAdapter.cpp:576
void Write(const common::Parameter &parameter) override
Write a single parameter to the camera.
Definition SimAdapter.cpp:767
common::Parameter Read(const std::string &name) override
Read a single parameter from the camera.
Definition SimAdapter.cpp:740
void Disconnect() override
Definition SimAdapter.cpp:599
bool IsConnected() const override
Definition SimAdapter.cpp:595
void ReceiveFrame(bool &received_frame, uint64_t max_size, std::span< uint8_t > &data, common::FrameInfo &frame_info) override
Definition SimAdapter.cpp:666
common::BasicParams GetBasicParams() const override
Get basic camera parameters in standardized units. Adapters read their native parameters and convert ...
Definition SimAdapter.cpp:628
common::AcquisitionState GetAcquisitionState() const override
Get the current acquisition state.
Definition SimAdapter.cpp:1023
void StartAcquisition(std::optional< int64_t > frame_count=std::nullopt) override
Start frame acquisition.
Definition SimAdapter.cpp:953
SimAdapter()
Definition SimAdapter.cpp:568
void StopAcquisition() override
Stop frame acquisition.
Definition SimAdapter.cpp:1002
Shared frame pattern generator for simulated cameras.
PatternType
Definition frameGenerator.hpp:20
NoiseDistribution
Definition frameGenerator.hpp:33
GradientDirection
Definition frameGenerator.hpp:32
Definition SimAdapter.hpp:21
common::AdapterBase * CreateAdapter()
void destroyAdapter(common::AdapterBase *adapter)
Current acquisition state information.
Definition adapterBase.hpp:40
Standardized basic camera parameters in common units.
Definition basicParams.hpp:38
Connection health check result.
Definition adapterBase.hpp:63