changed to long long for windows
This commit is contained in:
parent
170c141576
commit
2cb7e67df8
8 changed files with 17 additions and 17 deletions
|
|
@ -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> ¶metersToGet, bool allParameters, std::vector<long> µinvertersToGet);
|
void updateMicroinverters(std::vector<std::string> ¶metersToGet, bool allParameters, std::vector<long long> µinvertersToGet);
|
||||||
|
|
||||||
// void printMicroinverters();
|
// void printMicroinverters();
|
||||||
|
|
||||||
void printMicroinverters(std::vector<std::string> ¶metersToGet, bool allParameters, std::vector<long> µinvertersToGet);
|
void printMicroinverters(std::vector<std::string> ¶metersToGet, bool allParameters, std::vector<long long> µinvertersToGet);
|
||||||
|
|
||||||
~Dtu();
|
~Dtu();
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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> ¶metersToGet, bool allParameters, std::vector<long> µinvertersToGet) {
|
void Dtu::updateMicroinverters(std::vector<std::string> ¶metersToGet, bool allParameters, std::vector<long long> µinvertersToGet) {
|
||||||
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> ¶metersToGet, 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> ¶metersToGet, bool a
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Dtu::printMicroinverters(std::vector<std::string> ¶metersToGet, bool allParameters, std::vector<long> µinvertersToGet) {
|
void Dtu::printMicroinverters(std::vector<std::string> ¶metersToGet, bool allParameters, std::vector<long long> µinvertersToGet) {
|
||||||
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> ¶metersToGet, 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) {
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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) {}
|
||||||
|
|
|
||||||
|
|
@ -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() {
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue