Kickr mutex for thread safety

Ensure the member variables are only maintained in
one thread at a time.
This commit is contained in:
Mark Liversedge
2013-01-23 08:44:53 +00:00
parent f8e2907fa0
commit 33946c9012

View File

@@ -100,7 +100,9 @@ double Kickr::getGradient()
void
Kickr::getRealtimeData(RealtimeData &rtData)
{
pvars.lock();
rtData = rt;
pvars.unlock();
}
int
@@ -149,12 +151,14 @@ void Kickr::run()
msleep(100);
if (WFApi::getInstance()->hasData()) {
pvars.lock();
WFApi::getInstance()->getRealtimeData(&rt);
// set speed from wheelRpm and configured wheelsize
double x = rt.getWheelRpm();
if (devConf) rt.setSpeed(x * (devConf->wheelSize/1000) * 60 / 1000);
else rt.setSpeed(x * 2.10 * 60 / 1000);
pvars.unlock();
}
}