SBB Host
Host communication with the self balancing bike.
Loading...
Searching...
No Matches
HostPort.h
Go to the documentation of this file.
1
2#ifndef HOSTPORT_H
3#define HOSTPORT_H
4
5#include "Serial.h"
6#include <memory>
7
18class HostPort {
19public:
20
25
30
37 bool begin(unsigned int port, unsigned int baud);
38
47 bool begin(unsigned int port, unsigned int baud, unsigned int header, unsigned int terminator);
48
58 bool begin(unsigned int port, unsigned int baud, unsigned int header, unsigned int terminator, unsigned int timeout);
59
67 bool read(unsigned char* packetPtr, unsigned int size);
68
76 bool write(unsigned char* packetPtr, unsigned int size);
77
83 bool close(void);
84
90 bool restart(void);
91
96 bool setPort(unsigned int port);
97
102 bool setBaud(unsigned int baud);
103
108 bool setHeader(unsigned int header); //set the header
109
114 bool setTerminator(unsigned int terminator);
115
120 unsigned int getPort(void);
121
126 unsigned int getBaud(void);
127
132 unsigned int getHeader(void);
133
138 unsigned int getTerminator(void);
139
144 bool isInit(void); //check if is init
145
150 operator bool() { return isInit(); }
151
152 static constexpr unsigned int HEADER = 0xFF812345;
153 static constexpr unsigned int TERMINATOR = 0xFF8CABDE;
154 static constexpr unsigned int TIMEOUT = 100;
155
156private:
158 unsigned int _port;
159 unsigned int _baud;
160 unsigned int _terminator;
161 unsigned int _header;
162 unsigned int _timeout;
163 unsigned char _tx_buf[1024];
164 bool _isFirstRead = false;
165 bool init(unsigned int port, unsigned int baud, unsigned int timeout);
166 static constexpr unsigned int MASK = 0xFF;
167};
168
169#endif
A class for host communication via serial port.
Definition: HostPort.h:18
unsigned char _tx_buf[1024]
Tx buffer.
Definition: HostPort.h:163
bool setPort(unsigned int port)
Set the serial port.
static constexpr unsigned int TIMEOUT
Default timeout.
Definition: HostPort.h:154
~HostPort()
Desctructor.
unsigned int getPort(void)
Get the serial port.
bool _isFirstRead
True if firt packer read.
Definition: HostPort.h:164
bool read(unsigned char *packetPtr, unsigned int size)
Read data buffer.
Serial serial
Serial object.
Definition: HostPort.h:157
static constexpr unsigned int MASK
Mask for parsing.
Definition: HostPort.h:166
unsigned int getTerminator(void)
Get the terminator.
unsigned int _port
Serial port.
Definition: HostPort.h:158
unsigned int _header
Header bytes.
Definition: HostPort.h:161
bool close(void)
Close the host port.
bool begin(unsigned int port, unsigned int baud)
Begin the host port.
unsigned int getBaud(void)
Get the baudate.
bool setBaud(unsigned int baud)
Set the baudrate.
bool setHeader(unsigned int header)
Set the header.
bool setTerminator(unsigned int terminator)
Set the terminator.
bool write(unsigned char *packetPtr, unsigned int size)
Write data buffer.
static constexpr unsigned int HEADER
Default header.
Definition: HostPort.h:152
static constexpr unsigned int TERMINATOR
Default terminator.
Definition: HostPort.h:153
unsigned int _baud
Baudrate.
Definition: HostPort.h:159
bool isInit(void)
Check if host port is open.
bool begin(unsigned int port, unsigned int baud, unsigned int header, unsigned int terminator)
Begin the host port.
HostPort()
Constructor.
unsigned int _timeout
Timeout.
Definition: HostPort.h:162
bool restart(void)
Restart the host port.
bool begin(unsigned int port, unsigned int baud, unsigned int header, unsigned int terminator, unsigned int timeout)
Begin the host port.
unsigned int _terminator
Terminator bytes.
Definition: HostPort.h:160
unsigned int getHeader(void)
Get the header.
bool init(unsigned int port, unsigned int baud, unsigned int timeout)
Private initialization function.
A class for serial communication.
Definition: Serial.h:41