ADD cpplint args in action file
This commit is contained in:
		| @@ -35,38 +35,34 @@ | ||||
|  | ||||
| namespace static_scheduling { | ||||
|  | ||||
| static constexpr std::chrono::milliseconds kGearTaskPeriod					 = 800ms; | ||||
| static constexpr std::chrono::milliseconds kGearTaskDelay 					 = 0ms; | ||||
| static constexpr std::chrono::milliseconds kGearTaskComputationTime 		 = 100ms; | ||||
| static constexpr std::chrono::milliseconds kSpeedDistanceTaskPeriod 		 = 400ms; | ||||
| static constexpr std::chrono::milliseconds kSpeedDistanceTaskDelay 			 = 0ms; // 0 or 100ms | ||||
| static constexpr std::chrono::milliseconds kGearTaskPeriod          = 800ms; | ||||
| static constexpr std::chrono::milliseconds kGearTaskDelay           = 0ms; | ||||
| static constexpr std::chrono::milliseconds kGearTaskComputationTime = 100ms; | ||||
| static constexpr std::chrono::milliseconds kSpeedDistanceTaskPeriod = 400ms; | ||||
| static constexpr std::chrono::milliseconds kSpeedDistanceTaskDelay  = 0ms;  // 0 or 100ms | ||||
| static constexpr std::chrono::milliseconds kSpeedDistanceTaskComputationTime = 200ms; | ||||
| static constexpr std::chrono::milliseconds kDisplayTask1Period 				 = 1600ms; | ||||
| static constexpr std::chrono::milliseconds kDisplayTask1Delay 				 = 300ms; | ||||
| static constexpr std::chrono::milliseconds kDisplayTask1ComputationTime    	 = 200ms; | ||||
| static constexpr std::chrono::milliseconds kResetTaskPeriod 				 = 800ms; | ||||
| static constexpr std::chrono::milliseconds kResetTaskDelay 					 = 700ms; | ||||
| static constexpr std::chrono::milliseconds kResetTaskComputationTime 		 = 100ms; | ||||
| static constexpr std::chrono::milliseconds kTemperatureTaskPeriod 			 = 1600ms; | ||||
| static constexpr std::chrono::milliseconds kTemperatureTaskDelay 			 = 1100ms; | ||||
| static constexpr std::chrono::milliseconds kTemperatureTaskComputationTime	 = 100ms; | ||||
| static constexpr std::chrono::milliseconds kDisplayTask2Period 				 = 1600ms; | ||||
| static constexpr std::chrono::milliseconds kDisplayTask2Delay 				 = 1200ms; | ||||
| static constexpr std::chrono::milliseconds kDisplayTask2ComputationTime   	 = 100ms; | ||||
| static constexpr std::chrono::milliseconds kCPUTaskPeriod 					 = 1600ms; | ||||
| static constexpr std::chrono::milliseconds kCPUTaskDelay 					 = 0ms; | ||||
| static constexpr std::chrono::milliseconds kCPUTaskComputationTime			 = 0ms; | ||||
| static constexpr std::chrono::milliseconds kDisplayTask1Period               = 1600ms; | ||||
| static constexpr std::chrono::milliseconds kDisplayTask1Delay                = 300ms; | ||||
| static constexpr std::chrono::milliseconds kDisplayTask1ComputationTime      = 200ms; | ||||
| static constexpr std::chrono::milliseconds kResetTaskPeriod                  = 800ms; | ||||
| static constexpr std::chrono::milliseconds kResetTaskDelay                   = 700ms; | ||||
| static constexpr std::chrono::milliseconds kResetTaskComputationTime         = 100ms; | ||||
| static constexpr std::chrono::milliseconds kTemperatureTaskPeriod            = 1600ms; | ||||
| static constexpr std::chrono::milliseconds kTemperatureTaskDelay             = 1100ms; | ||||
| static constexpr std::chrono::milliseconds kTemperatureTaskComputationTime   = 100ms; | ||||
| static constexpr std::chrono::milliseconds kDisplayTask2Period               = 1600ms; | ||||
| static constexpr std::chrono::milliseconds kDisplayTask2Delay                = 1200ms; | ||||
| static constexpr std::chrono::milliseconds kDisplayTask2ComputationTime      = 100ms; | ||||
| static constexpr std::chrono::milliseconds kCPUTaskPeriod                    = 1600ms; | ||||
| static constexpr std::chrono::milliseconds kCPUTaskDelay                     = 0ms; | ||||
| static constexpr std::chrono::milliseconds kCPUTaskComputationTime           = 0ms; | ||||
|  | ||||
|  | ||||
| BikeSystem::BikeSystem() : | ||||
| 	_gearDevice(_timer), | ||||
|     _pedalDevice(_timer), | ||||
|     _resetDevice(_timer), | ||||
| 	_speedometer(_timer), | ||||
|     _cpuLogger(_timer) | ||||
| { | ||||
|  | ||||
| } | ||||
| BikeSystem::BikeSystem() | ||||
|     : _gearDevice(_timer), | ||||
|       _pedalDevice(_timer), | ||||
|       _resetDevice(_timer), | ||||
|       _speedometer(_timer), | ||||
|       _cpuLogger(_timer) {} | ||||
|  | ||||
| void BikeSystem::start() { | ||||
|     tr_info("Starting Super-Loop without event handling"); | ||||
| @@ -76,19 +72,17 @@ void BikeSystem::start() { | ||||
|     while (true) { | ||||
|         auto startTime = _timer.elapsed_time(); | ||||
|  | ||||
|         gearTask();				// 100ms :    0ms ->  100ms | ||||
|         speedDistanceTask();	// 200ms :  100ms ->  300ms | ||||
|         displayTask1();			// 200ms :  300ms ->  500ms | ||||
|         speedDistanceTask();    // 200ms :  500ms ->  700ms | ||||
|         resetTask();			// 100ms :  700ms ->  800ms | ||||
|         gearTask();				// 100ms :  800ms ->  900ms | ||||
|         speedDistanceTask();	// 200ms :  900ms -> 1100ms | ||||
|         temperatureTask();		// 100ms : 1100ms -> 1200ms | ||||
|         displayTask2();			// 100ms : 1200ms -> 1300ms | ||||
|         speedDistanceTask();	// 200ms : 1300ms -> 1500ms | ||||
|         resetTask();			// 100ms : 1500ms -> 1600ms | ||||
|          | ||||
|  | ||||
|         gearTask();           // 100ms :    0ms ->  100ms | ||||
|         speedDistanceTask();  // 200ms :  100ms ->  300ms | ||||
|         displayTask1();       // 200ms :  300ms ->  500ms | ||||
|         speedDistanceTask();  // 200ms :  500ms ->  700ms | ||||
|         resetTask();          // 100ms :  700ms ->  800ms | ||||
|         gearTask();           // 100ms :  800ms ->  900ms | ||||
|         speedDistanceTask();  // 200ms :  900ms -> 1100ms | ||||
|         temperatureTask();    // 100ms : 1100ms -> 1200ms | ||||
|         displayTask2();       // 100ms : 1200ms -> 1300ms | ||||
|         speedDistanceTask();  // 200ms : 1300ms -> 1500ms | ||||
|         resetTask();          // 100ms : 1500ms -> 1600ms | ||||
|  | ||||
|         // register the time at the end of the cyclic schedule period and print the | ||||
|         // elapsed time for the period | ||||
| @@ -97,35 +91,32 @@ void BikeSystem::start() { | ||||
|             std::chrono::duration_cast<std::chrono::milliseconds>(endTime - startTime); | ||||
|         tr_debug("Repeating cycle time is %" PRIu64 " milliseconds", cycle.count()); | ||||
|  | ||||
|         // TODO: implement loop exit when applicable | ||||
|         // Done | ||||
|         bool fStop = false; | ||||
|         core_util_atomic_load(&fStop); | ||||
|         if (fStop) { | ||||
|             break; | ||||
|         } | ||||
|  | ||||
|         #if !defined(MBED_TEST_MODE) | ||||
|         	_cpuLogger.printStats(); | ||||
|         #endif | ||||
|  | ||||
| #if !defined(MBED_TEST_MODE) | ||||
|         _cpuLogger.printStats(); | ||||
| #endif | ||||
|     } | ||||
| } | ||||
|  | ||||
| void BikeSystem::startWithEventQueue() { | ||||
|  | ||||
|     tr_info("Starting Super-Loop with event handling"); | ||||
|  | ||||
|     init(); | ||||
|  | ||||
|     EventQueue eventQueue; | ||||
|  | ||||
| 	Event<void()> gearEvent(&eventQueue, callback(this, &BikeSystem::gearTask)); | ||||
| 	gearEvent.delay(kGearTaskDelay); | ||||
| 	gearEvent.period(kGearTaskPeriod); | ||||
| 	gearEvent.post(); | ||||
|     Event<void()> gearEvent(&eventQueue, callback(this, &BikeSystem::gearTask)); | ||||
|     gearEvent.delay(kGearTaskDelay); | ||||
|     gearEvent.period(kGearTaskPeriod); | ||||
|     gearEvent.post(); | ||||
|  | ||||
|     Event<void()> speedDistanceEvent(&eventQueue, callback(this, &BikeSystem::speedDistanceTask)); | ||||
|     Event<void()> speedDistanceEvent(&eventQueue, | ||||
|                                      callback(this, &BikeSystem::speedDistanceTask)); | ||||
|     speedDistanceEvent.delay(kSpeedDistanceTaskDelay); | ||||
|     speedDistanceEvent.period(kSpeedDistanceTaskPeriod); | ||||
|     speedDistanceEvent.post(); | ||||
| @@ -140,7 +131,8 @@ void BikeSystem::startWithEventQueue() { | ||||
|     resetEvent.period(kResetTaskPeriod); | ||||
|     resetEvent.post(); | ||||
|  | ||||
|     Event<void()> temperatureEvent(&eventQueue, callback(this, &BikeSystem::temperatureTask)); | ||||
|     Event<void()> temperatureEvent(&eventQueue, | ||||
|                                    callback(this, &BikeSystem::temperatureTask)); | ||||
|     temperatureEvent.delay(kTemperatureTaskDelay); | ||||
|     temperatureEvent.period(kTemperatureTaskPeriod); | ||||
|     temperatureEvent.post(); | ||||
| @@ -150,14 +142,14 @@ void BikeSystem::startWithEventQueue() { | ||||
|     display2Event.period(kDisplayTask2Period); | ||||
|     display2Event.post(); | ||||
|  | ||||
| 	#if !defined(MBED_TEST_MODE) | ||||
|   		Event<void()> cpuEvent(&eventQueue, callback(this, &BikeSystem::cpuTask)); | ||||
|   		cpuEvent.delay(kCPUTaskDelay); | ||||
|   		cpuEvent.period(kCPUTaskPeriod); | ||||
|   		cpuEvent.post(); | ||||
| 	#endif | ||||
|      | ||||
| 	eventQueue.dispatch_forever(); | ||||
| #if !defined(MBED_TEST_MODE) | ||||
|     Event<void()> cpuEvent(&eventQueue, callback(this, &BikeSystem::cpuTask)); | ||||
|     cpuEvent.delay(kCPUTaskDelay); | ||||
|     cpuEvent.period(kCPUTaskPeriod); | ||||
|     cpuEvent.post(); | ||||
| #endif | ||||
|  | ||||
|     eventQueue.dispatch_forever(); | ||||
| } | ||||
|  | ||||
| void BikeSystem::stop() { core_util_atomic_store_bool(&_stopFlag, true); } | ||||
| @@ -195,8 +187,7 @@ void BikeSystem::gearTask() { | ||||
|     _currentGearSize = _gearDevice.getCurrentGearSize(); | ||||
|  | ||||
|     _taskLogger.logPeriodAndExecutionTime( | ||||
|         _timer, advembsof::TaskLogger::kGearTaskIndex, taskStartTime | ||||
|     ); | ||||
|         _timer, advembsof::TaskLogger::kGearTaskIndex, taskStartTime); | ||||
| } | ||||
|  | ||||
| void BikeSystem::speedDistanceTask() { | ||||
| @@ -207,12 +198,11 @@ void BikeSystem::speedDistanceTask() { | ||||
|     _speedometer.setCurrentRotationTime(pedalRotationTime); | ||||
|     _speedometer.setGearSize(_currentGearSize); | ||||
|     // no need to protect access to data members (single threaded) | ||||
|     _currentSpeed    = _speedometer.getCurrentSpeed(); | ||||
|     _currentSpeed     = _speedometer.getCurrentSpeed(); | ||||
|     _traveledDistance = _speedometer.getDistance(); | ||||
|  | ||||
|     _taskLogger.logPeriodAndExecutionTime( | ||||
|         _timer, advembsof::TaskLogger::kSpeedTaskIndex, taskStartTime | ||||
|     ); | ||||
|         _timer, advembsof::TaskLogger::kSpeedTaskIndex, taskStartTime); | ||||
| } | ||||
|  | ||||
| void BikeSystem::temperatureTask() { | ||||
| @@ -225,18 +215,15 @@ 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) | ||||
|         ) | ||||
|     ); | ||||
|     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); | ||||
| @@ -263,18 +250,15 @@ void BikeSystem::displayTask1() { | ||||
|     _displayDevice.displaySpeed(_currentSpeed); | ||||
|     _displayDevice.displayDistance(_traveledDistance); | ||||
|  | ||||
|     ThisThread::sleep_for( | ||||
|         std::chrono::duration_cast<std::chrono::milliseconds>( | ||||
|             kDisplayTask1ComputationTime - (_timer.elapsed_time() - taskStartTime) | ||||
|         ) | ||||
|     ); | ||||
|     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); | ||||
| @@ -285,24 +269,19 @@ void BikeSystem::displayTask2() { | ||||
|  | ||||
|     _displayDevice.displayTemperature(_currentTemperature); | ||||
|  | ||||
|     ThisThread::sleep_for( | ||||
|         std::chrono::duration_cast<std::chrono::milliseconds>( | ||||
|             kDisplayTask2ComputationTime - (_timer.elapsed_time() - taskStartTime) | ||||
|         ) | ||||
|     ); | ||||
|     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); | ||||
| } | ||||
|  | ||||
| void BikeSystem::cpuTask() { | ||||
|     _cpuLogger.printStats(); | ||||
| } | ||||
| void BikeSystem::cpuTask() { _cpuLogger.printStats(); } | ||||
|  | ||||
| }  // namespace static_scheduling | ||||
| }  // namespace static_scheduling | ||||
|   | ||||
		Reference in New Issue
	
	Block a user