Merge pull request #33 from Fastium/FIX/init-dec_order
FIX initialisation and declaration order
This commit is contained in:
		| @@ -61,7 +61,10 @@ BikeSystem::BikeSystem() | |||||||
|     : _gearDevice(_timer), |     : _gearDevice(_timer), | ||||||
|       _pedalDevice(_timer), |       _pedalDevice(_timer), | ||||||
|       _resetDevice(_timer), |       _resetDevice(_timer), | ||||||
|  |       _displayDevice(), | ||||||
|       _speedometer(_timer), |       _speedometer(_timer), | ||||||
|  |       _sensorDevice(), | ||||||
|  |       _taskLogger(), | ||||||
|       _cpuLogger(_timer) {} |       _cpuLogger(_timer) {} | ||||||
|  |  | ||||||
| void BikeSystem::start() { | void BikeSystem::start() { | ||||||
| @@ -205,29 +208,18 @@ void BikeSystem::speedDistanceTask() { | |||||||
|         _timer, advembsof::TaskLogger::kSpeedTaskIndex, taskStartTime); |         _timer, advembsof::TaskLogger::kSpeedTaskIndex, taskStartTime); | ||||||
| } | } | ||||||
|  |  | ||||||
| void BikeSystem::temperatureTask() { | void BikeSystem::displayTask1() { | ||||||
|     auto taskStartTime = _timer.elapsed_time(); |     auto taskStartTime = _timer.elapsed_time(); | ||||||
|  |  | ||||||
|     tr_warn("Tick1 %" PRIu64, _timer.elapsed_time().count()); |     _displayDevice.displayGear(_currentGear); | ||||||
|  |     _displayDevice.displaySpeed(_currentSpeed); | ||||||
|     // no need to protect access to data members (single threaded) |     _displayDevice.displayDistance(_traveledDistance); | ||||||
|     _currentTemperature = _sensorDevice.readTemperature(); |  | ||||||
|  |  | ||||||
|     tr_warn("Tick2 %" PRIu64, _timer.elapsed_time().count()); |  | ||||||
|  |  | ||||||
|     ThisThread::sleep_for(std::chrono::duration_cast<std::chrono::milliseconds>( |     ThisThread::sleep_for(std::chrono::duration_cast<std::chrono::milliseconds>( | ||||||
|         kTemperatureTaskComputationTime - (_timer.elapsed_time() - taskStartTime))); |         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 < |  | ||||||
|     //    kTemperatureTaskComputationTime) { |  | ||||||
|     //        elapsedTime = _timer.elapsed_time() - taskStartTime; |  | ||||||
|     //    } |  | ||||||
|  |  | ||||||
|     _taskLogger.logPeriodAndExecutionTime( |     _taskLogger.logPeriodAndExecutionTime( | ||||||
|         _timer, advembsof::TaskLogger::kTemperatureTaskIndex, taskStartTime); |         _timer, advembsof::TaskLogger::kDisplayTask1Index, taskStartTime); | ||||||
| } | } | ||||||
|  |  | ||||||
| void BikeSystem::resetTask() { | void BikeSystem::resetTask() { | ||||||
| @@ -243,27 +235,17 @@ void BikeSystem::resetTask() { | |||||||
|     _taskLogger.logPeriodAndExecutionTime( |     _taskLogger.logPeriodAndExecutionTime( | ||||||
|         _timer, advembsof::TaskLogger::kResetTaskIndex, taskStartTime); |         _timer, advembsof::TaskLogger::kResetTaskIndex, taskStartTime); | ||||||
| } | } | ||||||
|  | void BikeSystem::temperatureTask() { | ||||||
| void BikeSystem::displayTask1() { |  | ||||||
|     auto taskStartTime = _timer.elapsed_time(); |     auto taskStartTime = _timer.elapsed_time(); | ||||||
|  |  | ||||||
|     _displayDevice.displayGear(_currentGear); |     // no need to protect access to data members (single threaded) | ||||||
|     _displayDevice.displaySpeed(_currentSpeed); |     _currentTemperature = _sensorDevice.readTemperature(); | ||||||
|     _displayDevice.displayDistance(_traveledDistance); |  | ||||||
|  |  | ||||||
|     ThisThread::sleep_for(std::chrono::duration_cast<std::chrono::milliseconds>( |     ThisThread::sleep_for(std::chrono::duration_cast<std::chrono::milliseconds>( | ||||||
|         kDisplayTask1ComputationTime - (_timer.elapsed_time() - taskStartTime))); |         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 < |  | ||||||
|     //    kDisplayTask1ComputationTime) { |  | ||||||
|     //        elapsedTime = _timer.elapsed_time() - taskStartTime; |  | ||||||
|     //    } |  | ||||||
|  |  | ||||||
|     _taskLogger.logPeriodAndExecutionTime( |     _taskLogger.logPeriodAndExecutionTime( | ||||||
|         _timer, advembsof::TaskLogger::kDisplayTask1Index, taskStartTime); |         _timer, advembsof::TaskLogger::kTemperatureTaskIndex, taskStartTime); | ||||||
| } | } | ||||||
|  |  | ||||||
| void BikeSystem::displayTask2() { | void BikeSystem::displayTask2() { | ||||||
| @@ -274,13 +256,6 @@ void BikeSystem::displayTask2() { | |||||||
|     ThisThread::sleep_for(std::chrono::duration_cast<std::chrono::milliseconds>( |     ThisThread::sleep_for(std::chrono::duration_cast<std::chrono::milliseconds>( | ||||||
|         kDisplayTask2ComputationTime - (_timer.elapsed_time() - taskStartTime))); |         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; |  | ||||||
|     //    } |  | ||||||
|     _taskLogger.logPeriodAndExecutionTime( |     _taskLogger.logPeriodAndExecutionTime( | ||||||
|         _timer, advembsof::TaskLogger::kDisplayTask2Index, taskStartTime); |         _timer, advembsof::TaskLogger::kDisplayTask2Index, taskStartTime); | ||||||
| } | } | ||||||
|   | |||||||
| @@ -37,7 +37,7 @@ namespace static_scheduling { | |||||||
|  |  | ||||||
| static constexpr std::chrono::microseconds kTaskRunTime = 200000us; | static constexpr std::chrono::microseconds kTaskRunTime = 200000us; | ||||||
|  |  | ||||||
| PedalDevice::PedalDevice(Timer& timer) : _timer(timer) {} | PedalDevice::PedalDevice(Timer& timer) : _timer(timer), _pedalRotationTime(0) {} | ||||||
|  |  | ||||||
| std::chrono::milliseconds PedalDevice::getCurrentRotationTime() { | std::chrono::milliseconds PedalDevice::getCurrentRotationTime() { | ||||||
|     std::chrono::microseconds initialTime = _timer.elapsed_time(); |     std::chrono::microseconds initialTime = _timer.elapsed_time(); | ||||||
|   | |||||||
| @@ -46,9 +46,9 @@ class PedalDevice { | |||||||
|     void decreaseRotationSpeed(); |     void decreaseRotationSpeed(); | ||||||
|  |  | ||||||
|     // data members |     // data members | ||||||
|  |     Timer& _timer; | ||||||
|     std::chrono::milliseconds _pedalRotationTime = |     std::chrono::milliseconds _pedalRotationTime = | ||||||
|         bike_computer::kInitialPedalRotationTime; |         bike_computer::kInitialPedalRotationTime; | ||||||
|     Timer& _timer; |  | ||||||
| }; | }; | ||||||
|  |  | ||||||
| }  // namespace static_scheduling | }  // namespace static_scheduling | ||||||
|   | |||||||
| @@ -43,7 +43,8 @@ namespace static_scheduling { | |||||||
|  |  | ||||||
| static constexpr std::chrono::microseconds kTaskRunTime = 100000us; | static constexpr std::chrono::microseconds kTaskRunTime = 100000us; | ||||||
|  |  | ||||||
| ResetDevice::ResetDevice(Timer& timer) : _timer(timer), _resetButton(PUSH_BUTTON) { | ResetDevice::ResetDevice(Timer& timer) | ||||||
|  |     : _resetButton(PUSH_BUTTON), _timer(timer), _pressTime(0) { | ||||||
|     _resetButton.rise(callback(this, &ResetDevice::onRise)); |     _resetButton.rise(callback(this, &ResetDevice::onRise)); | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -67,7 +67,10 @@ BikeSystem::BikeSystem() | |||||||
|     : _gearDevice(), |     : _gearDevice(), | ||||||
|       _pedalDevice(), |       _pedalDevice(), | ||||||
|       _resetDevice(callback(this, &BikeSystem::onReset)), |       _resetDevice(callback(this, &BikeSystem::onReset)), | ||||||
|  |       _displayDevice(), | ||||||
|       _speedometer(_timer), |       _speedometer(_timer), | ||||||
|  |       _sensorDevice(), | ||||||
|  |       _taskLogger(), | ||||||
|       _cpuLogger(_timer) {} |       _cpuLogger(_timer) {} | ||||||
|  |  | ||||||
| void BikeSystem::start() { | void BikeSystem::start() { | ||||||
| @@ -176,21 +179,18 @@ void BikeSystem::speedDistanceTask() { | |||||||
|         _timer, advembsof::TaskLogger::kSpeedTaskIndex, taskStartTime); |         _timer, advembsof::TaskLogger::kSpeedTaskIndex, taskStartTime); | ||||||
| } | } | ||||||
|    |    | ||||||
| void BikeSystem::temperatureTask() { | void BikeSystem::displayTask1() { | ||||||
|     auto taskStartTime = _timer.elapsed_time(); |     auto taskStartTime = _timer.elapsed_time(); | ||||||
|  |  | ||||||
|     // tr_warn("Tick1 %" PRIu64, _timer.elapsed_time().count()); |     _displayDevice.displayGear(_currentGear); | ||||||
|  |     _displayDevice.displaySpeed(_currentSpeed); | ||||||
|     // no need to protect access to data members (single threaded) |     _displayDevice.displayDistance(_traveledDistance); | ||||||
|     _currentTemperature = _sensorDevice.readTemperature(); |  | ||||||
|  |  | ||||||
|     // tr_warn("Tick2 %" PRIu64, _timer.elapsed_time().count()); |  | ||||||
|  |  | ||||||
|     ThisThread::sleep_for(std::chrono::duration_cast<std::chrono::milliseconds>( |     ThisThread::sleep_for(std::chrono::duration_cast<std::chrono::milliseconds>( | ||||||
|         kTemperatureTaskComputationTime - (_timer.elapsed_time() - taskStartTime))); |         kDisplayTask1ComputationTime - (_timer.elapsed_time() - taskStartTime))); | ||||||
|  |  | ||||||
|     _taskLogger.logPeriodAndExecutionTime( |     _taskLogger.logPeriodAndExecutionTime( | ||||||
|         _timer, advembsof::TaskLogger::kTemperatureTaskIndex, taskStartTime); |         _timer, advembsof::TaskLogger::kDisplayTask1Index, taskStartTime); | ||||||
| } | } | ||||||
|  |  | ||||||
| void BikeSystem::resetTask() { | void BikeSystem::resetTask() { | ||||||
| @@ -208,18 +208,17 @@ void BikeSystem::resetTask() { | |||||||
|         _timer, advembsof::TaskLogger::kResetTaskIndex, taskStartTime); |         _timer, advembsof::TaskLogger::kResetTaskIndex, taskStartTime); | ||||||
| } | } | ||||||
|  |  | ||||||
| void BikeSystem::displayTask1() { | void BikeSystem::temperatureTask() { | ||||||
|     auto taskStartTime = _timer.elapsed_time(); |     auto taskStartTime = _timer.elapsed_time(); | ||||||
|  |  | ||||||
|     _displayDevice.displayGear(_currentGear); |     // no need to protect access to data members (single threaded) | ||||||
|     _displayDevice.displaySpeed(_currentSpeed); |     _currentTemperature = _sensorDevice.readTemperature(); | ||||||
|     _displayDevice.displayDistance(_traveledDistance); |  | ||||||
|  |  | ||||||
|     ThisThread::sleep_for(std::chrono::duration_cast<std::chrono::milliseconds>( |     ThisThread::sleep_for(std::chrono::duration_cast<std::chrono::milliseconds>( | ||||||
|         kDisplayTask1ComputationTime - (_timer.elapsed_time() - taskStartTime))); |         kTemperatureTaskComputationTime - (_timer.elapsed_time() - taskStartTime))); | ||||||
|  |  | ||||||
|     _taskLogger.logPeriodAndExecutionTime( |     _taskLogger.logPeriodAndExecutionTime( | ||||||
|         _timer, advembsof::TaskLogger::kDisplayTask1Index, taskStartTime); |         _timer, advembsof::TaskLogger::kTemperatureTaskIndex, taskStartTime); | ||||||
| } | } | ||||||
|  |  | ||||||
| void BikeSystem::displayTask2() { | void BikeSystem::displayTask2() { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user