Added method to detect whether a inverter is producing
This commit is contained in:
parent
3d68f502c4
commit
a261eb838c
@ -40,6 +40,15 @@ const char* InverterAbstract::name()
|
||||
return _name;
|
||||
}
|
||||
|
||||
bool InverterAbstract::isProducing()
|
||||
{
|
||||
if (!Statistics()->hasChannelFieldValue(CH0, FLD_PAC)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return Statistics()->getChannelFieldValue(CH0, FLD_PAC) > 0;
|
||||
}
|
||||
|
||||
AlarmLogParser* InverterAbstract::EventLog()
|
||||
{
|
||||
return _alarmLogParser.get();
|
||||
@ -112,8 +121,7 @@ uint8_t InverterAbstract::verifyAllFragments(CommandAbstract* cmd)
|
||||
Serial.println(F("All missing"));
|
||||
if (cmd->getSendCount() <= MAX_RESEND_COUNT) {
|
||||
return FRAGMENT_ALL_MISSING_RESEND;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
cmd->gotTimeout(this);
|
||||
return FRAGMENT_ALL_MISSING_TIMEOUT;
|
||||
}
|
||||
|
||||
@ -37,6 +37,8 @@ public:
|
||||
virtual const byteAssign_t* getByteAssignment() = 0;
|
||||
virtual const uint8_t getAssignmentCount() = 0;
|
||||
|
||||
bool isProducing();
|
||||
|
||||
void clearRxFragmentBuffer();
|
||||
void addRxFragment(uint8_t fragment[], uint8_t len);
|
||||
uint8_t verifyAllFragments(CommandAbstract* cmd);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user