Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
structs.hpp
Go to the documentation of this file.
1#ifndef IV_SRC_COMMS_SERIAL_STRUCTS_HPP_
2#define IV_SRC_COMMS_SERIAL_STRUCTS_HPP_
3
5#include "core/defines.hpp"
6
7namespace iv::comms::serial
8{
9
16struct Timeout
17{
18 static uint32_t max()
19 {
20 return std::numeric_limits<uint32_t>::max();
21 }
22
28 static iv::comms::serial::Timeout simpleTimeout(const uint32_t timeout)
29 {
30 return Timeout(max(), timeout, 0, timeout, 0);
31 }
32
33 explicit Timeout(const uint32_t _interByteTimeout = 0, const uint32_t _readTimeoutConstant = 0,
34 const uint32_t _readTimeoutMultiplier = 0, const uint32_t _writeTimeoutConstant = 0,
35 const uint32_t _writeTimeoutMultiplier = 0)
36 : interByteTimeout(_interByteTimeout), readTimeoutConstant(_readTimeoutConstant),
37 readTimeoutMultiplier(_readTimeoutMultiplier), writeTimeoutConstant(_writeTimeoutConstant),
38 writeTimeoutMultiplier(_writeTimeoutMultiplier)
39 {
40 }
41
42 /* Number of milliseconds between bytes received to timeout on. */
44 /* A constant number of milliseconds to wait after calling read. */
46 /* A multiplier against the number of requested bytes to wait after calling read.*/
48 /* A constant number of milliseconds to wait after calling write. */
50 /* A multiplier against the number of requested bytes to wait after calling write.*/
52};
53
54}// namespace iv::comms::serial
55
56#endif//IV_SRC_COMMS_SERIAL_STRUCTS_HPP_
Definition enums.hpp:11
Definition structs.hpp:17
uint32_t readTimeoutMultiplier
Definition structs.hpp:47
uint32_t writeTimeoutConstant
Definition structs.hpp:49
uint32_t interByteTimeout
Definition structs.hpp:43
static uint32_t max()
Definition structs.hpp:18
uint32_t writeTimeoutMultiplier
Definition structs.hpp:51
static iv::comms::serial::Timeout simpleTimeout(const uint32_t timeout)
Definition structs.hpp:28
Timeout(const uint32_t _interByteTimeout=0, const uint32_t _readTimeoutConstant=0, const uint32_t _readTimeoutMultiplier=0, const uint32_t _writeTimeoutConstant=0, const uint32_t _writeTimeoutMultiplier=0)
Definition structs.hpp:33
uint32_t readTimeoutConstant
Definition structs.hpp:45