1#ifndef IV_SRC_COMMS_NMEA_NMEA0183COMMUNICATIONCONTROLLER_HPP_
2#define IV_SRC_COMMS_NMEA_NMEA0183COMMUNICATIONCONTROLLER_HPP_
14 public std::enable_shared_from_this<Nmea0183CommunicationController>
20 const std::shared_ptr<iv::model::comms::NetworkData> &networkData);
30 void addChannel(
const std::shared_ptr<iv::channels::AbstractChannel> &channel)
override;
32 bool frame()
override;
36 const std::vector<NmeaChannelBinding> &channels);
40 const std::vector<NmeaChannelBinding> &channels);
42 std::map<iv::types::comms::nmea0183::nmeaHeader, std::vector<NmeaChannelBinding>>
m_channelBindings;
Definition ICommunicationController.hpp:23
Definition Nmea0183CommunicationController.cpp:12
Definition Nmea0183CommunicationController.hpp:15
bool frame() override
This function is called periodically to handle the nmea0183 communication. It reads nmea0183 messages...
Definition Nmea0183CommunicationController.cpp:95
void processSimpleHeader(const std::shared_ptr< Nmea0183CommunicationProtocol > &protocol, const iv::types::comms::nmea0183::nmeaHeader &channelHeader, const std::vector< NmeaChannelBinding > &channels)
Definition Nmea0183CommunicationController.cpp:170
Nmea0183CommunicationController(const Nmea0183CommunicationController &other)=delete
void initialize() override
This function creates the nmea0183 protocol and start the comms thread.
Definition Nmea0183CommunicationController.cpp:73
iv::model::comms::nmea0183::Settings m_nmeaSettings
Definition Nmea0183CommunicationController.hpp:43
Nmea0183CommunicationController & operator=(const Nmea0183CommunicationController &other)=delete
void addChannel(const std::shared_ptr< iv::channels::AbstractChannel > &channel) override
add channel to the communication and reads to wich header and field it's assigned
Definition Nmea0183CommunicationController.cpp:53
Nmea0183CommunicationController(const std::shared_ptr< ICommunicationDriver > &driver, const std::shared_ptr< iv::model::comms::NetworkData > &networkData)
Definition Nmea0183CommunicationController.cpp:33
void processCompoundHeader(const std::shared_ptr< Nmea0183CommunicationProtocol > &protocol, const iv::types::comms::nmea0183::nmeaHeader &channelHeader, const std::vector< NmeaChannelBinding > &channels)
Definition Nmea0183CommunicationController.cpp:211
~Nmea0183CommunicationController() override=default
std::map< iv::types::comms::nmea0183::nmeaHeader, std::vector< NmeaChannelBinding > > m_channelBindings
Definition Nmea0183CommunicationController.hpp:42
iv::types::timestamp m_lastFrameTime
Definition Nmea0183CommunicationController.hpp:44
Nmea0183CommunicationController(Nmea0183CommunicationController &&other)=delete
Nmea0183CommunicationController & operator=(const Nmea0183CommunicationController &&other)=delete
std::string nmeaHeader
Definition defines.hpp:47
uint64_t timestamp
Definition types.hpp:21
Definition Nmea0183Settings.hpp:11