3 #ifndef SERIAL_IMPL_WINDOWS_H 4 #define SERIAL_IMPL_WINDOWS_H 14 using std::invalid_argument;
19 explicit SerialImpl (
const string &port,
20 unsigned long baudrate,
26 virtual ~SerialImpl ();
36 bool waitReadable (uint32_t timeout);
38 void waitByteTimes (
size_t count);
40 int waitfordata(
size_t data_count, uint32_t timeout,
size_t * returned_size);
42 size_t read (uint8_t *buf,
size_t size = 1);
44 size_t write (
const uint8_t *data,
size_t length);
52 void sendBreak (
int duration);
54 bool setBreak (
bool level);
56 bool setRTS (
bool level);
58 bool setDTR (
bool level);
60 bool waitForChange ();
70 uint32_t getByteTime();
72 void setPort (
const string &port);
74 string getPort ()
const;
76 void setTimeout (Timeout &timeout);
78 Timeout getTimeout ()
const;
80 bool setBaudrate (
unsigned long baudrate);
82 unsigned long getBaudrate ()
const;
101 bool setDcb(DCB *dcb);
104 bool getDcb(DCB *dcb);
115 bool reconfigurePort ();
119 DEFAULT_RX_BUFFER_SIZE = 2048,
120 DEFAULT_TX_BUFFER_SIZE = 128,
129 OVERLAPPED communicationOverlapped;
130 OVERLAPPED readCompletionOverlapped;
131 OVERLAPPED writeCompletionOverlapped;
132 DWORD originalEventMask;
133 DWORD triggeredEventMask;
135 COMMTIMEOUTS currentCommTimeouts;
136 COMMTIMEOUTS restoredCommTimeouts;
141 unsigned long baudrate_;
142 uint32_t byte_time_ns_;
157 #endif // SERIAL_IMPL_WINDOWS_H 159 #endif // if defined(_WIN32) parity_t
Definition: serial.h:26
bytesize_t
Definition: serial.h:16
size_t write(const uint8_t *data, size_t length)
Definition: unix_serial.cpp:777
stopbits_t
Definition: serial.h:37
Definition: unix_serial.h:27
flowcontrol_t
Definition: serial.h:46