Periodically refresh Tacx Vortex load setpoint to avoid dropouts

Signed-off-by: Stefan Schake <schake@embedded.rwth-aachen.de>
This commit is contained in:
Stefan Schake
2015-01-13 21:21:14 +01:00
parent b68487fbbe
commit b5f45d20e6
3 changed files with 15 additions and 0 deletions

View File

@@ -266,6 +266,15 @@ ANT::setLoad(double load)
sendMessage(ANTMessage::tacxVortexSetPower(vortexChannel, vortexID, (int)load));
}
}
void ANT::refreshVortexLoad()
{
if (vortexChannel == -1)
return;
sendMessage(ANTMessage::tacxVortexSetPower(vortexChannel, vortexID, (int)load));
}
void
ANT::setGradient(double gradient)
{

View File

@@ -415,6 +415,7 @@ public:
}
void setVortexData(int channel, int id);
void refreshVortexLoad();
private:

View File

@@ -661,6 +661,11 @@ void ANTChannel::broadcastEvent(unsigned char *ant_message)
// Tacx Vortex trainer
case CHANNEL_TYPE_TACX_VORTEX:
{
static int loadRefreshCounter = 1;
if (((loadRefreshCounter++) % 10) == 0)
parent->refreshVortexLoad();
if (antMessage.vortexPage == TACX_VORTEX_DATA_CALIBRATION)
parent->setVortexData(number, antMessage.vortexId);
else if (antMessage.vortexPage == TACX_VORTEX_DATA_SPEED)