ifw-ccf 6.0.0
 
Loading...
Searching...
No Matches
ifw::ccf::protocols::rtms_llnetio::ComAdptRtms Class Reference

CCF Communication Adapter implementing RTMS communication. More...

#include <comAdptRtms.hpp>

Inheritance diagram for ifw::ccf::protocols::rtms_llnetio::ComAdptRtms:
ifw::ccf::common::ComAdptBase ifw::ccf::Base ifw::ccf::protocols::envision_llnetio::ComAdptEnvision

Public Member Functions

 ComAdptRtms ()
 
virtual ~ComAdptRtms ()
 
virtual void InitialiseUser () override
 
virtual void StartUser () override
 
virtual void StopUser () override
 
virtual void ReceiveUser (ifw::ccf::common::DataFrame &frame, bool &frame_received, const double timeout, bool &timed_out) override
 
- Public Member Functions inherited from ifw::ccf::common::ComAdptBase
 ComAdptBase ()
 
virtual ~ComAdptBase ()
 
const std::string & GetDeviceAddress () const
 Return the address from the configuration.
 
const int16_t GetDeviceWidth () const
 Return the width of the data array from the configuration.
 
const int16_t GetDeviceHeight () const
 Return the height of the data array from the configuration.
 
const int8_t GetDeviceResolution () const
 Return the resolution of the data elements from the configuration.
 
const std::string & GetId () const
 Get the ID of the associated device.
 
double GetMaxFrameRate () const
 Get Maximim frame rate (Hz).
 
void SetHostAdddress (const std::string &host_address)
 Set the address of the host (network interface) used for communication.
 
virtual const std::string & GetHostAddress ()
 Return the address of the host (network interface) used for communicating with the device.
 
void SetIsSimAdapter (const bool is_sim)
 Set the Simulation Adapter Flag.
 
bool GetIsSimAdapter () const
 Return the Simulation Adapter Flag.
 
const std::string & GetProtocol () const
 Return the communication protocol used.
 
template<class TYPE>
TYPE GetDeviceProperty (const std::string &property)
 
bool HasDeviceProperty (const std::string &property, std::string &value)
 
double GetTheoreticFrameRate ()
 Render the theoritic, possible achievable frame rate (frame/s).
 
void Initialise (const bool re_init=false)
 
void SetDeviceAddress (const std::string &address)
 Set the internal address, e.g. URI, used for communicating with the device.
 
void CheckConnection (bool &connected)
 Check if the connection to the device is OK.
 
void CheckStatus (ifw::ccf::HwStatus &status, std::string &message)
 Check the status of the device (health status).
 
bool IsConnected () const
 Returns true if the connection to the device is established and valid.
 
void CheckIfConnected () const
 Check if the connection is established. If not, throw an exception.
 
void Connect ()
 
void AutoConnect (const uint8_t attempts=5, const double timeout=10)
 
void Disconnect ()
 Disconnect from the device.
 
void WriteDeviceProps ()
 
virtual void WriteDevicePropsUser ()
 
void WriteDefaultSetup ()
 
virtual void WriteDefaultSetupUser ()
 
void SetIsConnected (const bool connected)
 
bool GetAllowLostFrames () const
 Return flag (cfg par) indicating if lost frames shall be ignored silently.
 
uint64_t IncLostFramesCount ()
 Increment the counter of lost frames. The new value is returned.
 
void SetLostFramesCount (const int64_t count)
 
uint64_t GetLostFramesCount () const
 Return the number of lost frames currently registered.
 
uint64_t GetFrameCounter () const
 Return the internal frame counter.
 
double GetTimeForLastFrame () const
 
void ResetLostFramesCount ()
 Reset the lost frames counter.
 
void Read (const std::string &name, ifw::core::utils::param::Parameter &par)
 
void Read (const std::vector< std::string > &names, std::vector< ifw::core::utils::param::Parameter > &pars)
 
std::string Read (const std::string &name)
 
template<class TYPE>
TYPE Read (const std::string &name)
 
void Write (const ifw::core::utils::param::Parameter &par)
 
void Write (const std::vector< ifw::core::utils::param::Parameter > &pars)
 
template<class TYPE>
void Write (const std::string &name, const TYPE &value)
 
void Receive (ifw::ccf::common::DataFrame &frame, bool &frame_received, const double timeout, bool &timed_out)
 
void Scan (std::vector< ifw::core::utils::param::Parameter > &pars)
 Scan the address of the associated device and store the parameters in the vector.
 
void Start ()
 Start the image acquisition in the device.
 
void Stop ()
 Stop the image acquisition in the device.
 
void HandleSetup ()
 
void HandleParPreWrite (ifw::core::utils::param::Parameter &par)
 
void HandleParPostWrite (ifw::core::utils::param::Parameter &par)
 
void HandleParPostRead (ifw::core::utils::param::Parameter &par)
 Invoked before reading a parameter from the device, in case speciel handling is needed.
 
void MapParForDevice (ifw::core::utils::param::Parameter &par) const
 
void MapParFromDevice (ifw::core::utils::param::Parameter &par) const
 
bool HasNameMapping (const std::string &name) const
 Return true if a mapping is defined in the Device Name Mapping for the given name.
 
virtual void SetAcqTrigger (const AcqTrigger &acq_trigger)
 
AcqTriggerGetAcqTrigger ()
 
ifw::ccf::common::TriggerType GetAcqTriggerType () const
 
virtual void SetDeviceAddressUser (const std::string &address)
 
virtual void CheckConnectionUser (bool &connected)
 
virtual void CheckStatusUser (ifw::ccf::HwStatus &status, std::string &message)
 
virtual bool HasDevicePropertyUser (const std::string &property, std::string &value)
 
virtual double GetTheoreticFrameRateUser ()
 
virtual void ConnectUser ()
 
virtual void DisconnectUser ()
 
virtual bool IsConnectedUser () const
 
virtual void ReadUser (const std::string &name, ifw::core::utils::param::Parameter &par)
 
virtual void ReadUser (const std::vector< std::string > &names, std::vector< ifw::core::utils::param::Parameter > &pars)
 
virtual void AddMetaDataUser (ifw::ccf::common::DataFrame &frame)
 
virtual void ScanUser (std::vector< ifw::core::utils::param::Parameter > &pars)
 
virtual void WriteUser (const ifw::core::utils::param::Parameter &par)
 
virtual void WriteUser (const std::vector< ifw::core::utils::param::Parameter > &pars)
 
virtual void HandleSetupUser ()
 
void ReadMutableSetupPars ()
 Read setup parameters from the camera device, which may mutate.
 
virtual void HandleParPreWriteUser (ifw::core::utils::param::Parameter &par)
 
virtual void HandleParPostWriteUser (ifw::core::utils::param::Parameter &par)
 
virtual void HandleParPostReadUser (ifw::core::utils::param::Parameter &par)
 
const NameMappingGetNameMapping () const
 
virtual void SetAcqTriggerUser ()
 Specific implementation of the algorithm to trigger an acquisition.
 
- Public Member Functions inherited from ifw::ccf::Base
 Base ()
 
 ~Base ()
 
const std::string & GetClassName () const
 Return the allocated name of the class.
 

Protected Attributes

std::unique_ptr< ifw::ccf::tools::llnetio::rtms2ccflib::RtmsCcfReceiverm_rtms_receiver
 
std::unique_ptr< std::thread > m_receiver_thread
 
int8_t m_bytes_per_pixel
 
int m_width {0}
 
int m_height {0}
 
std::string m_ip_address
 
std::string m_interface_name
 
int m_port
 
std::string m_data_type_str
 
std::optional< ifw::fnd::datatype::DataType > m_data_type
 
int m_queue_size
 
int m_mtu_size
 
int m_topic_id {10}
 
ifw::rtmslib::ExtendedInfoMode m_ext_info_mode
 
int64_t m_previous_lost_frames_count {-1}
 
- Protected Attributes inherited from ifw::ccf::common::ComAdptBase
bool m_is_connected
 
AcqTrigger m_acq_trigger
 

Additional Inherited Members

- Static Public Member Functions inherited from ifw::ccf::common::ComAdptBase
static std::string ResolveHostname (const std::string &address)
 
- Static Public Member Functions inherited from ifw::ccf::Base
static ifw::ccf::mptk::ManagerMptk ()
 Return reference to internal MPTK instance (singleton).
 
- Protected Member Functions inherited from ifw::ccf::common::ComAdptBase
virtual void AdjustExpoTimeFrameRate ()
 
- Protected Member Functions inherited from ifw::ccf::Base
void SetClassName (const std::string &class_name)
 Set the name of the class in question.
 

Detailed Description

CCF Communication Adapter implementing RTMS communication.

Implements ifw::ccf::common::ComAdptBase.

Constructor & Destructor Documentation

◆ ComAdptRtms()

ifw::ccf::protocols::rtms_llnetio::ComAdptRtms::ComAdptRtms ( )

◆ ~ComAdptRtms()

ifw::ccf::protocols::rtms_llnetio::ComAdptRtms::~ComAdptRtms ( )
virtual

Member Function Documentation

◆ InitialiseUser()

void ifw::ccf::protocols::rtms_llnetio::ComAdptRtms::InitialiseUser ( )
overridevirtual

Specific implementation of the adapter/device initialisation. See also "Initialise()".

Reimplemented from ifw::ccf::common::ComAdptBase.

Reimplemented in ifw::ccf::protocols::envision_llnetio::ComAdptEnvision.

◆ ReceiveUser()

void ifw::ccf::protocols::rtms_llnetio::ComAdptRtms::ReceiveUser ( ifw::ccf::common::DataFrame & frame,
bool & frame_received,
const double timeout,
bool & timed_out )
overridevirtual

Specific implementation of the frame reception. See also "Receive()".

Reimplemented from ifw::ccf::common::ComAdptBase.

Reimplemented in ifw::ccf::protocols::envision_llnetio::ComAdptEnvision.

◆ StartUser()

void ifw::ccf::protocols::rtms_llnetio::ComAdptRtms::StartUser ( )
overridevirtual

Specific implementation of the algorithm to start the image acquisition in the device. See also "Start()".

Reimplemented from ifw::ccf::common::ComAdptBase.

Reimplemented in ifw::ccf::protocols::envision_llnetio::ComAdptEnvision.

◆ StopUser()

void ifw::ccf::protocols::rtms_llnetio::ComAdptRtms::StopUser ( )
overridevirtual

Specific implementation of the algorithm to stop the image acquisition in the device. See also "Stop()".

Reimplemented from ifw::ccf::common::ComAdptBase.

Reimplemented in ifw::ccf::protocols::envision_llnetio::ComAdptEnvision.

Member Data Documentation

◆ m_bytes_per_pixel

int8_t ifw::ccf::protocols::rtms_llnetio::ComAdptRtms::m_bytes_per_pixel
protected

◆ m_data_type

std::optional<ifw::fnd::datatype::DataType> ifw::ccf::protocols::rtms_llnetio::ComAdptRtms::m_data_type
protected

◆ m_data_type_str

std::string ifw::ccf::protocols::rtms_llnetio::ComAdptRtms::m_data_type_str
protected

◆ m_ext_info_mode

ifw::rtmslib::ExtendedInfoMode ifw::ccf::protocols::rtms_llnetio::ComAdptRtms::m_ext_info_mode
protected
Initial value:
{
ifw::rtmslib::ExtendedInfoMode::None}

◆ m_height

int ifw::ccf::protocols::rtms_llnetio::ComAdptRtms::m_height {0}
protected

◆ m_interface_name

std::string ifw::ccf::protocols::rtms_llnetio::ComAdptRtms::m_interface_name
protected

◆ m_ip_address

std::string ifw::ccf::protocols::rtms_llnetio::ComAdptRtms::m_ip_address
protected

◆ m_mtu_size

int ifw::ccf::protocols::rtms_llnetio::ComAdptRtms::m_mtu_size
protected

◆ m_port

int ifw::ccf::protocols::rtms_llnetio::ComAdptRtms::m_port
protected

◆ m_previous_lost_frames_count

int64_t ifw::ccf::protocols::rtms_llnetio::ComAdptRtms::m_previous_lost_frames_count {-1}
protected

◆ m_queue_size

int ifw::ccf::protocols::rtms_llnetio::ComAdptRtms::m_queue_size
protected

◆ m_receiver_thread

std::unique_ptr<std::thread> ifw::ccf::protocols::rtms_llnetio::ComAdptRtms::m_receiver_thread
protected

◆ m_rtms_receiver

std::unique_ptr<ifw::ccf::tools::llnetio::rtms2ccflib::RtmsCcfReceiver> ifw::ccf::protocols::rtms_llnetio::ComAdptRtms::m_rtms_receiver
protected

◆ m_topic_id

int ifw::ccf::protocols::rtms_llnetio::ComAdptRtms::m_topic_id {10}
protected

◆ m_width

int ifw::ccf::protocols::rtms_llnetio::ComAdptRtms::m_width {0}
protected

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