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();
std::pair<bool, Microinverter*> getMicroinverterBySerialNumber(long serialNumber);
std::pair<bool, Microinverter*> getMicroinverterBySerialNumber(long long serialNumber);
public:
Dtu(const char *ip_address, int port);
@ -27,11 +27,11 @@ class Dtu {
// 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(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();
};

View file

@ -24,9 +24,9 @@ class Microinverter {
public:
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;

View file

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

View file

@ -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<bool, Microinverter*> getMicroinverterBySerialNumber = this->getMicroinverterBySerialNumber(serialNumber);
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();
while(microinvertersIterator != this->microinverters.end()) {
if(microinvertersIterator->serialNumber == serialNumber) {
@ -77,7 +77,7 @@ std::pair<bool, Microinverter*> Dtu::getMicroinverterBySerialNumber(long serialN
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()) {
std::vector<Microinverter>::iterator microinvertersIterator = this->microinverters.begin();
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()) {
std::pair<bool, Microinverter*> microinverterPair = this->getMicroinverterBySerialNumber(*microinvertersToGetIterator);
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()) {
std::vector<Microinverter>::iterator microinvertersIterator = this->microinverters.begin();
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()) {
std::pair<bool, Microinverter*> microinverterPair = this->getMicroinverterBySerialNumber(*microinvertersToGetIterator);
if(microinverterPair.first) {

View file

@ -8,7 +8,7 @@
#include "microinverter.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_context_mutex = modbus_context_mutex;

View file

@ -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) {}

View file

@ -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() {

View file

@ -43,9 +43,9 @@ int main(int argc, char **argv) {
std::string ignoreNotConnectedHelp{"Ignore connection errors"};
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 ','"};
hoymilesClient.add_option<std::vector<long>>("-m,--microinverters", microinvertersToGet, microinvertersToGetHelp)->delimiter(',');
hoymilesClient.add_option<std::vector<long long>>("-m,--microinverters", microinvertersToGet, microinvertersToGetHelp)->delimiter(',');
try {
hoymilesClient.parse(argc, argv);