diff --git a/src/Kickr.cpp b/src/Kickr.cpp index 2545a60c5..96e9367b2 100644 --- a/src/Kickr.cpp +++ b/src/Kickr.cpp @@ -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(); } }