Remember coretemp quality state between messages, reset temp to zero if not set (#4602)

Part of #4207
This commit is contained in:
Ivor Hewitt
2025-01-22 17:41:24 +00:00
committed by GitHub
parent 20c9789979
commit 306b2d99b2
3 changed files with 6 additions and 3 deletions

View File

@@ -904,7 +904,6 @@ void ANTChannel::broadcastEvent(unsigned char *ant_message)
case CHANNEL_TYPE_CORETEMP:
{
// Quality alternates messages so will need to remember last quality message
// only use core temp if data is 'good' or better (just use >0 for now)
if ( antMessage.coreTemp > 0 )
{

View File

@@ -621,12 +621,15 @@ ANTMessage::ANTMessage(ANT *parent, const unsigned char *message) {
case ANTChannel::CHANNEL_TYPE_CORETEMP:
{
static int tmpQual=0;
switch (data_page)
{
case 0:
tempQual = (message[6]&0x3);
// Quality only on intermittent messages so need to remember last quality message
tmpQual = (message[6]&0x3);
break;
case 1:
tempQual = tmpQual;
uint16_t val=(message[7]+((message[8] & 0xf0)<<4));
if (val>0 && val != 0x800)
skinTemp = val/20.0;

View File

@@ -45,6 +45,7 @@ RealtimeData::RealtimeData()
trainerConfigRequired = false;
trainerBrakeFault = false;
memset(spinScan, 0, 24);
temp = 0.0;
}
void RealtimeData::setName(char *name)
@@ -530,7 +531,7 @@ double RealtimeData::value(DataSeries series) const
case Temp: return temp;
break;
case CoreTemp: return coreTemp;
break;