Go to the documentation of this file.
91 explicit Timeout(uint32_t read_write_constant)
93 :
Timeout((
std::numeric_limits<uint32_t>::max)(), read_write_constant, 0, read_write_constant, 0) {}
104 explicit Timeout(uint32_t inter_byte, uint32_t read_constant, uint32_t read_multiplier, uint32_t write_constant, uint32_t write_multiplier)
128 std::chrono::steady_clock::time_point
getReadDeadline(
size_t size = 0) {
146 return std::chrono::duration_cast<std::chrono::microseconds>(deadline - std::chrono::steady_clock::now());
150 std::chrono::duration<uint32_t, std::milli>
inter_byte_;
170 explicit Serial(
const std::string &port_name =
"", uint32_t baudrate = 9600,
Timeout timeout =
Timeout(),
243 size_t read(uint8_t *buffer,
size_t size);
255 size_t read(std::vector<uint8_t> &buffer,
size_t size = 1);
267 size_t read(std::string &buffer,
size_t size = 1);
278 std::string
read(
size_t size = 1);
291 size_t readline(std::string &line,
size_t size = 65536,
const std::string &eol =
"\n");
303 std::string
readline(
size_t size = 65536,
const std::string &eol =
"\n");
316 std::vector<std::string>
readlines(
size_t size = 65536,
const std::string &eol =
"\n");
328 size_t write(
const uint8_t *data,
size_t size);
339 size_t write(
const std::vector<uint8_t> &data);
350 size_t write(
const std::string &data);
358 void setPort(
const std::string &port_name);
385 void setTimeout(uint32_t inter_byte, uint32_t read_constant, uint32_t read_multiplier, uint32_t write_constant, uint32_t write_multiplier);
508 void setRTS(
bool level =
true);
515 void setDTR(
bool level =
true);
556 std::unique_ptr<SerialImpl>
pimpl_;
560 size_t readline_(std::string &line,
size_t size = 65536,
const std::string &eol =
"\n");
566 explicit SerialException(
const std::string &what_arg) :
std::runtime_error(
"Serial Exception: " + what_arg +
".") {}
569 class SerialInvalidArgumentException :
public std::invalid_argument {
575 class SerialIOException :
public std::runtime_error {
578 explicit SerialIOException(
const std::string &what_arg) :
std::runtime_error(
"Serial IO Exception: " + what_arg +
"'.") {}
579 explicit SerialIOException(
const std::string &what_arg, uint32_t error) :
std::runtime_error(
"Serial IO Exception: " + what_arg +
", error has been set to '" +
std::to_string(error) +
"'.") {}
610 int getPortInfo(
const std::string &serial_port_name);
626 int getPortsList(std::vector<std::string> &serial_port_names);
int getPortInfo(const std::string &serial_port_name)
void setBaudrate(uint32_t baudrate)
Timeout getTimeout() const
uint32_t getWriteConstantMilliseconds()
void setTimeout(const Timeout &timeout)
void setPort(const std::string &port_name)
std::chrono::duration< uint32_t, std::milli > read_multiplier_
std::chrono::milliseconds getReadMultiplier()
void setParity(parity_t parity)
SerialPortNotOpenException()
uint32_t getInterByteMilliseconds()
void waitForModemChanges()
size_t readline(std::string &line, size_t size=65536, const std::string &eol="\n")
std::chrono::milliseconds getWriteConstant()
std::chrono::duration< uint32_t, std::milli > inter_byte_
parity_t getParity() const
std::string serial_number
void setRTS(bool level=true)
void setBytesize(bytesize_t bytesize)
uint32_t getWriteMultiplierMilliseconds()
std::chrono::milliseconds getWriteMultiplier()
SerialInvalidArgumentException()
std::vector< std::string > readlines(size_t size=65536, const std::string &eol="\n")
stopbits_t getStopbits() const
std::chrono::duration< uint32_t, std::milli > read_constant_
uint32_t getReadConstantMilliseconds()
std::unique_ptr< SerialImpl > pimpl_
void setFlowcontrol(flowcontrol_t flowcontrol)
uint32_t getBaudrate() const
std::chrono::steady_clock::time_point getReadDeadline(size_t size=0)
void sendBreak(int duration)
flowcontrol_t getFlowcontrol() const
std::chrono::duration< uint32_t, std::milli > write_constant_
uint32_t getReadMultiplierMilliseconds()
std::chrono::milliseconds getInterByte()
void setStopbits(stopbits_t stopbits)
@ stopbits_one_point_five
std::chrono::milliseconds getReadConstant()
void setDTR(bool level=true)
bytesize_t getBytesize() const
void waitByteTimes(size_t count)
size_t readline_(std::string &line, size_t size=65536, const std::string &eol="\n")
int getPortsList(std::vector< std::string > &serial_port_names)
static std::chrono::microseconds remainingMicroseconds(std::chrono::steady_clock::time_point deadline)
Serial & operator=(const Serial &)=delete
Serial(const std::string &port_name="", uint32_t baudrate=9600, Timeout timeout=Timeout(), bytesize_t bytesize=eightbits, parity_t parity=parity_none, stopbits_t stopbits=stopbits_one, flowcontrol_t flowcontrol=flowcontrol_none)
std::string getPort() const
void setBreak(bool level=true)
int getPortsInfo(std::vector< PortInfo > &serial_ports)
size_t write(const uint8_t *data, size_t size)
size_t read(uint8_t *buffer, size_t size)
std::chrono::steady_clock::time_point getWriteDeadline(size_t size=0)
std::chrono::duration< uint32_t, std::milli > write_multiplier_
qb_device_driver
Author(s): qbroboticsĀ®
autogenerated on Thu Apr 27 2023 02:36:32