1 #ifndef _VN_XPLAT_SERIALPORT_H_
2 #define _VN_XPLAT_SERIALPORT_H_
5 #pragma comment(lib, "setupapi.lib")
13 #include "boostpython.h"
56 SerialPort(
const std::string& portName, uint32_t baudrate);
68 static std::vector<std::string> getPortNames();
74 virtual bool isOpen();
76 virtual void write(
const char data[],
size_t length);
78 virtual void read(
char dataBuffer[],
size_t numOfBytesToRead,
size_t &numOfBytesActuallyRead);
80 virtual void registerDataReceivedHandler(
void* userData, DataReceivedHandler handler);
82 virtual void unregisterDataReceivedHandler();
97 void changeBaudrate(uint32_t br);
107 void setStopBits(StopBits stopBits);
115 size_t NumberOfReceiveDataDroppedSections();
122 static bool determineIfPortIsOptimized(std::string portName);
130 static void optimizePort(std::string portName);
132 #if PYTHON && !PL156_ORIGINAL && !PL156_FIX_ATTEMPT_1
134 virtual void stopThread();
135 virtual void resumeThread();
136 virtual bool threadStopped();
Interface for a simple port.
Definition: port.h:12
Represents a cross-platform serial port.
Definition: serialport.h:34
Identifies a derived class as being unable to be copied and prevents copy attempts.
Definition: nocopy.h:21