From 2cb7e67df8bdbd07f4eefe2de2c1792e81890f65 Mon Sep 17 00:00:00 2001 From: trabus322 Date: Wed, 20 Mar 2024 16:39:25 +0100 Subject: [PATCH] changed to long long for windows --- inc/hoymiles/dtu.h | 6 +++--- inc/hoymiles/microinverter.h | 4 ++-- inc/hoymiles/portParameters/portParametersGeneric.h | 2 +- src/hoymiles/dtu.cpp | 12 ++++++------ src/hoymiles/microinverter.cpp | 2 +- src/hoymiles/portParameters/portParameters.cpp | 2 +- .../portParameters/portParametersGeneric.cpp | 2 +- src/main.cpp | 4 ++-- 8 files changed, 17 insertions(+), 17 deletions(-) diff --git a/inc/hoymiles/dtu.h b/inc/hoymiles/dtu.h index 68c01b4..fcd136e 100644 --- a/inc/hoymiles/dtu.h +++ b/inc/hoymiles/dtu.h @@ -18,7 +18,7 @@ class Dtu { void populateMicroinverters(); - std::pair getMicroinverterBySerialNumber(long serialNumber); + std::pair getMicroinverterBySerialNumber(long long serialNumber); public: Dtu(const char *ip_address, int port); @@ -27,11 +27,11 @@ class Dtu { // void updateMicroinverters(); - void updateMicroinverters(std::vector ¶metersToGet, bool allParameters, std::vector µinvertersToGet); + void updateMicroinverters(std::vector ¶metersToGet, bool allParameters, std::vector µinvertersToGet); // void printMicroinverters(); - void printMicroinverters(std::vector ¶metersToGet, bool allParameters, std::vector µinvertersToGet); + void printMicroinverters(std::vector ¶metersToGet, bool allParameters, std::vector µinvertersToGet); ~Dtu(); }; diff --git a/inc/hoymiles/microinverter.h b/inc/hoymiles/microinverter.h index d6964a4..3927fd0 100644 --- a/inc/hoymiles/microinverter.h +++ b/inc/hoymiles/microinverter.h @@ -24,9 +24,9 @@ class Microinverter { public: Microinverter( - std::shared_ptr modbus, long serialNumber); + std::shared_ptr modbus, long long serialNumber); - long serialNumber; + long long serialNumber; std::vector ports; diff --git a/inc/hoymiles/portParameters/portParametersGeneric.h b/inc/hoymiles/portParameters/portParametersGeneric.h index 1567bb9..23ed5a0 100644 --- a/inc/hoymiles/portParameters/portParametersGeneric.h +++ b/inc/hoymiles/portParameters/portParametersGeneric.h @@ -24,7 +24,7 @@ class PortParameter { enum PortParameterValueType { Int, Float }; union PortParameterValue { - long i; + long long i; float f; }; diff --git a/src/hoymiles/dtu.cpp b/src/hoymiles/dtu.cpp index d12b31e..0127a31 100644 --- a/src/hoymiles/dtu.cpp +++ b/src/hoymiles/dtu.cpp @@ -46,7 +46,7 @@ void Dtu::populateMicroinverters() { PortParameterMicroinverterSerialNumber portParameterMicroinverterSerialNumber{}; portParameterMicroinverterSerialNumber.updateValue(this->modbus, portStartAddress); - long serialNumber = portParameterMicroinverterSerialNumber.getValue().first.i; + long long serialNumber = portParameterMicroinverterSerialNumber.getValue().first.i; std::pair getMicroinverterBySerialNumber = this->getMicroinverterBySerialNumber(serialNumber); if(getMicroinverterBySerialNumber.first) { @@ -64,7 +64,7 @@ void Dtu::populateMicroinverters() { } } -std::pair Dtu::getMicroinverterBySerialNumber(long serialNumber) { +std::pair Dtu::getMicroinverterBySerialNumber(long long serialNumber) { std::vector::iterator microinvertersIterator = this->microinverters.begin(); while(microinvertersIterator != this->microinverters.end()) { if(microinvertersIterator->serialNumber == serialNumber) { @@ -77,7 +77,7 @@ std::pair Dtu::getMicroinverterBySerialNumber(long serialN return std::pair(false, &*microinvertersIterator); } -void Dtu::updateMicroinverters(std::vector ¶metersToGet, bool allParameters, std::vector µinvertersToGet) { +void Dtu::updateMicroinverters(std::vector ¶metersToGet, bool allParameters, std::vector µinvertersToGet) { if(microinvertersToGet.empty()) { std::vector::iterator microinvertersIterator = this->microinverters.begin(); while(microinvertersIterator != this->microinverters.end()) { @@ -86,7 +86,7 @@ void Dtu::updateMicroinverters(std::vector ¶metersToGet, bool a } } - std::vector::iterator microinvertersToGetIterator = microinvertersToGet.begin(); + std::vector::iterator microinvertersToGetIterator = microinvertersToGet.begin(); while(microinvertersToGetIterator != microinvertersToGet.end()) { std::pair microinverterPair = this->getMicroinverterBySerialNumber(*microinvertersToGetIterator); if(microinverterPair.first) { @@ -96,7 +96,7 @@ void Dtu::updateMicroinverters(std::vector ¶metersToGet, bool a } } -void Dtu::printMicroinverters(std::vector ¶metersToGet, bool allParameters, std::vector µinvertersToGet) { +void Dtu::printMicroinverters(std::vector ¶metersToGet, bool allParameters, std::vector µinvertersToGet) { if(microinvertersToGet.empty()) { std::vector::iterator microinvertersIterator = this->microinverters.begin(); while(microinvertersIterator != this->microinverters.end()) { @@ -105,7 +105,7 @@ void Dtu::printMicroinverters(std::vector ¶metersToGet, bool al } } - std::vector::iterator microinvertersToGetIterator = microinvertersToGet.begin(); + std::vector::iterator microinvertersToGetIterator = microinvertersToGet.begin(); while(microinvertersToGetIterator != microinvertersToGet.end()) { std::pair microinverterPair = this->getMicroinverterBySerialNumber(*microinvertersToGetIterator); if(microinverterPair.first) { diff --git a/src/hoymiles/microinverter.cpp b/src/hoymiles/microinverter.cpp index 87eb2ea..3a0a6f6 100644 --- a/src/hoymiles/microinverter.cpp +++ b/src/hoymiles/microinverter.cpp @@ -8,7 +8,7 @@ #include "microinverter.h" #include "port.h" -Microinverter::Microinverter(std::shared_ptr modbus, long serialNumber) { +Microinverter::Microinverter(std::shared_ptr modbus, long long serialNumber) { this->modbus = modbus; // this->modbus_context_mutex = modbus_context_mutex; diff --git a/src/hoymiles/portParameters/portParameters.cpp b/src/hoymiles/portParameters/portParameters.cpp index 1672503..9119df6 100644 --- a/src/hoymiles/portParameters/portParameters.cpp +++ b/src/hoymiles/portParameters/portParameters.cpp @@ -17,7 +17,7 @@ void PortParameterMicroinverterSerialNumber::setValueFromRegisters(uint16_t *rea readValueStringStream << std::hex << readValue; readValueString.append(readValueStringStream.str()); } - this->value.i = std::stol(readValueString); + this->value.i = std::stoll(readValueString); } PortParameterPortNumber::PortParameterPortNumber() : PortParameterInt("portNumber", 0x0007, 1), PortParameter("portNumber", 0x0007, 1) {} diff --git a/src/hoymiles/portParameters/portParametersGeneric.cpp b/src/hoymiles/portParameters/portParametersGeneric.cpp index 85477c1..6f03928 100644 --- a/src/hoymiles/portParameters/portParametersGeneric.cpp +++ b/src/hoymiles/portParameters/portParametersGeneric.cpp @@ -82,7 +82,7 @@ void PortParameterInt::setValueFromRegisters(uint16_t *readArray, int registerCo readValue = readArray[i]; readValueString.append(std::to_string(readValue)); } - this->value.i = std::stol(readValueString); + this->value.i = std::stoll(readValueString); } std::string PortParameterInt::getOutputValue() { diff --git a/src/main.cpp b/src/main.cpp index 72ff890..705d14b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -43,9 +43,9 @@ int main(int argc, char **argv) { std::string ignoreNotConnectedHelp{"Ignore connection errors"}; hoymilesClient.add_flag("-I,--ignore_conn_error", ignoreNotConnected, ignoreNotConnectedHelp); - std::vector microinvertersToGet{}; + std::vector microinvertersToGet{}; std::string microinvertersToGetHelp{"List of microinverters to fetch, if omitted all are fetched, delimited by ','"}; - hoymilesClient.add_option>("-m,--microinverters", microinvertersToGet, microinvertersToGetHelp)->delimiter(','); + hoymilesClient.add_option>("-m,--microinverters", microinvertersToGet, microinvertersToGetHelp)->delimiter(','); try { hoymilesClient.parse(argc, argv);