Common
common packages for kyubic
 
Loading...
Searching...
No Matches
serial::Serial Class Reference

serial communication class More...

#include <serial.hpp>

Public Member Functions

 Serial (const char *portname, const int baudrate)
 serial communication setting
 
 ~Serial ()
 port closing
 
void write (const uint8_t *buffer, const size_t len)
 write data via serial communication
 
ssize_t read (uint8_t *buf, const size_t len)
 read data via serial communication
 
ssize_t read (uint8_t *buf, const size_t len, const std::chrono::duration< long, std::ratio< 1, 1000 > > timeout)
 read data via serial communication, with timeout
 
ssize_t read_until (uint8_t *buf, const size_t len, const char end_char, std::chrono::duration< long, std::ratio< 1, 1000 > > timeout)
 read data until a terminating character is received, with timeout
 
void setConfig (const int _baudrate)
 configure serial communication settings
 
void setTermios ()
 set termios settings
 
void getTermios ()
 get termios settings
 
void flush ()
 flush buffer
 

Public Attributes

int fd
 

Detailed Description

serial communication class

Constructor & Destructor Documentation

◆ Serial()

serial::Serial::Serial ( const char *  portname,
const int  baudrate 
)
explicit

serial communication setting

Parameters
portnameport name of serial device
baudratebaudrate of serial communication

settings such as port opening and communication speed

◆ ~Serial()

serial::Serial::~Serial ( )

port closing

Member Function Documentation

◆ flush()

void serial::Serial::flush ( )

flush buffer

◆ getTermios()

void serial::Serial::getTermios ( )

get termios settings

Returns
none

get termios settings and store in tty

◆ read() [1/2]

ssize_t serial::Serial::read ( uint8_t *  buf,
const size_t  len 
)

read data via serial communication

Parameters
bufvaliable to store the reading data
lenbytes of reading data
Returns
ssize_t byte of read data

◆ read() [2/2]

ssize_t serial::Serial::read ( uint8_t *  buf,
const size_t  len,
const std::chrono::duration< long, std::ratio< 1, 1000 > >  timeout 
)

read data via serial communication, with timeout

Parameters
bufvaliable to store the reading data
lenbytes of reading data
timeouttimeout time
Returns
ssize_t byte of read data

wait until the specified number of bytes is received. However, after the specified time has elapsed, it times out.

◆ read_until()

ssize_t serial::Serial::read_until ( uint8_t *  buf,
const size_t  len,
const char  end_char,
std::chrono::duration< long, std::ratio< 1, 1000 > >  timeout 
)

read data until a terminating character is received, with timeout

Parameters
bufvaliable to store the reading data
lenbytes of reading data
end_charcharacter indicating the end of data
timeouttimeout time
Returns
ssize_t byte of read data

wait until the specified character is received. However, after the specified time has elapsed, it times out.

◆ setConfig()

void serial::Serial::setConfig ( const int  _baudrate)

configure serial communication settings

Parameters
_baudratebaudrate of serial communication
Returns
none

settings such as baudrate, cflag, iflag and oflag

◆ setTermios()

void serial::Serial::setTermios ( )

set termios settings

Returns
none

configure settings stored in tty

◆ write()

void serial::Serial::write ( const uint8_t *  buffer,
const size_t  len 
)

write data via serial communication

Parameters
bufwriting data
lenlength of buf
Returns
none

write only len of data in buf

Member Data Documentation

◆ fd

int serial::Serial::fd

The documentation for this class was generated from the following files: