connectionconfig.h
2.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
/*
* Copyright (c) 2022 Peter M. Groen
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#pragma once
#include <string>
namespace osdev {
namespace components {
namespace modbus {
class ConnectionConfig
{
public:
enum class E_CONNECTIONTYPE
{
SERIAL,
TCP,
UNKNOWN
};
enum class E_PARITY
{
ODD,
EVEN,
NONE
};
enum class E_BAUDRATE
{
R1200 = 1200,
R2400 = 2400,
R4800 = 4800,
R9600 = 9600,
R19200 = 19200,
R38400 = 38400,
R57600 = 57600,
R76800 = 76800,
R115200 = 115200
};
ConnectionConfig();
// Getters and Setters
void setConnectionType( E_CONNECTIONTYPE type ) { m_conType = type; }
E_CONNECTIONTYPE getConnectionType() const { return m_conType; }
void setPortName(const std::string &port_name) { m_portName = port_name; }
std::string getPortName() { return m_portName; }
void setBaudRate( E_BAUDRATE baud_rate ) { m_baudRate = baud_rate; }
E_BAUDRATE getBaudRate() const { return m_baudRate; }
void setParity(E_PARITY parity) { m_parity = parity; }
E_PARITY getParity() const { return m_parity; }
void setDataBits(int data_bits) { m_dataBits = data_bits; }
int getDataBits() const { return m_dataBits; }
void setStopBits(int stop_bits) { m_stopBits = stop_bits; }
int getStopBits() const { return m_stopBits; }
void setIpAddress(const std::string &ip_address) { m_ipAddress = ip_address; }
std::string getIpAddress() const { return m_ipAddress; }
void setPortNumber(unsigned int port_number) { m_portNumber = port_number; }
unsigned int getPortNumber() const { return m_portNumber; }
void setFrameTimeout(int frame_timeout) { m_frameTimeOut = frame_timeout; }
int getFrameTimeout() const { return m_frameTimeOut; }
private:
E_CONNECTIONTYPE m_conType = E_CONNECTIONTYPE::UNKNOWN;
std::string m_portName;
E_BAUDRATE m_baudRate = E_BAUDRATE::R9600;
E_PARITY m_parity = E_PARITY::NONE;
int m_dataBits = 8;
int m_stopBits = 1;
std::string m_ipAddress{};
unsigned int m_portNumber = 502;
int m_frameTimeOut = -1;
};
} // End namespace modbus
} // End namespace components
} // End namespace osdev