diff options
| author | Ján Sučan <sucanjan@fit.cvut.cz> | 2017-05-10 15:13:29 +0200 |
|---|---|---|
| committer | Ján Sučan <sucanjan@fit.cvut.cz> | 2017-05-10 15:13:29 +0200 |
| commit | 02e24f0f533fe904c3a5275c4060c10c38d7c17a (patch) | |
| tree | 19d05c60e3d6a6782c4712de960a8f6705054063 /SerialPort/SerialPort.hpp | |
Uvodny commit, subory su rovnake ako na CD prilozenom k vytlacenemu texu bakalarskej prace, naviac je pridany len subor LICENCIA
Diffstat (limited to 'SerialPort/SerialPort.hpp')
| -rwxr-xr-x | SerialPort/SerialPort.hpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/SerialPort/SerialPort.hpp b/SerialPort/SerialPort.hpp new file mode 100755 index 0000000..90bb87f --- /dev/null +++ b/SerialPort/SerialPort.hpp @@ -0,0 +1,37 @@ +#ifndef SERIAL_PORT_H +#define SERIAL_PORT_H 1 + +#include <iostream> +#include <cstdint> + +using std::string; + +class CSerialPort { +protected: + int mReadTimeoutMs; // Miliseconds + + virtual ssize_t readSingle(uint8_t *data, int data_length) = 0; + virtual ssize_t writeSingle(uint8_t *data, int data_length) = 0; +public: + virtual ~CSerialPort() { ; }; + + virtual void open(string portName, string speed) = 0; + virtual string getSpeeds(string portName) = 0; + + virtual void close() = 0; + + void setReadTimeout(int ms); + void setDefaultTimeout(); + + void writeWord(uint16_t w); + uint16_t readWord(); + uint32_t readDoubleWord(); + void read(uint8_t *data, int data_length); + void write(uint8_t *data, int data_length, int padd); + void sendSafeByte(uint8_t b); + void sendSafeWord(uint16_t w); + void sendSafeDoubleWord(uint32_t w); + +}; + +#endif |
