ADD Thread sleep
This commit is contained in:
@ -174,12 +174,18 @@ void BikeSystem::temperatureTask() {
|
||||
|
||||
tr_warn("Tick2 %" PRIu64, _timer.elapsed_time().count());
|
||||
|
||||
ThisThread::sleep_for(
|
||||
std::chrono::duration_cast<std::chrono::milliseconds>(
|
||||
kTemperatureTaskComputationTime - (_timer.elapsed_time() - taskStartTime)
|
||||
)
|
||||
);
|
||||
|
||||
// simulate task computation by waiting for the required task computation time
|
||||
|
||||
std::chrono::microseconds elapsedTime = std::chrono::microseconds::zero();
|
||||
while (elapsedTime < kTemperatureTaskComputationTime) {
|
||||
elapsedTime = _timer.elapsed_time() - taskStartTime;
|
||||
}
|
||||
// std::chrono::microseconds elapsedTime = std::chrono::microseconds::zero();
|
||||
// while (elapsedTime < kTemperatureTaskComputationTime) {
|
||||
// elapsedTime = _timer.elapsed_time() - taskStartTime;
|
||||
// }
|
||||
|
||||
_taskLogger.logPeriodAndExecutionTime(
|
||||
_timer, advembsof::TaskLogger::kTemperatureTaskIndex, taskStartTime);
|
||||
@ -206,12 +212,18 @@ void BikeSystem::displayTask1() {
|
||||
_displayDevice.displaySpeed(_currentSpeed);
|
||||
_displayDevice.displayDistance(_traveledDistance);
|
||||
|
||||
ThisThread::sleep_for(
|
||||
std::chrono::duration_cast<std::chrono::milliseconds>(
|
||||
kDisplayTask1ComputationTime - (_timer.elapsed_time() - taskStartTime)
|
||||
)
|
||||
);
|
||||
|
||||
// simulate task computation by waiting for the required task computation time
|
||||
|
||||
std::chrono::microseconds elapsedTime = std::chrono::microseconds::zero();
|
||||
while (elapsedTime < kDisplayTask1ComputationTime) {
|
||||
elapsedTime = _timer.elapsed_time() - taskStartTime;
|
||||
}
|
||||
// std::chrono::microseconds elapsedTime = std::chrono::microseconds::zero();
|
||||
// while (elapsedTime < kDisplayTask1ComputationTime) {
|
||||
// elapsedTime = _timer.elapsed_time() - taskStartTime;
|
||||
// }
|
||||
|
||||
_taskLogger.logPeriodAndExecutionTime(
|
||||
_timer, advembsof::TaskLogger::kDisplayTask1Index, taskStartTime);
|
||||
@ -222,12 +234,18 @@ void BikeSystem::displayTask2() {
|
||||
|
||||
_displayDevice.displayTemperature(_currentTemperature);
|
||||
|
||||
ThisThread::sleep_for(
|
||||
std::chrono::duration_cast<std::chrono::milliseconds>(
|
||||
kDisplayTask2ComputationTime - (_timer.elapsed_time() - taskStartTime)
|
||||
)
|
||||
);
|
||||
|
||||
// simulate task computation by waiting for the required task computation time
|
||||
|
||||
std::chrono::microseconds elapsedTime = std::chrono::microseconds::zero();
|
||||
while (elapsedTime < kDisplayTask2ComputationTime) {
|
||||
elapsedTime = _timer.elapsed_time() - taskStartTime;
|
||||
}
|
||||
// std::chrono::microseconds elapsedTime = std::chrono::microseconds::zero();
|
||||
// while (elapsedTime < kDisplayTask2ComputationTime) {
|
||||
// elapsedTime = _timer.elapsed_time() - taskStartTime;
|
||||
// }
|
||||
_taskLogger.logPeriodAndExecutionTime(
|
||||
_timer, advembsof::TaskLogger::kDisplayTask2Index, taskStartTime);
|
||||
}
|
||||
|
Reference in New Issue
Block a user