Go to the documentation of this file.
5 #ifndef CCF_COMMON_COM_ADPT_BASE_HPP_H_
6 #define CCF_COMMON_COM_ADPT_BASE_HPP_H_
8 #include <ctd/param/Parameter.hpp>
44 const std::string&
GetId()
const;
69 std::string tmp_value;
72 ctd::conversion::Convert(tmp_value, ret_value);
75 CCFTHROW(
"Requesting undefined camera property: " + property);
103 std::string& message);
141 void Read(
const std::string& name,
142 ctd::param::Parameter& par);
146 void Read(
const std::vector<std::string>& names,
147 std::vector<ctd::param::Parameter>& pars);
151 std::string
Read(
const std::string& name);
154 template <
class TYPE>
155 TYPE
Read(
const std::string& name) {
157 ctd::param::Parameter par;
160 ctd::conversion::Convert(par.GetValue(), native_value);
166 void Write(
const ctd::param::Parameter& par);
170 void Write(
const std::vector<ctd::param::Parameter>& pars);
173 template <
class TYPE>
174 void Write(
const std::string& name,
const TYPE& value) {
176 ctd::param::Parameter tmp_par(name, value);
190 bool& frame_received,
191 const double timeout,
195 void Scan(std::vector<ctd::param::Parameter>& pars);
243 std::string& message);
270 virtual void ReadUser(
const std::string& name,
271 ctd::param::Parameter& par);
276 virtual void ReadUser(
const std::vector<std::string>& names,
277 std::vector<ctd::param::Parameter>& pars);
282 bool& frame_received,
283 const double timeout,
288 virtual void ScanUser(std::vector<ctd::param::Parameter>& pars);
300 virtual void WriteUser(
const ctd::param::Parameter& par);
305 virtual void WriteUser(
const std::vector<ctd::param::Parameter>& pars);
328 bool m_is_sim_adapter;
329 std::string m_protocol;
330 std::string m_camera_address;
331 std::string m_host_address;
333 bool m_allow_lost_frames;
334 uint64_t m_lost_frames_count;
337 std::map<std::string, ctd::param::Parameter> m_cam_property_registry;
342 #endif // CCF_COMMON_COM_ADPT_BASE_HPP_H_
virtual void DisconnectUser()
Definition: comAdptBase.cpp:367
#define CCFTHROW(msg)
Throw a "rad::Exception()". The location ("CCFLOC") for the throw statement is added to the message.
Definition: base.hpp:410
virtual void HandleSetupUser()
Definition: comAdptBase.cpp:471
void MapParFromDevice(ctd::param::Parameter &par) const
Definition: comAdptBase.cpp:485
void SetIsConnected(const bool connected)
Definition: comAdptBase.cpp:250
virtual bool HasCameraPropertyUser(const std::string &property, std::string &value)
Definition: comAdptBase.cpp:588
bool HasCameraProperty(const std::string &property, std::string &value)
Definition: comAdptBase.cpp:547
void Receive(ccf::common::DataFrame &frame, bool &frame_received, const double timeout, bool &timed_out)
Definition: comAdptBase.cpp:232
void Stop()
Stop the image acquisition in the camera.
Definition: comAdptBase.cpp:287
virtual void HandleParPostWriteUser(ctd::param::Parameter &par)
Definition: comAdptBase.cpp:453
Config class for CCF applications.
Definition: configBase.hpp:84
void WriteAdapterProps()
Definition: comAdptBase.cpp:151
void HandleParPreWrite(ctd::param::Parameter &par)
Definition: comAdptBase.cpp:434
void ResetLostFramesCount()
Reset the lost frames counter.
Definition: comAdptBase.cpp:617
void SetProtocol(const std::string &protocol)
Set the communication protocol used.
Definition: comAdptBase.cpp:423
void Disconnect()
Disconnect from the camera.
Definition: comAdptBase.cpp:180
TYPE Read(const std::string &name)
Template method to read a parameter, taking care of the conversion to the desired user representation...
Definition: comAdptBase.hpp:155
const std::string & GetCameraAddress() const
Return the address of the camera from the configuration.
Definition: comAdptBase.cpp:429
TYPE GetCameraProperty(const std::string &property)
Definition: comAdptBase.hpp:67
void HandleSetup()
Definition: comAdptBase.cpp:466
bool m_is_connected
Definition: comAdptBase.hpp:324
virtual void WriteAdapterPropsUser()
Definition: comAdptBase.cpp:156
uint64_t IncLostFramesCount()
Increment the counter of lost frames. The new value is returned.
Definition: comAdptBase.cpp:607
void CheckStatus(ccf::common::HwStatus &status, std::string &message)
Check the status of the camera (health status).
Definition: comAdptBase.cpp:82
void Read(const std::string &name, ctd::param::Parameter &par)
Definition: comAdptBase.cpp:193
void CheckConnection(bool &connected)
Check if the connection to the camera is OK.
Definition: comAdptBase.cpp:73
virtual void InitialiseUser()
Definition: comAdptBase.cpp:127
Class to be used as parent all CCF classes.
Definition: base.hpp:93
void Initialise(const bool re_init=false)
Definition: comAdptBase.cpp:98
virtual void WriteUser(const ctd::param::Parameter &par)
Definition: comAdptBase.cpp:411
bool GetIsSimAdapter() const
Return the Simulation Adapter Flag.
Definition: comAdptBase.cpp:37
virtual bool IsConnectedUser() const
Definition: comAdptBase.cpp:47
virtual void ConnectUser()
Definition: comAdptBase.cpp:362
void LoadCameraNameMapping(const std::string &name_mapping_file)
Definition: comAdptBase.cpp:461
virtual void HandleParPostReadUser(ctd::param::Parameter &par)
Definition: comAdptBase.cpp:457
const std::string & GetProtocol() const
Return the communication protocol used.
Definition: comAdptBase.cpp:52
virtual void StartUser()
Definition: comAdptBase.cpp:401
bool HasNameMapping(const std::string &name) const
Return true if a mapping is defined in the Camera Name Mapping for the given name.
Definition: comAdptBase.cpp:496
void Write(const std::string &name, const TYPE &value)
Template method to write a parameter, taking care of converting the user data into the internal type.
Definition: comAdptBase.hpp:174
std::string GetHostAddress()
void HandleParPostWrite(ctd::param::Parameter &par)
Invoked after writing to the camera in case additional processing and downloading of parameters is ne...
Definition: comAdptBase.cpp:439
void Write(const ctd::param::Parameter &par)
Definition: comAdptBase.cpp:299
virtual void SetCameraAddressUser(const std::string &address)
Definition: comAdptBase.cpp:346
ComAdptBase()
Definition: comAdptBase.cpp:18
void Start()
Start the image acquisition in the camera.
Definition: comAdptBase.cpp:274
virtual void CheckStatusUser(ccf::common::HwStatus &status, std::string &message)
Definition: comAdptBase.cpp:356
double GetTheoreticFrameRate()
Render the theoritic, possible achievable frame rate (frame/s).
Definition: comAdptBase.cpp:595
Implements a name mapping service, based on a Name Mapping File to be loaded and installed.
Definition: nameMapping.hpp:20
virtual void StopUser()
Definition: comAdptBase.cpp:406
bool GetAllowLostFrames() const
Return flag (cfg par) indicating if lost frames shall be ignored silently.
Definition: comAdptBase.cpp:122
void Scan(std::vector< ctd::param::Parameter > &pars)
Scan the address of the associated camera and store the parameters in the vector.
Definition: comAdptBase.cpp:256
void MapParForDevice(ctd::param::Parameter &par) const
Definition: comAdptBase.cpp:491
virtual void HandleParPreWriteUser(ctd::param::Parameter &par)
Definition: comAdptBase.cpp:449
Definition: appBase.cpp:8
virtual double GetTheoreticFrameRateUser()
Definition: comAdptBase.cpp:600
virtual void ReceiveUser(ccf::common::DataFrame &frame, bool &frame_received, const double timeout, bool &timed_out)
Definition: comAdptBase.cpp:388
const std::string & GetId() const
Get the ID of the associated camera.
Definition: comAdptBase.cpp:57
void HandleParPostRead(ctd::param::Parameter &par)
Invoked before reading a parameter from the camera, in case speciel handling is needed.
Definition: comAdptBase.cpp:444
virtual void ScanUser(std::vector< ctd::param::Parameter > &pars)
Definition: comAdptBase.cpp:396
virtual ~ComAdptBase()
Definition: comAdptBase.cpp:28
void Connect()
Definition: comAdptBase.cpp:131
bool IsConnected() const
Returns true if the connection to the camera is established and valid.
Definition: comAdptBase.cpp:42
#define CCFTRACE
TRACE log macro. Includes the location ("CCFLOC") in the log message.
Definition: base.hpp:403
void SetHostAdddress(const std::string &host_address)
Set the address of the host (network interface) used for communicating with the camera.
Definition: comAdptBase.cpp:532
ccf::common::ConfigBase & Cfg()
Return reference to general configuration object (singleton).
Definition: comAdptBase.cpp:93
virtual void ReadUser(const std::string &name, ctd::param::Parameter &par)
Definition: comAdptBase.cpp:372
void SetCameraAddress(const std::string &address)
Set the internal address, e.g. URI, used for communicating with the camera.
Definition: comAdptBase.cpp:62
void SetIsSimAdapter(const bool is_sim)
Set the Simulation Adapter Flag.
Definition: comAdptBase.cpp:32
virtual void CheckConnectionUser(bool &connected)
Definition: comAdptBase.cpp:351
uint64_t GetLostFramesCount() const
Return the number of lost frames currently registered.
Definition: comAdptBase.cpp:612
Frame class used to store the data and metadata for one frames received from the camera.
Definition: dataFrame.hpp:15
HwStatus
HW status values.
Definition: base.hpp:132
const std::string & GetHostAddress()
Return the address of the host (network interface) used for communicating with the camera.
Definition: comAdptBase.cpp:539
Class to be used as parent for CCF Communication Adapters.
Definition: comAdptBase.hpp:31