No longer insert smart errors into received data frames. With JSON we can just build an error.
This commit is contained in:
parent
e6ea53496f
commit
54fa331d23
|
@ -993,3 +993,8 @@ bool hasOEMcontroller()
|
|||
{
|
||||
return bHasOEMController;
|
||||
}
|
||||
|
||||
int getSmartError()
|
||||
{
|
||||
return SmartError.getError();
|
||||
}
|
|
@ -417,8 +417,14 @@ CProtocolPackage::reportFrames(bool isOEM)
|
|||
int
|
||||
CProtocolPackage::getErrState() const
|
||||
{
|
||||
if(getBlueWireStat() & 0x01)
|
||||
if(getBlueWireStat() & 0x01) {
|
||||
return 8; // force E-07 - we're not seeing heater data
|
||||
}
|
||||
else {
|
||||
int smartErr = getSmartError();
|
||||
if(smartErr)
|
||||
return smartErr;
|
||||
else
|
||||
return Heater.getErrState();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -51,21 +51,12 @@ CSmartError::inhibit()
|
|||
// In addition, the hetaer frame has the ErrState updated to track the
|
||||
// smart error, providing no heater error exists!
|
||||
void
|
||||
CSmartError::monitor(CProtocol& heaterFrame)
|
||||
CSmartError::monitor(const CProtocol& heaterFrame)
|
||||
{
|
||||
bool bSilent = true;
|
||||
if(heaterFrame.verifyCRC(bSilent)) { // check but don't report dodgy frames to debug
|
||||
// only accept valid heater frames!
|
||||
monitor(heaterFrame.getRunState());
|
||||
unsigned char HtrErr = heaterFrame.getErrState();
|
||||
if((HtrErr & 0xfe) == 0) {
|
||||
// heater is Idle or Normal running state (E-0X + 1 in protocol!!)
|
||||
unsigned char smartErr = getError();
|
||||
if(smartErr) {
|
||||
heaterFrame.setErrState(smartErr); // 10 = ign fail, 11 = retry
|
||||
heaterFrame.setCRC(); // changed the message, fix the CRC!
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ public:
|
|||
CSmartError();
|
||||
void reset();
|
||||
void inhibit();
|
||||
void monitor(CProtocol& heaterFrame);
|
||||
void monitor(const CProtocol& heaterFrame);
|
||||
void monitor(unsigned char runstate);
|
||||
unsigned char getError();
|
||||
};
|
||||
|
|
|
@ -48,6 +48,7 @@ extern void resetJSONmoderator();
|
|||
extern const char* getBlueWireStatStr();
|
||||
extern bool hasOEMcontroller();
|
||||
extern int getBlueWireStat();
|
||||
extern int getSmartError();
|
||||
|
||||
#define LOWERLIMIT(A, B) if(A < B) A = B
|
||||
#define UPPERLIMIT(A, B) if(A > B) A = B
|
||||
|
|
Loading…
Reference in a new issue