diff --git a/Makefile b/Makefile index 53159fa346..c083a61906 100644 --- a/Makefile +++ b/Makefile @@ -363,8 +363,6 @@ COMMON_SRC = \ $(TARGET_DIR_SRC) \ main.c \ mw.c \ - scheduler.c \ - scheduler_tasks.c \ common/encoding.c \ common/filter.c \ common/maths.c \ @@ -414,6 +412,8 @@ COMMON_SRC = \ rx/sumd.c \ rx/sumh.c \ rx/xbus.c \ + scheduler/scheduler.c \ + scheduler/scheduler_tasks.c \ sensors/acceleration.c \ sensors/battery.c \ sensors/boardalignment.c \ diff --git a/src/main/io/display.c b/src/main/io/display.c index ed394d9c95..a61b64f276 100644 --- a/src/main/io/display.c +++ b/src/main/io/display.c @@ -63,9 +63,9 @@ #include "config/runtime_config.h" #include "config/config_profile.h" -#include "display.h" +#include "io/display.h" -#include "scheduler.h" +#include "scheduler/scheduler.h" extern profile_t *currentProfile; diff --git a/src/main/io/serial_cli.c b/src/main/io/serial_cli.c index e057e6f926..68f16d4c12 100644 --- a/src/main/io/serial_cli.c +++ b/src/main/io/serial_cli.c @@ -24,7 +24,6 @@ #include #include "platform.h" -#include "scheduler.h" #include "version.h" #include "debug.h" @@ -91,7 +90,8 @@ #include "common/printf.h" -#include "serial_cli.h" +#include "io/serial_cli.h" +#include "scheduler/scheduler.h" // FIXME remove this for targets that don't need a CLI. Perhaps use a no-op macro when USE_CLI is not enabled // signal that we're in cli mode diff --git a/src/main/io/serial_msp.c b/src/main/io/serial_msp.c index 31756bbe08..df3988e281 100644 --- a/src/main/io/serial_msp.c +++ b/src/main/io/serial_msp.c @@ -24,7 +24,6 @@ #include "build_config.h" #include "debug.h" #include "platform.h" -#include "scheduler.h" #include "common/axis.h" #include "common/color.h" @@ -61,6 +60,8 @@ #include "telemetry/telemetry.h" +#include "scheduler/scheduler.h" + #include "sensors/boardalignment.h" #include "sensors/sensors.h" #include "sensors/battery.h" diff --git a/src/main/main.c b/src/main/main.c index d836deee07..026bcfa178 100644 --- a/src/main/main.c +++ b/src/main/main.c @@ -22,8 +22,6 @@ #include #include "platform.h" -#include "scheduler.h" - #include "common/axis.h" #include "common/color.h" #include "common/maths.h" @@ -77,6 +75,8 @@ #include "io/transponder_ir.h" #include "io/vtx.h" +#include "scheduler/scheduler.h" + #include "sensors/sensors.h" #include "sensors/sonar.h" #include "sensors/barometer.h" diff --git a/src/main/mw.c b/src/main/mw.c index 717dc10e8b..cf70e2ca16 100644 --- a/src/main/mw.c +++ b/src/main/mw.c @@ -21,7 +21,6 @@ #include #include "platform.h" -#include "scheduler.h" #include "debug.h" #include "common/maths.h" @@ -86,6 +85,9 @@ #include "config/config_profile.h" #include "config/config_master.h" +#include "scheduler/scheduler.h" +#include "scheduler/scheduler_tasks.h" + // June 2013 V2.2-dev enum { @@ -839,8 +841,9 @@ void taskUpdateBattery(void) } } -bool taskUpdateRxCheck(void) +bool taskUpdateRxCheck(uint32_t currentDeltaTime) { + UNUSED(currentDeltaTime); updateRx(currentTime); return shouldProcessRx(currentTime); } diff --git a/src/main/scheduler.c b/src/main/scheduler/scheduler.c similarity index 99% rename from src/main/scheduler.c rename to src/main/scheduler/scheduler.c index 7e7b98469b..7fe3fea8ec 100755 --- a/src/main/scheduler.c +++ b/src/main/scheduler/scheduler.c @@ -23,10 +23,12 @@ #include "platform.h" -#include "scheduler.h" #include "debug.h" #include "build_config.h" +#include "scheduler/scheduler.h" +#include "scheduler/scheduler_tasks.h" + #include "common/maths.h" #include "drivers/system.h" diff --git a/src/main/scheduler.h b/src/main/scheduler/scheduler.h similarity index 100% rename from src/main/scheduler.h rename to src/main/scheduler/scheduler.h diff --git a/src/main/scheduler_tasks.c b/src/main/scheduler/scheduler_tasks.c similarity index 88% rename from src/main/scheduler_tasks.c rename to src/main/scheduler/scheduler_tasks.c index c2b949259a..bc66fb6dab 100644 --- a/src/main/scheduler_tasks.c +++ b/src/main/scheduler/scheduler_tasks.c @@ -20,30 +20,9 @@ #include #include -#include "scheduler.h" -void taskSystem(void); -void taskMainPidLoopCheck(void); -void taskUpdateAccelerometer(void); -void taskUpdateAttitude(void); -bool taskUpdateRxCheck(uint32_t currentDeltaTime); -void taskUpdateRxMain(void); -void taskHandleSerial(void); -void taskUpdateBattery(void); -void taskUpdateBeeper(void); -void taskProcessGPS(void); -void taskUpdateCompass(void); -void taskUpdateBaro(void); -void taskUpdateSonar(void); -void taskCalculateAltitude(void); -void taskUpdateDisplay(void); -void taskTelemetry(void); -void taskLedStrip(void); -void taskTransponder(void); -#ifdef USE_BST -void taskBstReadWrite(void); -void taskBstMasterProcess(void); -#endif +#include "scheduler/scheduler.h" +#include "scheduler/scheduler_tasks.h" cfTask_t cfTasks[TASK_COUNT] = { [TASK_SYSTEM] = { diff --git a/src/main/scheduler/scheduler_tasks.h b/src/main/scheduler/scheduler_tasks.h new file mode 100644 index 0000000000..a570afa967 --- /dev/null +++ b/src/main/scheduler/scheduler_tasks.h @@ -0,0 +1,42 @@ +/* + * This file is part of Cleanflight. + * + * Cleanflight is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Cleanflight is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Cleanflight. If not, see . + */ + +#pragma once + +void taskSystem(void); +void taskMainPidLoopCheck(void); +void taskUpdateAccelerometer(void); +void taskUpdateAttitude(void); +bool taskUpdateRxCheck(uint32_t currentDeltaTime); +void taskUpdateRxMain(void); +void taskHandleSerial(void); +void taskUpdateBattery(void); +void taskUpdateBeeper(void); +void taskProcessGPS(void); +void taskUpdateCompass(void); +void taskUpdateBaro(void); +void taskUpdateSonar(void); +void taskCalculateAltitude(void); +void taskUpdateDisplay(void); +void taskTelemetry(void); +void taskLedStrip(void); +void taskTransponder(void); +#ifdef USE_BST +void taskBstReadWrite(void); +void taskBstMasterProcess(void); +#endif + diff --git a/src/main/sensors/barometer.c b/src/main/sensors/barometer.c index e4ad51c3a9..2a011d8e2b 100644 --- a/src/main/sensors/barometer.c +++ b/src/main/sensors/barometer.c @@ -20,8 +20,6 @@ #include #include "platform.h" -#include "scheduler.h" - #include "common/maths.h" #include "drivers/barometer.h" diff --git a/src/test/unit/scheduler_unittest.cc b/src/test/unit/scheduler_unittest.cc index 95c21755c8..d998f2f4ec 100644 --- a/src/test/unit/scheduler_unittest.cc +++ b/src/test/unit/scheduler_unittest.cc @@ -19,7 +19,7 @@ extern "C" { #include "platform.h" - #include "scheduler.h" + #include "scheduler/scheduler.h" } #include "unittest_macros.h"