Class that handles the communication with 7.X.X firmware devices. More...
#include <qbrobotics_research_api.h>

Classes | |
| struct | ConnectedDeviceInfo |
| Structure containing information about the type of device connected. More... | |
Public Member Functions | |
| virtual uint8_t | checksum (const std::vector< uint8_t > &data, uint32_t size) |
| virtual int | closeSerialPort (const std::string &serial_port_name) |
| Close the serial port if it belongs to the opened port set. More... | |
| Communication () | |
| Communication (const serial::Serial::Timeout &timeout) | |
| Communication (uint32_t baud_rate) | |
| Communication (uint32_t baud_rate, const serial::Serial::Timeout &timeout) | |
| virtual int | createSerialPort (const std::string &serial_port_name) |
put in the class map serial_ports_ a newly created shared pointer Serial class that provides a portable serial port interface. More... | |
| virtual int | createSerialPort (const std::string &serial_port_name, const serial::Serial::Timeout &timeout) |
put in the class map serial_ports_ a newly created shared pointer Serial class that provides a portable serial port interface. More... | |
| virtual int | createSerialPort (const std::string &serial_port_name, uint32_t baud_rate) |
put in the class map serial_ports_ a newly created shared pointer Serial class that provides a portable serial port interface. More... | |
| virtual int | createSerialPort (const std::string &serial_port_name, uint32_t baud_rate, const serial::Serial::Timeout &timeout) |
put in the class map serial_ports_ a newly created shared pointer Serial class that provides a portable serial port interface. More... | |
| virtual int | deserializePackage (const std::vector< uint8_t > &package_in, uint8_t &device_id, uint8_t &command) |
| virtual int | deserializePackage (const std::vector< uint8_t > &package_in, uint8_t &device_id, uint8_t &command, std::vector< int8_t > &data) |
| std::map< std::string, std::shared_ptr< serial::Serial > > | getSerialPorts () |
| virtual int | listConnectedDevices () |
| virtual int | listConnectedDevices (const std::string &serial_port_name, std::vector< ConnectedDeviceInfo > &device_ids) |
| List all the device id connected to the serial port. More... | |
| virtual int | listSerialPorts (std::vector< serial::PortInfo > &serial_ports_info) |
| List all the serial ports with a qbrobotics device connected. More... | |
| virtual int | openSerialPort (const std::string &serial_port_name) |
| Open the serial communication on the given serial port. More... | |
| virtual int | openSerialPort (const std::string &serial_port_name, serial::Serial::Timeout &timeout) |
| Open the serial communication on the given serial port with the default baudate. More... | |
| virtual int | openSerialPort (const std::string &serial_port_name, uint32_t baud_rate) |
| Open the serial communication on the given serial port with the default timeout. More... | |
| virtual int | openSerialPort (const std::string &serial_port_name, uint32_t baud_rate, serial::Serial::Timeout &timeout) |
| Open the serial communication on the given serial port. More... | |
| virtual int | parsePackage (const std::string &serial_port_name, uint8_t device_id, uint8_t command) |
| virtual int | parsePackage (const std::string &serial_port_name, uint8_t device_id, uint8_t command, std::vector< int8_t > &data_in) |
| virtual int | readPackage (const std::string &serial_port_name, std::vector< uint8_t > &package_in) |
| virtual int | readPackage (const std::string &serial_port_name, uint8_t &device_id, uint8_t &command) |
| virtual int | readPackage (const std::string &serial_port_name, uint8_t &device_id, uint8_t &command, std::vector< int8_t > &data) |
| virtual int | sendCommand (const std::string &serial_port_name, uint8_t device_id, uint8_t command) |
| virtual int | sendCommand (const std::string &serial_port_name, uint8_t device_id, uint8_t command, const std::vector< int8_t > &data_out) |
| virtual int | sendCommandAndParse (const std::string &serial_port_name, uint8_t device_id, uint8_t command) |
| virtual int | sendCommandAndParse (const std::string &serial_port_name, uint8_t device_id, uint8_t command, const std::vector< int8_t > &data_out) |
| virtual int | sendCommandAndParse (const std::string &serial_port_name, uint8_t device_id, uint8_t command, const std::vector< int8_t > &data_out, std::vector< int8_t > &data_in) |
| virtual int | sendCommandAndParse (const std::string &serial_port_name, uint8_t device_id, uint8_t command, std::vector< int8_t > &data_in) |
| virtual int | sendCommandAndParse (const std::string &serial_port_name, uint8_t device_id, uint8_t command, uint8_t max_repeats) |
| virtual int | sendCommandAndParse (const std::string &serial_port_name, uint8_t device_id, uint8_t command, uint8_t max_repeats, const std::vector< int8_t > &data_out) |
| virtual int | sendCommandAndParse (const std::string &serial_port_name, uint8_t device_id, uint8_t command, uint8_t max_repeats, const std::vector< int8_t > &data_out, std::vector< int8_t > &data_in) |
| virtual int | sendCommandAndParse (const std::string &serial_port_name, uint8_t device_id, uint8_t command, uint8_t max_repeats, std::vector< int8_t > &data_in) |
| virtual int | sendCommandBroadcast (const std::string &serial_port_name, uint8_t command) |
| virtual int | sendCommandBroadcast (const std::string &serial_port_name, uint8_t command, const std::vector< int8_t > &data_out) |
| virtual int | serializePackage (uint8_t device_id, uint8_t command, const std::vector< int8_t > &data, std::vector< uint8_t > &package_out) |
| virtual int | serializePackage (uint8_t device_id, uint8_t command, std::vector< uint8_t > &package_out) |
| virtual int | writePackage (const std::string &serial_port_name, const std::vector< uint8_t > &package_out) |
| virtual int | writePackage (const std::string &serial_port_name, uint8_t device_id, uint8_t command) |
| virtual int | writePackage (const std::string &serial_port_name, uint8_t device_id, uint8_t command, const std::vector< int8_t > &data) |
| virtual | ~Communication ()=default |
Static Public Member Functions | |
| template<class T > | |
| static void | swapBytes (std::vector< T > &vector) |
| template<class T > | |
| static void | swapBytes (T &x) |
| template<class S , class T > | |
| static std::vector< S > | vectorCast (std::vector< T > vector) |
| template<class S , class T > | |
| static std::vector< S > | vectorCastAndSwap (std::vector< T > vector) |
| template<class S , class T > | |
| static std::vector< S > | vectorSwapAndCast (std::vector< T > vector) |
Protected Member Functions | |
| Communication (const Communication &communication) | |
| Communication (const Communication &communication, const serial::Serial::Timeout &timeout) | |
| bool | isInSerialPorts (const std::string &serial_port_name) |
| bool | isInSerialPortsInfo (const std::string &serial_port_name) |
| void | SetUp () override |
| void | TearDown () override |
Protected Attributes | |
| std::map< std::string, std::vector< ConnectedDeviceInfo > > | connected_devices_ |
| std::vector< std::unique_ptr< qbroboticsResearchAPI::Device > > | devices_ |
| std::vector< std::unique_ptr< qbroboticsResearchAPI::Device > > | devices_not_init_ |
| std::unique_ptr< qbroboticsResearchAPI::Device > | fake_device_ |
| std::shared_ptr< qbroboticsResearchAPI::Communication > | handler_ |
| std::vector< serial::PortInfo > | serial_ports_ |
| std::map< std::string, std::shared_ptr< serial::Serial > > | serial_ports_ |
| uint32_t | serial_ports_baud_rate_ |
| std::map< std::string, std::set< uint8_t > > | serial_ports_ids_ |
| std::map< std::string, serial::PortInfo > | serial_ports_info_ |
| serial::Serial::Timeout | serial_ports_timeout_ |
Class that handles the communication with 7.X.X firmware devices.
Definition at line 50 of file qbrobotics_research_api.h.
| Communication::Communication | ( | ) |
Definition at line 36 of file qbrobotics_research_api.cpp.
|
explicit |
Definition at line 39 of file qbrobotics_research_api.cpp.
|
explicit |
Definition at line 42 of file qbrobotics_research_api.cpp.
|
explicit |
Definition at line 45 of file qbrobotics_research_api.cpp.
|
virtualdefault |
|
explicitprotected |
Definition at line 49 of file qbrobotics_research_api.cpp.
|
explicitprotected |
Definition at line 52 of file qbrobotics_research_api.cpp.
|
virtual |
Definition at line 453 of file qbrobotics_research_api.cpp.
|
virtual |
Close the serial port if it belongs to the opened port set.
| serial_port_name | serial port to close |
Definition at line 149 of file qbrobotics_research_api.cpp.
|
virtual |
put in the class map serial_ports_ a newly created shared pointer Serial class that provides a portable serial port interface.
This method use default baud rate and timeout.
| serial_port_name |
Definition at line 163 of file qbrobotics_research_api.cpp.
|
virtual |
put in the class map serial_ports_ a newly created shared pointer Serial class that provides a portable serial port interface.
This method use default baud rate.
| serial_port_name | |
| timeout |
Definition at line 171 of file qbrobotics_research_api.cpp.
|
virtual |
put in the class map serial_ports_ a newly created shared pointer Serial class that provides a portable serial port interface.
This method use default timeout.
| serial_port_name | |
| baud_rate |
Definition at line 167 of file qbrobotics_research_api.cpp.
|
virtual |
put in the class map serial_ports_ a newly created shared pointer Serial class that provides a portable serial port interface.
| serial_port_name | |
| baud_rate | |
| timeout |
Definition at line 175 of file qbrobotics_research_api.cpp.
|
virtual |
Definition at line 337 of file qbrobotics_research_api.cpp.
|
virtual |
Reimplemented in qbrobotics_research_api::CommunicationLegacy.
Definition at line 342 of file qbrobotics_research_api.cpp.
|
inline |
Definition at line 227 of file qbrobotics_research_api.h.
|
protected |
Definition at line 463 of file qbrobotics_research_api.cpp.
|
protected |
Definition at line 467 of file qbrobotics_research_api.cpp.
|
virtual |
Definition at line 95 of file qbrobotics_research_api.cpp.
|
virtual |
List all the device id connected to the serial port.
| serial_port_name | serial port name | |
| [out] | device_ids | vector of ConnectedDeviceInfo |
Definition at line 108 of file qbrobotics_research_api.cpp.
|
virtual |
List all the serial ports with a qbrobotics device connected.
| serial_ports_info | vector of serial::PortInfo |
Definition at line 59 of file qbrobotics_research_api.cpp.
|
virtual |
Open the serial communication on the given serial port.
| serial_port_name | the serial port name |
Definition at line 188 of file qbrobotics_research_api.cpp.
|
virtual |
Open the serial communication on the given serial port with the default baudate.
| serial_port_name | the serial port name |
| timeout |
Definition at line 196 of file qbrobotics_research_api.cpp.
|
virtual |
Open the serial communication on the given serial port with the default timeout.
| serial_port_name | the serial port name |
| baud_rate |
Definition at line 192 of file qbrobotics_research_api.cpp.
|
virtual |
Open the serial communication on the given serial port.
| serial_port_name | the serial port name |
| baud_rate | |
| timeout |
Definition at line 200 of file qbrobotics_research_api.cpp.
|
virtual |
Definition at line 221 of file qbrobotics_research_api.cpp.
|
virtual |
Reimplemented in qbrobotics_research_api::CommunicationLegacy.
Definition at line 226 of file qbrobotics_research_api.cpp.
|
virtual |
Reimplemented in qbrobotics_research_api::CommunicationLegacy.
Definition at line 388 of file qbrobotics_research_api.cpp.
|
virtual |
Definition at line 372 of file qbrobotics_research_api.cpp.
|
virtual |
Reimplemented in qbrobotics_research_api::CommunicationLegacy.
Definition at line 380 of file qbrobotics_research_api.cpp.
|
virtual |
Definition at line 254 of file qbrobotics_research_api.cpp.
|
virtual |
Definition at line 259 of file qbrobotics_research_api.cpp.
|
virtual |
Definition at line 269 of file qbrobotics_research_api.cpp.
|
virtual |
Definition at line 287 of file qbrobotics_research_api.cpp.
|
virtual |
Definition at line 296 of file qbrobotics_research_api.cpp.
|
virtual |
Definition at line 278 of file qbrobotics_research_api.cpp.
|
virtual |
Definition at line 273 of file qbrobotics_research_api.cpp.
|
virtual |
Definition at line 291 of file qbrobotics_research_api.cpp.
|
virtual |
Reimplemented in qbrobotics_research_api::CommunicationLegacy.
Definition at line 300 of file qbrobotics_research_api.cpp.
|
virtual |
Definition at line 282 of file qbrobotics_research_api.cpp.
|
virtual |
Definition at line 326 of file qbrobotics_research_api.cpp.
|
virtual |
Definition at line 332 of file qbrobotics_research_api.cpp.
|
virtual |
Definition at line 418 of file qbrobotics_research_api.cpp.
|
virtual |
Definition at line 413 of file qbrobotics_research_api.cpp.
|
inlineoverrideprotected |
Definition at line 87 of file qbrobotics_research_api_communication.cpp.
|
inlinestatic |
Definition at line 204 of file qbrobotics_research_api.h.
|
inlinestatic |
Definition at line 197 of file qbrobotics_research_api.h.
|
inlineoverrideprotected |
Definition at line 129 of file qbrobotics_research_api_communication.cpp.
|
inlinestatic |
Definition at line 210 of file qbrobotics_research_api.h.
|
inlinestatic |
Definition at line 216 of file qbrobotics_research_api.h.
|
inlinestatic |
Definition at line 222 of file qbrobotics_research_api.h.
|
virtual |
Definition at line 442 of file qbrobotics_research_api.cpp.
|
virtual |
Definition at line 430 of file qbrobotics_research_api.cpp.
|
virtual |
Definition at line 436 of file qbrobotics_research_api.cpp.
|
protected |
Definition at line 233 of file qbrobotics_research_api.h.
|
protected |
Definition at line 134 of file qbrobotics_research_api_communication.cpp.
|
protected |
Definition at line 135 of file qbrobotics_research_api_communication.cpp.
|
protected |
Definition at line 136 of file qbrobotics_research_api_communication.cpp.
|
protected |
Definition at line 133 of file qbrobotics_research_api_communication.cpp.
|
protected |
Definition at line 131 of file qbrobotics_research_api_communication.cpp.
|
protected |
Definition at line 235 of file qbrobotics_research_api.h.
|
protected |
Definition at line 237 of file qbrobotics_research_api.h.
|
protected |
Definition at line 132 of file qbrobotics_research_api_communication.cpp.
|
protected |
Definition at line 234 of file qbrobotics_research_api.h.
|
protected |
Definition at line 238 of file qbrobotics_research_api.h.