Handles communication with and configuration of the mosaic (and beyond) receiver(s)
More...
#include <communication_core.hpp>
Handles communication with and configuration of the mosaic (and beyond) receiver(s)
Definition at line 96 of file communication_core.hpp.
◆ CommunicationCore()
◆ ~CommunicationCore()
io::CommunicationCore::~CommunicationCore |
( |
| ) |
|
◆ configureRx()
void io::CommunicationCore::configureRx |
( |
| ) |
|
Configures Rx: Which SBF/NMEA messages it should output and later correction settings.
The send() method of AsyncManager class is paramount for this purpose. Note that std::to_string() is from C++11 onwards only. Since ROSaic can be launched before booting the Rx, we have to watch out for escape characters that are sent by the Rx to indicate that it is in upgrade mode. Those characters would then be mingled with the first command we send to it in this method and could result in an invalid command. Hence we first enter command mode via "SSSSSSSSSS".
Definition at line 267 of file communication_core.cpp.
◆ connect()
void io::CommunicationCore::connect |
( |
| ) |
|
◆ initializeIo()
bool io::CommunicationCore::initializeIo |
( |
| ) |
|
|
private |
◆ processTelegrams()
void io::CommunicationCore::processTelegrams |
( |
| ) |
|
|
private |
◆ resetMainConnection()
std::string io::CommunicationCore::resetMainConnection |
( |
| ) |
|
|
private |
Reset main connection so it can receive commands.
- Returns
- Main connection descriptor
Definition at line 944 of file communication_core.cpp.
◆ resetSettings()
void io::CommunicationCore::resetSettings |
( |
| ) |
|
|
private |
◆ send()
void io::CommunicationCore::send |
( |
const std::string & |
cmd | ) |
|
|
private |
◆ sendVelocity()
void io::CommunicationCore::sendVelocity |
( |
const std::string & |
velNmea | ) |
|
Hands over NMEA velocity message over to the send() method of manager_.
- Parameters
-
cmd | The command to hand over |
Definition at line 938 of file communication_core.cpp.
◆ initializedIo_
bool io::CommunicationCore::initializedIo_ = false |
|
private |
◆ mainConnectionPort_
std::string io::CommunicationCore::mainConnectionPort_ |
|
private |
◆ manager_
Processes I/O stream data This declaration is deliberately stream-independent (Serial or TCP).
Definition at line 167 of file communication_core.hpp.
◆ nmeaActivated_
bool io::CommunicationCore::nmeaActivated_ = false |
|
private |
◆ node_
◆ processingThread_
std::thread io::CommunicationCore::processingThread_ |
|
private |
◆ running_
std::atomic<bool> io::CommunicationCore::running_ |
|
private |
◆ settings_
const Settings* io::CommunicationCore::settings_ |
|
private |
◆ streamPort_
std::string io::CommunicationCore::streamPort_ |
|
private |
◆ tcpClient_
◆ telegramHandler_
◆ telegramQueue_
◆ udpClient_
std::unique_ptr<UdpClient> io::CommunicationCore::udpClient_ |
|
private |
The documentation for this class was generated from the following files: