27 #if defined (_WIN32) || defined (_WIN64)
33 #if defined (__linux__) || defined(__APPLE__)
35 #include <sys/types.h>
43 #include <sys/ioctl.h>
48 #define UNUSED(x) (void)(x)
106 char openDevice(
const char *Device,
const unsigned int Bauds,
125 char readChar (
char *pByte,
const unsigned int timeOut_ms=0);
140 unsigned int maxNbBytes,
141 const unsigned int timeOut_ms=0);
150 char writeBytes (
const void *Buffer,
const unsigned int NbBytes);
153 int readBytes (
void *buffer,
unsigned int maxNbBytes,
const unsigned int timeOut_ms=0,
unsigned int sleepDuration_us=100);
176 bool DTR(
bool status);
181 bool RTS(
bool status);
206 int readStringNoTimeOut (
char *String,
char FinalChar,
unsigned int MaxNbBytes);
209 bool currentStateRTS;
210 bool currentStateDTR;
216 #if defined (_WIN32) || defined( _WIN64)
220 COMMTIMEOUTS timeouts;
222 #if defined (__linux__) || defined(__APPLE__)
249 struct timeval previousTime;
This class is used for communication over a serial device.
Definition: serialib.h:85
bool setRTS()
Set the bit RTS (pin 7) RTS stands for Data Terminal Ready.
Definition: serialib.cpp:806
serialib()
Constructor of the class serialib.
Definition: serialib.cpp:29
bool DTR(bool status)
Set or unset the bit DTR (pin 4) DTR stands for Data Terminal Ready Convenience method :This method c...
Definition: serialib.cpp:721
bool isDSR()
Get the DSR's status (pin 6) DSR stands for Data Set Ready.
Definition: serialib.cpp:878
bool isDTR()
Get the DTR's status (pin 4) DTR stands for Data Terminal Ready May behave abnormally on Windows.
Definition: serialib.cpp:947
int available()
Return the number of bytes in the received buffer (UNIX only)
Definition: serialib.cpp:686
char flushReceiver()
Empty receiver buffer.
Definition: serialib.cpp:667
bool RTS(bool status)
Set or unset the bit RTS (pin 7) RTS stands for Data Termina Ready Convenience method :This method ca...
Definition: serialib.cpp:789
bool isDCD()
Get the DCD's status (pin 1) CDC stands for Data Carrier Detect.
Definition: serialib.cpp:904
bool isRI()
Get the RING's status (pin 9) Ring Indicator.
Definition: serialib.cpp:925
char writeString(const char *String)
Write a string on the current serial port.
Definition: serialib.cpp:359
char readChar(char *pByte, const unsigned int timeOut_ms=0)
Wait for a byte from the serial device and return the data read.
Definition: serialib.cpp:425
bool setDTR()
Set the bit DTR (pin 4) DTR stands for Data Terminal Ready.
Definition: serialib.cpp:738
void closeDevice()
Close the connection with the current device.
Definition: serialib.cpp:303
char writeBytes(const void *Buffer, const unsigned int NbBytes)
Write an array of data on the current serial port.
Definition: serialib.cpp:393
char writeChar(char)
Write a char on the current serial port.
Definition: serialib.cpp:327
int readBytes(void *buffer, unsigned int maxNbBytes, const unsigned int timeOut_ms=0, unsigned int sleepDuration_us=100)
Read an array of bytes from the serial device (with timeout)
Definition: serialib.cpp:599
bool clearRTS()
Clear the bit RTS (pin 7) RTS stands for Data Terminal Ready.
Definition: serialib.cpp:831
int readString(char *receivedString, char finalChar, unsigned int maxNbBytes, const unsigned int timeOut_ms=0)
Read a string from the serial device (with timeout)
Definition: serialib.cpp:525
bool isRTS()
Get the RTS's status (pin 7) RTS stands for Request To Send May behave abnormally on Windows.
Definition: serialib.cpp:968
~serialib()
Destructor of the class serialib. It close the connection.
Definition: serialib.cpp:43
bool isCTS()
Get the CTS's status (pin 8) CTS stands for Clear To Send.
Definition: serialib.cpp:856
bool clearDTR()
Clear the bit DTR (pin 4) DTR stands for Data Terminal Ready.
Definition: serialib.cpp:761
char openDevice(const char *Device, const unsigned int Bauds, SerialDataBits Databits=SERIAL_DATABITS_8, SerialParity Parity=SERIAL_PARITY_NONE, SerialStopBits Stopbits=SERIAL_STOPBITS_1)
Open the serial port.
Definition: serialib.cpp:124
This class can manage a timer which is used as a timeout.
Definition: serialib.h:235
timeOut()
Constructor of the class timeOut.
Definition: serialib.cpp:995
void initTimer()
Initialise the timer. It writes the current time of the day in the structure PreviousTime.
Definition: serialib.cpp:1003
unsigned long int elapsedTime_ms()
Returns the time elapsed since initialization. It write the current time of the day in the structure ...
Definition: serialib.cpp:1014
SerialDataBits
Definition: serialib.h:53
@ SERIAL_DATABITS_5
Definition: serialib.h:54
@ SERIAL_DATABITS_16
Definition: serialib.h:58
@ SERIAL_DATABITS_8
Definition: serialib.h:57
@ SERIAL_DATABITS_7
Definition: serialib.h:56
@ SERIAL_DATABITS_6
Definition: serialib.h:55
SerialParity
Definition: serialib.h:73
@ SERIAL_PARITY_EVEN
Definition: serialib.h:75
@ SERIAL_PARITY_SPACE
Definition: serialib.h:78
@ SERIAL_PARITY_MARK
Definition: serialib.h:77
@ SERIAL_PARITY_NONE
Definition: serialib.h:74
@ SERIAL_PARITY_ODD
Definition: serialib.h:76
SerialStopBits
Definition: serialib.h:64
@ SERIAL_STOPBITS_2
Definition: serialib.h:67
@ SERIAL_STOPBITS_1
Definition: serialib.h:65
@ SERIAL_STOPBITS_1_5
Definition: serialib.h:66