rmp_serial.cc
Go to the documentation of this file.
1 #include "segwayrmp/segwayrmp.h"
3 
4 using namespace segwayrmp;
5 
7 // SerialRMPIO
8 
9 SerialRMPIO::SerialRMPIO() : configured(false), baudrate(460800), port("") {
10  this->connected = false;
11 }
12 
14  this->disconnect();
15 }
16 
17 void SerialRMPIO::configure(std::string port, int baudrate) {
18  this->port = port;
19  this->baudrate = baudrate;
20  this->configured = true;
21 }
22 
24  if(!this->configured) {
25  RMP_THROW_MSG(ConnectionFailedException, "The serial port must be "
26  "configured before connecting.");
27  }
28  try {
29  // Configure and open the serial port
30  this->serial_port.setPort(this->port);
31  this->serial_port.setBaudrate(this->baudrate);
33  this->serial_port.setTimeout(timeout);
34  this->serial_port.open();
35  } catch(std::exception &e) {
36  RMP_THROW_MSG(ConnectionFailedException, e.what());
37  }
38  this->connected = true;
39 }
40 
42  if(this->connected) {
43  if(this->serial_port.isOpen())
44  this->serial_port.close();
45  this->connected = false;
46  }
47 }
48 
49 int SerialRMPIO::read(unsigned char* buffer, int size) {
50  return this->serial_port.read(buffer, size);
51 }
52 
53 int SerialRMPIO::write(unsigned char* buffer, int size) {
54  return this->serial_port.write(buffer, size);
55 }
timeout
void configure(std::string port, int baudrate)
Definition: rmp_serial.cc:17
serial::Serial serial_port
Definition: rmp_serial.h:99
void setTimeout(Timeout &timeout)
void setBaudrate(uint32_t baudrate)
int read(unsigned char *buffer, int size)
Definition: rmp_serial.cc:49
bool connected
Definition: rmp_io.h:129
int write(unsigned char *buffer, int size)
Definition: rmp_serial.cc:53
static Timeout simpleTimeout(uint32_t timeout)
bool isOpen() const
void setPort(const std::string &port)
size_t read(uint8_t *buffer, size_t size)
size_t write(const uint8_t *data, size_t size)
#define RMP_THROW_MSG(ExceptionClass, Message)
Definition: segwayrmp.h:83


libsegwayrmp
Author(s): William Woodall
autogenerated on Mon Jun 10 2019 13:46:49