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,5 +6,15 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17") | ||
6 | aux_source_directory(3rdparty/libmodbus DIRSRCS) | 6 | aux_source_directory(3rdparty/libmodbus DIRSRCS) |
7 | include_directories(3rdparty/libmodbus include) | 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 | +}; |