From 6d6d62bb770101afbe0cb5a6f7bee905dec5b735 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Thu, 16 May 2024 19:55:01 +0200 Subject: [PATCH] Code Refactoring: Use internal inverter instance in gotTimeout method --- .../src/commands/ActivePowerControlCommand.cpp | 4 ++-- lib/Hoymiles/src/commands/ActivePowerControlCommand.h | 2 +- lib/Hoymiles/src/commands/AlarmDataCommand.cpp | 4 ++-- lib/Hoymiles/src/commands/AlarmDataCommand.h | 2 +- lib/Hoymiles/src/commands/CommandAbstract.cpp | 2 +- lib/Hoymiles/src/commands/CommandAbstract.h | 2 +- lib/Hoymiles/src/commands/PowerControlCommand.cpp | 4 ++-- lib/Hoymiles/src/commands/PowerControlCommand.h | 2 +- lib/Hoymiles/src/commands/RealTimeRunDataCommand.cpp | 4 ++-- lib/Hoymiles/src/commands/RealTimeRunDataCommand.h | 2 +- lib/Hoymiles/src/commands/SystemConfigParaCommand.cpp | 4 ++-- lib/Hoymiles/src/commands/SystemConfigParaCommand.h | 2 +- lib/Hoymiles/src/inverters/InverterAbstract.cpp | 10 +++++----- 13 files changed, 22 insertions(+), 22 deletions(-) diff --git a/lib/Hoymiles/src/commands/ActivePowerControlCommand.cpp b/lib/Hoymiles/src/commands/ActivePowerControlCommand.cpp index f1f670b34..417c65b00 100644 --- a/lib/Hoymiles/src/commands/ActivePowerControlCommand.cpp +++ b/lib/Hoymiles/src/commands/ActivePowerControlCommand.cpp @@ -94,7 +94,7 @@ PowerLimitControlType ActivePowerControlCommand::getType() return (PowerLimitControlType)(((uint16_t)_payload[14] << 8) | _payload[15]); } -void ActivePowerControlCommand::gotTimeout(InverterAbstract& inverter) +void ActivePowerControlCommand::gotTimeout() { - inverter.SystemConfigPara()->setLastLimitCommandSuccess(CMD_NOK); + _inv->SystemConfigPara()->setLastLimitCommandSuccess(CMD_NOK); } diff --git a/lib/Hoymiles/src/commands/ActivePowerControlCommand.h b/lib/Hoymiles/src/commands/ActivePowerControlCommand.h index 78176796f..b4ef0a7be 100644 --- a/lib/Hoymiles/src/commands/ActivePowerControlCommand.h +++ b/lib/Hoymiles/src/commands/ActivePowerControlCommand.h @@ -17,7 +17,7 @@ class ActivePowerControlCommand : public DevControlCommand { virtual String getCommandName() const; virtual bool handleResponse(InverterAbstract& inverter, const fragment_t fragment[], const uint8_t max_fragment_id); - virtual void gotTimeout(InverterAbstract& inverter); + virtual void gotTimeout(); void setActivePowerLimit(const float limit, const PowerLimitControlType type = RelativNonPersistent); float getLimit() const; diff --git a/lib/Hoymiles/src/commands/AlarmDataCommand.cpp b/lib/Hoymiles/src/commands/AlarmDataCommand.cpp index 350d0f925..bbe35e297 100644 --- a/lib/Hoymiles/src/commands/AlarmDataCommand.cpp +++ b/lib/Hoymiles/src/commands/AlarmDataCommand.cpp @@ -57,7 +57,7 @@ bool AlarmDataCommand::handleResponse(InverterAbstract& inverter, const fragment return true; } -void AlarmDataCommand::gotTimeout(InverterAbstract& inverter) +void AlarmDataCommand::gotTimeout() { - inverter.EventLog()->setLastAlarmRequestSuccess(CMD_NOK); + _inv->EventLog()->setLastAlarmRequestSuccess(CMD_NOK); } diff --git a/lib/Hoymiles/src/commands/AlarmDataCommand.h b/lib/Hoymiles/src/commands/AlarmDataCommand.h index f5248b1ff..5b939d53a 100644 --- a/lib/Hoymiles/src/commands/AlarmDataCommand.h +++ b/lib/Hoymiles/src/commands/AlarmDataCommand.h @@ -10,5 +10,5 @@ class AlarmDataCommand : public MultiDataCommand { virtual String getCommandName() const; virtual bool handleResponse(InverterAbstract& inverter, const fragment_t fragment[], const uint8_t max_fragment_id); - virtual void gotTimeout(InverterAbstract& inverter); + virtual void gotTimeout(); }; diff --git a/lib/Hoymiles/src/commands/CommandAbstract.cpp b/lib/Hoymiles/src/commands/CommandAbstract.cpp index 15102fbbb..16a7857e1 100644 --- a/lib/Hoymiles/src/commands/CommandAbstract.cpp +++ b/lib/Hoymiles/src/commands/CommandAbstract.cpp @@ -125,7 +125,7 @@ void CommandAbstract::convertSerialToPacketId(uint8_t buffer[], const uint64_t s buffer[0] = s.b[3]; } -void CommandAbstract::gotTimeout(InverterAbstract& inverter) +void CommandAbstract::gotTimeout() { } diff --git a/lib/Hoymiles/src/commands/CommandAbstract.h b/lib/Hoymiles/src/commands/CommandAbstract.h index b543ed668..a9f816807 100644 --- a/lib/Hoymiles/src/commands/CommandAbstract.h +++ b/lib/Hoymiles/src/commands/CommandAbstract.h @@ -38,7 +38,7 @@ class CommandAbstract { virtual CommandAbstract* getRequestFrameCommand(const uint8_t frame_no); virtual bool handleResponse(InverterAbstract& inverter, const fragment_t fragment[], const uint8_t max_fragment_id) = 0; - virtual void gotTimeout(InverterAbstract& inverter); + virtual void gotTimeout(); // Sets the amount how often the specific command is resent if all fragments where missing virtual uint8_t getMaxResendCount() const; diff --git a/lib/Hoymiles/src/commands/PowerControlCommand.cpp b/lib/Hoymiles/src/commands/PowerControlCommand.cpp index b8340841c..cfa61d5e1 100644 --- a/lib/Hoymiles/src/commands/PowerControlCommand.cpp +++ b/lib/Hoymiles/src/commands/PowerControlCommand.cpp @@ -55,9 +55,9 @@ bool PowerControlCommand::handleResponse(InverterAbstract& inverter, const fragm return true; } -void PowerControlCommand::gotTimeout(InverterAbstract& inverter) +void PowerControlCommand::gotTimeout() { - inverter.PowerCommand()->setLastPowerCommandSuccess(CMD_NOK); + _inv->PowerCommand()->setLastPowerCommandSuccess(CMD_NOK); } void PowerControlCommand::setPowerOn(const bool state) diff --git a/lib/Hoymiles/src/commands/PowerControlCommand.h b/lib/Hoymiles/src/commands/PowerControlCommand.h index e792f3b3c..a7bf019b3 100644 --- a/lib/Hoymiles/src/commands/PowerControlCommand.h +++ b/lib/Hoymiles/src/commands/PowerControlCommand.h @@ -10,7 +10,7 @@ class PowerControlCommand : public DevControlCommand { virtual String getCommandName() const; virtual bool handleResponse(InverterAbstract& inverter, const fragment_t fragment[], const uint8_t max_fragment_id); - virtual void gotTimeout(InverterAbstract& inverter); + virtual void gotTimeout(); void setPowerOn(const bool state); void setRestart(); diff --git a/lib/Hoymiles/src/commands/RealTimeRunDataCommand.cpp b/lib/Hoymiles/src/commands/RealTimeRunDataCommand.cpp index bc800b992..2d6919dd5 100644 --- a/lib/Hoymiles/src/commands/RealTimeRunDataCommand.cpp +++ b/lib/Hoymiles/src/commands/RealTimeRunDataCommand.cpp @@ -68,7 +68,7 @@ bool RealTimeRunDataCommand::handleResponse(InverterAbstract& inverter, const fr return true; } -void RealTimeRunDataCommand::gotTimeout(InverterAbstract& inverter) +void RealTimeRunDataCommand::gotTimeout() { - inverter.Statistics()->incrementRxFailureCount(); + _inv->Statistics()->incrementRxFailureCount(); } diff --git a/lib/Hoymiles/src/commands/RealTimeRunDataCommand.h b/lib/Hoymiles/src/commands/RealTimeRunDataCommand.h index 82c4f3774..e41bdbf26 100644 --- a/lib/Hoymiles/src/commands/RealTimeRunDataCommand.h +++ b/lib/Hoymiles/src/commands/RealTimeRunDataCommand.h @@ -10,5 +10,5 @@ class RealTimeRunDataCommand : public MultiDataCommand { virtual String getCommandName() const; virtual bool handleResponse(InverterAbstract& inverter, const fragment_t fragment[], const uint8_t max_fragment_id); - virtual void gotTimeout(InverterAbstract& inverter); + virtual void gotTimeout(); }; diff --git a/lib/Hoymiles/src/commands/SystemConfigParaCommand.cpp b/lib/Hoymiles/src/commands/SystemConfigParaCommand.cpp index 7149394cf..9e3f89a57 100644 --- a/lib/Hoymiles/src/commands/SystemConfigParaCommand.cpp +++ b/lib/Hoymiles/src/commands/SystemConfigParaCommand.cpp @@ -68,7 +68,7 @@ bool SystemConfigParaCommand::handleResponse(InverterAbstract& inverter, const f return true; } -void SystemConfigParaCommand::gotTimeout(InverterAbstract& inverter) +void SystemConfigParaCommand::gotTimeout() { - inverter.SystemConfigPara()->setLastLimitRequestSuccess(CMD_NOK); + _inv->SystemConfigPara()->setLastLimitRequestSuccess(CMD_NOK); } diff --git a/lib/Hoymiles/src/commands/SystemConfigParaCommand.h b/lib/Hoymiles/src/commands/SystemConfigParaCommand.h index ee6b3b95b..f33e84812 100644 --- a/lib/Hoymiles/src/commands/SystemConfigParaCommand.h +++ b/lib/Hoymiles/src/commands/SystemConfigParaCommand.h @@ -10,5 +10,5 @@ class SystemConfigParaCommand : public MultiDataCommand { virtual String getCommandName() const; virtual bool handleResponse(InverterAbstract& inverter, const fragment_t fragment[], const uint8_t max_fragment_id); - virtual void gotTimeout(InverterAbstract& inverter); + virtual void gotTimeout(); }; diff --git a/lib/Hoymiles/src/inverters/InverterAbstract.cpp b/lib/Hoymiles/src/inverters/InverterAbstract.cpp index d80d0e531..6f7571988 100644 --- a/lib/Hoymiles/src/inverters/InverterAbstract.cpp +++ b/lib/Hoymiles/src/inverters/InverterAbstract.cpp @@ -226,7 +226,7 @@ uint8_t InverterAbstract::verifyAllFragments(CommandAbstract& cmd) if (cmd.getSendCount() <= cmd.getMaxResendCount()) { return FRAGMENT_ALL_MISSING_RESEND; } else { - cmd.gotTimeout(*this); + cmd.gotTimeout(); return FRAGMENT_ALL_MISSING_TIMEOUT; } } @@ -237,7 +237,7 @@ uint8_t InverterAbstract::verifyAllFragments(CommandAbstract& cmd) if (_rxFragmentRetransmitCnt++ < cmd.getMaxRetransmitCount()) { return _rxFragmentLastPacketId + 1; } else { - cmd.gotTimeout(*this); + cmd.gotTimeout(); return FRAGMENT_RETRANSMIT_TIMEOUT; } } @@ -249,16 +249,16 @@ uint8_t InverterAbstract::verifyAllFragments(CommandAbstract& cmd) if (_rxFragmentRetransmitCnt++ < cmd.getMaxRetransmitCount()) { return i + 1; } else { - cmd.gotTimeout(*this); + cmd.gotTimeout(); return FRAGMENT_RETRANSMIT_TIMEOUT; } } } if (!cmd.handleResponse(*this, _rxFragmentBuffer, _rxFragmentMaxPacketId)) { - cmd.gotTimeout(*this); + cmd.gotTimeout(); return FRAGMENT_HANDLE_ERROR; } return FRAGMENT_OK; -} \ No newline at end of file +}