changed to long long for windows

This commit is contained in:
TraYali 2024-03-20 16:39:25 +01:00
parent 170c141576
commit 2cb7e67df8
8 changed files with 17 additions and 17 deletions

View file

@ -18,7 +18,7 @@ class Dtu {
void populateMicroinverters(); void populateMicroinverters();
std::pair<bool, Microinverter*> getMicroinverterBySerialNumber(long serialNumber); std::pair<bool, Microinverter*> getMicroinverterBySerialNumber(long long serialNumber);
public: public:
Dtu(const char *ip_address, int port); Dtu(const char *ip_address, int port);
@ -27,11 +27,11 @@ class Dtu {
// void updateMicroinverters(); // void updateMicroinverters();
void updateMicroinverters(std::vector<std::string> &parametersToGet, bool allParameters, std::vector<long> &microinvertersToGet); void updateMicroinverters(std::vector<std::string> &parametersToGet, bool allParameters, std::vector<long long> &microinvertersToGet);
// void printMicroinverters(); // void printMicroinverters();
void printMicroinverters(std::vector<std::string> &parametersToGet, bool allParameters, std::vector<long> &microinvertersToGet); void printMicroinverters(std::vector<std::string> &parametersToGet, bool allParameters, std::vector<long long> &microinvertersToGet);
~Dtu(); ~Dtu();
}; };

View file

@ -24,9 +24,9 @@ class Microinverter {
public: public:
Microinverter( Microinverter(
std::shared_ptr<class modbus> modbus, long serialNumber); std::shared_ptr<class modbus> modbus, long long serialNumber);
long serialNumber; long long serialNumber;
std::vector<Port> ports; std::vector<Port> ports;

View file

@ -24,7 +24,7 @@ class PortParameter {
enum PortParameterValueType { Int, Float }; enum PortParameterValueType { Int, Float };
union PortParameterValue { union PortParameterValue {
long i; long long i;
float f; float f;
}; };

View file

@ -46,7 +46,7 @@ void Dtu::populateMicroinverters() {
PortParameterMicroinverterSerialNumber portParameterMicroinverterSerialNumber{}; PortParameterMicroinverterSerialNumber portParameterMicroinverterSerialNumber{};
portParameterMicroinverterSerialNumber.updateValue(this->modbus, portStartAddress); portParameterMicroinverterSerialNumber.updateValue(this->modbus, portStartAddress);
long serialNumber = portParameterMicroinverterSerialNumber.getValue().first.i; long long serialNumber = portParameterMicroinverterSerialNumber.getValue().first.i;
std::pair<bool, Microinverter*> getMicroinverterBySerialNumber = this->getMicroinverterBySerialNumber(serialNumber); std::pair<bool, Microinverter*> getMicroinverterBySerialNumber = this->getMicroinverterBySerialNumber(serialNumber);
if(getMicroinverterBySerialNumber.first) { if(getMicroinverterBySerialNumber.first) {
@ -64,7 +64,7 @@ void Dtu::populateMicroinverters() {
} }
} }
std::pair<bool, Microinverter*> Dtu::getMicroinverterBySerialNumber(long serialNumber) { std::pair<bool, Microinverter*> Dtu::getMicroinverterBySerialNumber(long long serialNumber) {
std::vector<Microinverter>::iterator microinvertersIterator = this->microinverters.begin(); std::vector<Microinverter>::iterator microinvertersIterator = this->microinverters.begin();
while(microinvertersIterator != this->microinverters.end()) { while(microinvertersIterator != this->microinverters.end()) {
if(microinvertersIterator->serialNumber == serialNumber) { if(microinvertersIterator->serialNumber == serialNumber) {
@ -77,7 +77,7 @@ std::pair<bool, Microinverter*> Dtu::getMicroinverterBySerialNumber(long serialN
return std::pair<bool, Microinverter*>(false, &*microinvertersIterator); return std::pair<bool, Microinverter*>(false, &*microinvertersIterator);
} }
void Dtu::updateMicroinverters(std::vector<std::string> &parametersToGet, bool allParameters, std::vector<long> &microinvertersToGet) { void Dtu::updateMicroinverters(std::vector<std::string> &parametersToGet, bool allParameters, std::vector<long long> &microinvertersToGet) {
if(microinvertersToGet.empty()) { if(microinvertersToGet.empty()) {
std::vector<Microinverter>::iterator microinvertersIterator = this->microinverters.begin(); std::vector<Microinverter>::iterator microinvertersIterator = this->microinverters.begin();
while(microinvertersIterator != this->microinverters.end()) { while(microinvertersIterator != this->microinverters.end()) {
@ -86,7 +86,7 @@ void Dtu::updateMicroinverters(std::vector<std::string> &parametersToGet, bool a
} }
} }
std::vector<long>::iterator microinvertersToGetIterator = microinvertersToGet.begin(); std::vector<long long>::iterator microinvertersToGetIterator = microinvertersToGet.begin();
while(microinvertersToGetIterator != microinvertersToGet.end()) { while(microinvertersToGetIterator != microinvertersToGet.end()) {
std::pair<bool, Microinverter*> microinverterPair = this->getMicroinverterBySerialNumber(*microinvertersToGetIterator); std::pair<bool, Microinverter*> microinverterPair = this->getMicroinverterBySerialNumber(*microinvertersToGetIterator);
if(microinverterPair.first) { if(microinverterPair.first) {
@ -96,7 +96,7 @@ void Dtu::updateMicroinverters(std::vector<std::string> &parametersToGet, bool a
} }
} }
void Dtu::printMicroinverters(std::vector<std::string> &parametersToGet, bool allParameters, std::vector<long> &microinvertersToGet) { void Dtu::printMicroinverters(std::vector<std::string> &parametersToGet, bool allParameters, std::vector<long long> &microinvertersToGet) {
if(microinvertersToGet.empty()) { if(microinvertersToGet.empty()) {
std::vector<Microinverter>::iterator microinvertersIterator = this->microinverters.begin(); std::vector<Microinverter>::iterator microinvertersIterator = this->microinverters.begin();
while(microinvertersIterator != this->microinverters.end()) { while(microinvertersIterator != this->microinverters.end()) {
@ -105,7 +105,7 @@ void Dtu::printMicroinverters(std::vector<std::string> &parametersToGet, bool al
} }
} }
std::vector<long>::iterator microinvertersToGetIterator = microinvertersToGet.begin(); std::vector<long long>::iterator microinvertersToGetIterator = microinvertersToGet.begin();
while(microinvertersToGetIterator != microinvertersToGet.end()) { while(microinvertersToGetIterator != microinvertersToGet.end()) {
std::pair<bool, Microinverter*> microinverterPair = this->getMicroinverterBySerialNumber(*microinvertersToGetIterator); std::pair<bool, Microinverter*> microinverterPair = this->getMicroinverterBySerialNumber(*microinvertersToGetIterator);
if(microinverterPair.first) { if(microinverterPair.first) {

View file

@ -8,7 +8,7 @@
#include "microinverter.h" #include "microinverter.h"
#include "port.h" #include "port.h"
Microinverter::Microinverter(std::shared_ptr<class modbus> modbus, long serialNumber) { Microinverter::Microinverter(std::shared_ptr<class modbus> modbus, long long serialNumber) {
this->modbus = modbus; this->modbus = modbus;
// this->modbus_context_mutex = modbus_context_mutex; // this->modbus_context_mutex = modbus_context_mutex;

View file

@ -17,7 +17,7 @@ void PortParameterMicroinverterSerialNumber::setValueFromRegisters(uint16_t *rea
readValueStringStream << std::hex << readValue; readValueStringStream << std::hex << readValue;
readValueString.append(readValueStringStream.str()); 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) {} PortParameterPortNumber::PortParameterPortNumber() : PortParameterInt("portNumber", 0x0007, 1), PortParameter("portNumber", 0x0007, 1) {}

View file

@ -82,7 +82,7 @@ void PortParameterInt::setValueFromRegisters(uint16_t *readArray, int registerCo
readValue = readArray[i]; readValue = readArray[i];
readValueString.append(std::to_string(readValue)); readValueString.append(std::to_string(readValue));
} }
this->value.i = std::stol(readValueString); this->value.i = std::stoll(readValueString);
} }
std::string PortParameterInt::getOutputValue() { std::string PortParameterInt::getOutputValue() {

View file

@ -43,9 +43,9 @@ int main(int argc, char **argv) {
std::string ignoreNotConnectedHelp{"Ignore connection errors"}; std::string ignoreNotConnectedHelp{"Ignore connection errors"};
hoymilesClient.add_flag<bool>("-I,--ignore_conn_error", ignoreNotConnected, ignoreNotConnectedHelp); hoymilesClient.add_flag<bool>("-I,--ignore_conn_error", ignoreNotConnected, ignoreNotConnectedHelp);
std::vector<long> microinvertersToGet{}; std::vector<long long> microinvertersToGet{};
std::string microinvertersToGetHelp{"List of microinverters to fetch, if omitted all are fetched, delimited by ','"}; std::string microinvertersToGetHelp{"List of microinverters to fetch, if omitted all are fetched, delimited by ','"};
hoymilesClient.add_option<std::vector<long>>("-m,--microinverters", microinvertersToGet, microinvertersToGetHelp)->delimiter(','); hoymilesClient.add_option<std::vector<long long>>("-m,--microinverters", microinvertersToGet, microinvertersToGetHelp)->delimiter(',');
try { try {
hoymilesClient.parse(argc, argv); hoymilesClient.parse(argc, argv);