Commit 32017af3be074e9e763967ce7a43bb98bd509e80
1 parent
f45a5332
Setting up working version
Showing
5 changed files
with
87 additions
and
2 deletions
CMakeLists.txt
... | ... | @@ -6,5 +6,15 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17") |
6 | 6 | aux_source_directory(3rdparty/libmodbus DIRSRCS) |
7 | 7 | include_directories(3rdparty/libmodbus include) |
8 | 8 | |
9 | -set(SOURCE_FILES tests/main.cpp) | |
10 | -add_executable(main ${SOURCE_FILES} ${DIRSRCS}) | |
9 | +set(SOURCE_FILES | |
10 | + tests/main.cpp | |
11 | + src/ConnectionConfig.h | |
12 | + src/IModbusAdapter.h | |
13 | + src/ModbusAdapter.h | |
14 | + src/ModbusAdapter.cpp | |
15 | +) | |
16 | + | |
17 | +add_executable(main | |
18 | + ${SOURCE_FILES} | |
19 | + ${DIRSRCS} | |
20 | +) | ... | ... |
src/ConnectionConfig.h
0 → 100644
1 | +#pragma once | |
2 | + | |
3 | +#include <string> | |
4 | + | |
5 | +enum class ConnectionPort | |
6 | +{ | |
7 | + CP_EXTERNAL, | |
8 | + CP_IOBUS, | |
9 | + CP_TCP | |
10 | +}; | |
11 | + | |
12 | +enum class Parity | |
13 | +{ | |
14 | + P_ODD, | |
15 | + P_EVEN, | |
16 | + P_NONE | |
17 | +}; | |
18 | + | |
19 | +class ConnectionConfig | |
20 | +{ | |
21 | +public: | |
22 | + ConnectionConfig( ConnectionPort port, int baud = 115200, Parity parity = Parity::P_NONE, int dataBits = 8, int stopBits = 1 ) | |
23 | + { | |
24 | + | |
25 | + } | |
26 | + | |
27 | + ConnectionConfig( ConnectionPort port, const std::string &ip, int portnum, int timeOut = -1 ) | |
28 | + { | |
29 | + | |
30 | + } | |
31 | + | |
32 | +private: | |
33 | + | |
34 | + /// Serial connections | |
35 | + ConnectionPort m_serPort; | |
36 | + int m_baudRate; | |
37 | + Parity m_parity; | |
38 | + int m_dataBits; | |
39 | + int m_stopBits; | |
40 | + | |
41 | + /// TCP connections | |
42 | + | |
43 | +}; | ... | ... |
src/IModbusAdapter.h
0 → 100644
src/ModbusAdapter.cpp
0 → 100644
src/ModbusAdapter.h
0 → 100644
1 | +/***************************************************************************** | |
2 | + * Copyright (c) 2022 Priva b.v. | |
3 | + *****************************************************************************/ | |
4 | + | |
5 | +#pragma once | |
6 | + | |
7 | +#include "ConnectionConfig.h" | |
8 | +#include "IModbusAdapter.h" | |
9 | + | |
10 | +/// \brief This class represents a single modbus context. Each context will | |
11 | +/// result in an instance of this class. It is not intended to be | |
12 | +/// created directly but through a factory. The factory will create | |
13 | +/// the object and return the pointer to its interface. | |
14 | + | |
15 | +class ModbusAdapter : public IModbusAdapter | |
16 | +{ | |
17 | +public: | |
18 | + ModbusAdapter(); | |
19 | + virtual ~ModbusAdapter(); | |
20 | + | |
21 | + void ModbusConnectRTU(const ConnectionConfig &conncfg); | |
22 | +}; | ... | ... |