Fix power blips from Standard Power with Quarq

Added a check to insure that we don't display the same power event more
than once.

Fixes Bug #635
This commit is contained in:
Andrew Bryson
2012-02-04 17:48:05 +00:00
committed by Mark Liversedge
parent 871e3fc918
commit 04d718a76d
2 changed files with 11 additions and 2 deletions

View File

@@ -442,10 +442,19 @@ void ANTChannel::broadcastEvent(unsigned char *ant_message)
//
case ANT_STANDARD_POWER: // 0x10 - standard power
{
if (lastStdPwrMessage.type != 0) {
uint8_t events = antMessage.eventCount - lastStdPwrMessage.eventCount;
if (lastStdPwrMessage.type && events) {
stdNullCount = 0;
is_alt ? parent->setAltWatts(antMessage.instantPower) : parent->setWatts(antMessage.instantPower);
value2 = value = antMessage.instantPower;
parent->setCadence(antMessage.instantCadence); // cadence
} else {
stdNullCount++;
if (stdNullCount >= 2) { //XXX 2 for standard power?
parent->setCadence(0);
is_alt ? parent->setAltWatts(0) : parent->setWatts(0);
value2 = value = 0;
}
}
lastStdPwrMessage = antMessage;
savemessage = false;

View File

@@ -81,7 +81,7 @@ class ANTChannel : public QObject {
ANT *parent;
ANTMessage lastMessage, lastStdPwrMessage;
int dualNullCount, nullCount;
int dualNullCount, nullCount, stdNullCount;
double last_message_timestamp;
double blanking_timestamp;
int blanked;