Moved a bunch of stuff, starting to read registers
This commit is contained in:
parent
65b4644fe4
commit
974ae853b9
17 changed files with 47 additions and 55 deletions
|
|
@ -4,13 +4,13 @@ project(hoymilesClient VERSION 0.1.0 LANGUAGES C CXX)
|
||||||
include(CTest)
|
include(CTest)
|
||||||
enable_testing()
|
enable_testing()
|
||||||
|
|
||||||
include_directories(inc)
|
include_directories(inc inc/libmodbus)
|
||||||
|
|
||||||
file(GLOB SOURCES src/*.cpp src/*.c)
|
file(GLOB SOURCES src/*.cpp src/libmodbus/*.c)
|
||||||
|
|
||||||
add_executable(hoymilesClient_exec ${SOURCES})
|
add_executable(hoymilesClient_exec ${SOURCES})
|
||||||
|
|
||||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_SOURCE_DIR}/inc/config.h)
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_SOURCE_DIR}/inc/libmodbus/config.h)
|
||||||
|
|
||||||
set(CPACK_PROJECT_NAME ${PROJECT_NAME})
|
set(CPACK_PROJECT_NAME ${PROJECT_NAME})
|
||||||
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
|
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
|
||||||
|
|
|
||||||
19
inc/hoymiles.h
Normal file
19
inc/hoymiles.h
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
#ifndef HOYMILES_H
|
||||||
|
#define HOYMILES_H
|
||||||
|
|
||||||
|
struct _modbus;
|
||||||
|
typedef _modbus modbus_t;
|
||||||
|
|
||||||
|
class Dtu{
|
||||||
|
private:
|
||||||
|
modbus_t *modbus_t;
|
||||||
|
|
||||||
|
public:
|
||||||
|
Dtu(const char *ip_address, int port);
|
||||||
|
|
||||||
|
void readTest();
|
||||||
|
|
||||||
|
~Dtu();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
16
src/hoymiles.cpp
Normal file
16
src/hoymiles.cpp
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
#include "hoymiles.h"
|
||||||
|
#include "modbus.h"
|
||||||
|
|
||||||
|
Dtu::Dtu(const char *ip_address, int port){
|
||||||
|
this->modbus_t = modbus_new_tcp(ip_address, port);
|
||||||
|
modbus_connect(this->modbus_t);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Dtu::readTest(){
|
||||||
|
uint16_t tempArray[32];
|
||||||
|
modbus_read_registers(this->modbus_t, 0x13ef, 1, tempArray);
|
||||||
|
}
|
||||||
|
|
||||||
|
Dtu::~Dtu(){
|
||||||
|
delete this->modbus_t;
|
||||||
|
}
|
||||||
10
src/main.cpp
10
src/main.cpp
|
|
@ -1,8 +1,16 @@
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
#include "hoymiles.h"
|
||||||
|
#include "modbus.h"
|
||||||
|
|
||||||
int main(){
|
int main(){
|
||||||
|
|
||||||
std::cout << "Hello world";
|
std::string ip_address {"192.168.31.136"};
|
||||||
|
int port {502};
|
||||||
|
|
||||||
|
Dtu dtu {ip_address.c_str(), port};
|
||||||
|
dtu.readTest();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
@ -1,51 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright © Stéphane Raimbault <stephane.raimbault@gmail.com>
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
|
||||||
* License as published by the Free Software Foundation; either
|
|
||||||
* version 2.1 of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This library is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
* Lesser General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with this library; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef MODBUS_VERSION_H
|
|
||||||
#define MODBUS_VERSION_H
|
|
||||||
|
|
||||||
/* The major version, (1, if %LIBMODBUS_VERSION is 1.2.3) */
|
|
||||||
#define LIBMODBUS_VERSION_MAJOR (@LIBMODBUS_VERSION_MAJOR@)
|
|
||||||
|
|
||||||
/* The minor version (2, if %LIBMODBUS_VERSION is 1.2.3) */
|
|
||||||
#define LIBMODBUS_VERSION_MINOR (@LIBMODBUS_VERSION_MINOR@)
|
|
||||||
|
|
||||||
/* The micro version (3, if %LIBMODBUS_VERSION is 1.2.3) */
|
|
||||||
#define LIBMODBUS_VERSION_MICRO (@LIBMODBUS_VERSION_MICRO@)
|
|
||||||
|
|
||||||
/* The full version, like 1.2.3 */
|
|
||||||
#define LIBMODBUS_VERSION @LIBMODBUS_VERSION@
|
|
||||||
|
|
||||||
/* The full version, in string form (suited for string concatenation)
|
|
||||||
*/
|
|
||||||
#define LIBMODBUS_VERSION_STRING "@LIBMODBUS_VERSION@"
|
|
||||||
|
|
||||||
/* Numerically encoded version, eg. v1.2.3 is 0x010203 */
|
|
||||||
#define LIBMODBUS_VERSION_HEX \
|
|
||||||
((LIBMODBUS_VERSION_MAJOR << 16) | (LIBMODBUS_VERSION_MINOR << 8) | \
|
|
||||||
(LIBMODBUS_VERSION_MICRO << 0))
|
|
||||||
|
|
||||||
/* Evaluates to True if the version is greater than @major, @minor and @micro
|
|
||||||
*/
|
|
||||||
#define LIBMODBUS_VERSION_CHECK(major, minor, micro) \
|
|
||||||
(LIBMODBUS_VERSION_MAJOR > (major) || \
|
|
||||||
(LIBMODBUS_VERSION_MAJOR == (major) && LIBMODBUS_VERSION_MINOR > (minor)) || \
|
|
||||||
(LIBMODBUS_VERSION_MAJOR == (major) && LIBMODBUS_VERSION_MINOR == (minor) && \
|
|
||||||
LIBMODBUS_VERSION_MICRO >= (micro)))
|
|
||||||
|
|
||||||
#endif /* MODBUS_VERSION_H */
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue