5#define FIFO_BUF_SIZE 262144
7#if defined(WIN32) || defined(_WIN32) || defined(__WIN32) || defined(__WIN32__) || defined(WIN64) || defined(_WIN64) || defined(__WIN64) || defined(__WIN64__)
11#elif defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNUC__) || defined(__GNUG__) || defined(unix) || defined(__unix) || defined(__unix__)
16#error OS not supported
22#define PORT_STR "\\\\.\\COM%u"
27#define sprintf_s(buf, len, ...) snprintf((buf), (len), __VA_ARGS__)
28#define PORT_STR "/dev/ttyACM%u"
46 COMMTIMEOUTS _serialTimeout = { 0 };
54 static constexpr unsigned int TIMEOUT = 10;
80 bool begin(
unsigned int port,
unsigned int baud,
unsigned int timeout);
88 bool begin(
unsigned int port,
unsigned int baud);
114 size_t write(
unsigned char* buf,
size_t len);
128 size_t read(
unsigned char* buf,
size_t len);
A class for serial communication.
Definition: Serial.h:41
size_t read(unsigned char *buf, size_t len)
Read a buffer.
bool begin(unsigned int port, unsigned int baud, unsigned int timeout)
Begin the serial.
void setTimeout(unsigned int timeout)
Set the timeout.
int _serialPort
serial port
Definition: Serial.h:48
static std::vector< int > get_availableSerialPorts(unsigned int maxPortNumber)
Get the available serial ports.
bool end()
Close the serial.
size_t write(unsigned char *buf, size_t len)
Send a buffer.
bool begin(unsigned int port, unsigned int baud)
Begin the serial.
void flush()
Flush the serial.
static constexpr unsigned int TIMEOUT
Default timeout.
Definition: Serial.h:54
unsigned int _timeout
timeout of the serial port
Definition: Serial.h:52
unsigned char read()
Read a byte.
bool _isInit
true if serial has been initialized
Definition: Serial.h:51
struct termios _serialParams
serial param struct
Definition: Serial.h:49
bool write(unsigned char c)
Send a byte.
unsigned int getTimeout()
Get the timeout.