9 #ifndef SERIALINTERFACE_H
10 #define SERIALINTERFACE_H
The low-level serial communication class.
XsBaudRate getBaudrate(void) const
Return the baudrate that is currently being used by the port.
XsResultValue escape(XsControlLine mask, XsControlLine state)
Manipulate the Serial control lines.
SerialInterface()
Default constructor, initializes all members to their default values.
uint16_t getPortNumber(void) const
Retrieve the port number that was last successfully opened.
XsIoHandle m_handle
The serial port handle, also indicates if the port is open or not.
bool isOpen(void) const
Return whether the communication port is open or not.
XsResultValue getLastResult(void) const
Return the error code of the last operation.
char m_portname[32]
The name of the open serial port.
XsResultValue waitForData(XsSize maxLength, XsByteArray &data)
Wait for data to arrive or a timeout to occur.
XsResultValue close(void)
Close the serial communication port.
void cancelIo(void) const
Cancel any pending io requests.
XsIoHandle getHandle(void) const
Return the handle of the port.
XsResultValue closeLive(void)
Close the serial communication port.
virtual ~SerialInterface()
Destructor, de-initializes, frees memory allocated for buffers, etc.
uint16_t m_port
The opened COM port nr.
XsResultValue open(const XsPortInfo &portInfo, uint32_t readBufSize=XS_DEFAULT_READ_BUFFER_SIZE, uint32_t writeBufSize=XS_DEFAULT_WRITE_BUFFER_SIZE)
Open a communication channel to the given port info.
uint32_t m_endTime
The time at which an operation will end in ms, used by several functions.
uint32_t getTimeout(void) const
Return the current timeout value.
void getPortName(XsString &portname) const
Retrieve the port name that was last successfully opened.
XsBaudRate m_baudrate
The baudrate that was last set to be used by the port.
XsResultValue m_lastResult
The last result of an operation.
XsResultValue flushData(void)
Flush all data in the buffers to and from the device.
XsResultValue writeData(const XsByteArray &data, XsSize *written=0)
Write the data contained in data to the device.
XsResultValue readData(XsSize maxLength, XsByteArray &data)
Read data from the serial port and put it into the data buffer.
XsResultValue setTimeout(uint32_t ms)
Set the default timeout value to use in blocking operations.
GLsizei GLsizei GLenum GLenum const GLvoid * data
XsResultValue
Xsens result values.
XsControlLine
Serial control lines.
#define XS_DEFAULT_READ_BUFFER_SIZE
The default size of the serial read buffer in bytes.
#define XS_DEFAULT_WRITE_BUFFER_SIZE
The default size of the serial write buffer in bytes.
unsigned __int16 uint16_t
unsigned __int32 uint32_t
#define XSENS_DISABLE_COPY(className)
Add this macro to the start of a class definition to prevent automatic creation of copy functions.
XsBaudRate
Communication speed.
struct XsByteArray XsByteArray
size_t XsSize
XsSize must be unsigned number!