rusefi/unit_tests/global_execution_queue.cpp

46 lines
1.1 KiB
C++
Raw Normal View History

2018-12-08 15:11:28 -08:00
/*
* global_execution_queue.cpp
*
* @date Dec 8, 2018
* @author Andrey Belomutskiy, (c) 2012-2018
*/
#include "global_execution_queue.h"
2018-12-08 15:11:28 -08:00
bool_t debugSignalExecutor = false;
2019-08-24 23:01:09 -07:00
extern bool verboseMode;
2018-12-08 15:11:28 -08:00
void TestExecutor::scheduleForLater(scheduling_s *scheduling, int delayUs, action_s action) {
if (debugSignalExecutor) {
printf("scheduleTask %d\r\n", delayUs);
}
scheduleByTimestamp(scheduling, getTimeNowUs() + delayUs, action);
}
int TestExecutor::executeAll(efitime_t now) {
return schedulingQueue.executeAll(now);
}
void TestExecutor::clear() {
schedulingQueue.clear();
}
int TestExecutor::size() {
return schedulingQueue.size();
}
scheduling_s* TestExecutor::getForUnitTest(int index) {
2019-12-02 21:20:47 -08:00
return schedulingQueue.getElementAtIndexForUnitText(index);
}
void TestExecutor::scheduleByTimestamp(scheduling_s *scheduling, efitimeus_t timeUs, action_s action) {
2018-12-08 15:11:28 -08:00
if (debugSignalExecutor) {
printf("scheduleByTime %d\r\n", timeUs);
2018-12-08 15:11:28 -08:00
}
schedulingQueue.insertTask(scheduling, timeUs, action);
2018-12-08 15:11:28 -08:00
}
void TestExecutor::scheduleByTimestampNt(scheduling_s* scheduling, efitick_t timeNt, action_s action) {
scheduleByTimestamp(scheduling, NT2US(timeNt), action);
}