7#ifndef CCF_PROTOCOLS_ARAVIS_LIB_COM_ADPT_HPP_H_
8#define CCF_PROTOCOLS_ARAVIS_LIB_COM_ADPT_HPP_H_
74 {ARV_BUFFER_STATUS_UNKNOWN,
"Unknown error"},
75 {ARV_BUFFER_STATUS_SUCCESS,
"Success"},
76 {ARV_BUFFER_STATUS_CLEARED,
"Buffer cleared"},
77 {ARV_BUFFER_STATUS_TIMEOUT,
"Timeout"},
78 {ARV_BUFFER_STATUS_MISSING_PACKETS,
"Missing packets"},
79 {ARV_BUFFER_STATUS_WRONG_PACKET_ID,
"Wrong packet ID"},
80 {ARV_BUFFER_STATUS_SIZE_MISMATCH,
"Size mismatch"},
81 {ARV_BUFFER_STATUS_FILLING,
"Buffer filling"},
82 {ARV_BUFFER_STATUS_ABORTED,
"Aborted"}
94 std::string& message)
override;
101 virtual void ReadUser(
const std::string& name,
102 ifw::core::utils::param::Parameter& par)
override;
105 bool& frame_received,
106 const double timeout,
107 bool& timed_out)
override;
109 virtual void ScanUser(std::vector<ifw::core::utils::param::Parameter>& pars)
override;
115 virtual void WriteUser(
const ifw::core::utils::param::Parameter& par)
override;
124 virtual int8_t
_WriteParHook(ifw::core::utils::param::Parameter& par,
125 bool& ignore_unknown);
164 virtual void _Write(ifw::core::utils::param::Parameter& par);
170 ifw::core::utils::param::Parameter& par);
173 void _GetCameraAttributesList(ArvGc* gen_i_cam);
174 void _GetFlags(ArvGc* gen_i_cam,
const std::string& name);
175 void _GetNode(
const std::string& name, ArvGc* gen_i_cam, ArvGcNode** node);
176 int16_t _MonoPixelFormatToBits(std::string par_value);
177 int16_t _MonoPixelFormatToBits(ifw::core::utils::param::Parameter& par);
178 bool _PackedPixelFormat(ArvPixelFormat pixel_format);
180 std::map<ifw::ccf::protocols::aravis::ArvDatatype, std::vector<std::string>> m_data_type_map;
182 double m_delay_start_after_stop;
183 double m_last_frame_recv;
184 gulong m_sig_handler_id;
185 uint32_t m_stream_bytes_max;
186 double m_time_last_stop;
187 std::string m_host_address;
189 std::string m_vendor_name;
Class to be used as parent for CCF Communication Adapters.
Definition comAdptBase.hpp:48
Frame class used to store the data and metadata for one frames received from the camera.
Definition dataFrame.hpp:20
int m_setup_expo_bin_x
Definition comAdptAravis.hpp:159
const std::string GIGE_PAR_SENSOR_TYPE
Definition comAdptAravis.hpp:59
double m_setup_expo_time
Definition comAdptAravis.hpp:157
const std::string GIGE_PAR_PACKET_SIZE
Definition comAdptAravis.hpp:54
const std::string GIGE_PAR_DEVICE_VENDOR_NAME
Definition comAdptAravis.hpp:53
virtual void _StartAcq()
Definition comAdptAravis.cpp:632
virtual int8_t _ReadBasicParsHook()
Definition hooks.cpp:69
const std::string GIGE_PAR_SENSOR_BITS
Definition comAdptAravis.hpp:57
const std::string GIGE_PAR_TRIGGER_MODE
Definition comAdptAravis.hpp:64
std::map< ArvBufferStatus, std::string > p_status_map
Definition comAdptAravis.hpp:139
double p_timestamp_frequency
Definition comAdptAravis.hpp:143
int32_t p_acq_thr_buf_index
Definition comAdptAravis.hpp:141
const std::string GIGE_PAR_ACQUISITION_MODE
Definition comAdptAravis.hpp:50
const std::string GIGE_PAR_FRAME_TRIGGER_MODE
Definition comAdptAravis.hpp:63
virtual void DisconnectUser() override
Definition comAdptAravis.cpp:359
virtual void StopUser() override
Definition comAdptAravis.cpp:694
const std::string GIGE_PAR_ACQUISITION_STOP
Definition comAdptAravis.hpp:52
virtual void _AdjustStreamBytesPerSecHook()
Definition hooks.cpp:15
ComAdptAravis()
Definition comAdptAravis.cpp:32
virtual void _GetIntEnumValue(const std::string &name, ifw::core::utils::param::Parameter &par)
Definition comAdptAravis.cpp:378
const uint32_t STREAM_BYTES_PER_SECOND_MAX
Definition comAdptAravis.hpp:41
virtual void ReceiveUser(ifw::ccf::common::DataFrame &frame, bool &frame_received, const double timeout, bool &timed_out) override
Definition comAdptAravis.cpp:475
const uint32_t STREAM_BYTES_PER_SECOND_MIN
Definition comAdptAravis.hpp:40
std::map< std::string, ArvAttributeInfo > m_attributes
Definition comAdptAravis.hpp:162
int32_t p_cur_buffer_index
Definition comAdptAravis.hpp:131
virtual void InitialiseUser() override
Definition comAdptAravis.cpp:95
const double CONNECT_TIMEOUT
Definition comAdptAravis.hpp:35
virtual void _Write(ifw::core::utils::param::Parameter &par)
Definition comAdptAravis.cpp:717
virtual int8_t _WriteParHook(ifw::core::utils::param::Parameter &par, bool &ignore_unknown)
Definition hooks.cpp:83
const std::string GIGE_PAR_ACQUISITION_ABORT
Definition comAdptAravis.hpp:49
virtual void _PauseAcqThr()
Definition comAdptAravis.cpp:1065
const std::string GIGE_PAR_TRIGGER_SOURCE
Definition comAdptAravis.hpp:65
const std::string GIGE_PAR_PAYLOAD_SIZE
Definition comAdptAravis.hpp:55
virtual bool IsConnectedUser() const
Definition comAdptAravis.cpp:203
virtual void CheckConnectionUser(bool &connected) override
Definition comAdptAravis.cpp:156
ArvStream * p_stream
Definition comAdptAravis.hpp:140
virtual void CheckStatusUser(ifw::ccf::HwStatus &status, std::string &message) override
Definition comAdptAravis.cpp:187
int32_t p_payload_size
Definition comAdptAravis.hpp:138
virtual void ReadUser(const std::string &name, ifw::core::utils::param::Parameter &par) override
Definition comAdptAravis.cpp:397
double m_stat_expo_time
Definition comAdptAravis.hpp:158
bool GetAcqThrExecFlag()
Definition comAdptAravis.cpp:1077
const std::string GIGE_PAR_STREAM_BYTES_PER_SECOND
Definition comAdptAravis.hpp:61
bool p_ignore_lost_frames
Definition comAdptAravis.hpp:136
ifw::ccf::ExpoMode p_expo_mode
Definition comAdptAravis.hpp:128
ArvFrame p_frame_buffers[100]
Definition comAdptAravis.hpp:133
const uint16_t MAX_NB_OF_RECEP_BUFFERS
Definition comAdptAravis.hpp:37
double p_last_missing_data_log
Definition comAdptAravis.hpp:137
const std::string GIGE_PAR_ACQUISITION_START
Definition comAdptAravis.hpp:51
virtual ~ComAdptAravis()
Definition comAdptAravis.cpp:118
uint32_t p_frame_count
Definition comAdptAravis.hpp:135
virtual void ScanUser(std::vector< ifw::core::utils::param::Parameter > &pars) override
Definition comAdptAravis.cpp:619
bool p_frame_buffers_in_use[100]
Definition comAdptAravis.hpp:134
const std::map< int, std::string > ARV_BUFFER_STATUS_STRING
Definition comAdptAravis.hpp:72
ArvDevice * p_device
Definition comAdptAravis.hpp:132
std::thread * p_fr_acq_thr
Definition comAdptAravis.hpp:144
const std::string GIGE_PAR_TIMESTAMP_TICK_FREQ
Definition comAdptAravis.hpp:62
int m_setup_expo_bin_y
Definition comAdptAravis.hpp:160
const uint16_t NB_OF_INPUT_BUFFERS
Definition comAdptAravis.hpp:38
virtual void _ClearCamHandle()
Definition comAdptAravis.cpp:708
const std::string GIGE_PAR_PIXELFORMAT
Definition comAdptAravis.hpp:56
virtual void ConnectUser() override
Definition comAdptAravis.cpp:220
const int32_t DEFAULT_PACKET_SIZE
Definition comAdptAravis.hpp:39
virtual void WriteUser(const ifw::core::utils::param::Parameter &par) override
Definition comAdptAravis.cpp:956
virtual void StartUser() override
Definition comAdptAravis.cpp:656
const std::string GIGE_PAR_SENSOR_HEIGHT
Definition comAdptAravis.hpp:58
bool p_waiting_for_frame
Definition comAdptAravis.hpp:142
const double FRAME_REC_THR_SLEEP_TIME
Definition comAdptAravis.hpp:36
struct sched_param p_fr_acq_thr_sched_par
Definition comAdptAravis.hpp:145
bool p_term_fr_acq_thr
Definition comAdptAravis.hpp:130
virtual void _StartAcqThr()
Definition comAdptAravis.cpp:1053
virtual double GetTheoreticFrameRateUser() override
Definition comAdptAravis.cpp:1300
int32_t m_bytes_per_pixel
Definition comAdptAravis.hpp:153
bool p_exec_fr_acq_thr
Definition comAdptAravis.hpp:129
const std::string GIGE_PAR_SENSOR_WIDTH
Definition comAdptAravis.hpp:60
virtual void _Reset()
Definition comAdptAravis.cpp:134
Definition comAdptAravis.cpp:30
void FrameReceptionThread(void *com_adapter)
Thread dedicated to receive the image frames to ensure the minimum possible delay in receiving these.
Definition frameReceptionThread.cpp:17
ExpoMode
Exposure modes.
Definition base.hpp:208
HwStatus
HW status values.
Definition base.hpp:152
Image in which to store frames received.
Definition defines.hpp:42