#pragma once #include "ehs/EHS.h" namespace ehs { enum class Parity : UInt_8 { NONE, ODD, EVEN, MARK, SPACE }; enum class StopBits : UInt_8 { ONE, ONE_POINT_FIVE, TWO }; class EHS_LIB_IO COM { private: UInt_8 port; UInt_32 baudRate; UInt_8 byteSize; Parity parity; StopBits stopBits; void* hdl; bool initialized; public: COM(); COM(const UInt_8 port, const UInt_32 baudRate, const UInt_8 byteSize, const Parity parity, const StopBits stopBits); COM(const COM& com) = default; void Initialize(); void UnInitialize(); UInt_32 Wait(); void Transmit(const Char_8 data); UInt_32 Send(const Char_8* data, const UInt_32 size); UInt_32 Receive(const Char_8* data, const UInt_32 size); void Flush(); }; }