Separate the initialization and main step into two different functions.

For testing, it is useful to have the loop be separated from the
initialization so that an external function can step through the
main loop.
This commit is contained in:
JOhn Aughey 2016-04-28 12:58:37 -05:00
parent b3216439de
commit ac11732a86
1 changed files with 14 additions and 5 deletions

View File

@ -26,7 +26,6 @@
#include "common/axis.h" #include "common/axis.h"
#include "common/color.h" #include "common/color.h"
#include "common/atomic.h"
#include "common/maths.h" #include "common/maths.h"
#include "drivers/nvic.h" #include "drivers/nvic.h"
@ -658,7 +657,7 @@ void processLoopback(void) {
#define processLoopback() #define processLoopback()
#endif #endif
int main(void) { void main_init(void) {
init(); init();
/* Setup scheduler */ /* Setup scheduler */
@ -729,12 +728,22 @@ int main(void) {
#ifdef USE_BST #ifdef USE_BST
setTaskEnabled(TASK_BST_MASTER_PROCESS, true); setTaskEnabled(TASK_BST_MASTER_PROCESS, true);
#endif #endif
}
while (1) { void main_step(void) {
scheduler(); scheduler();
processLoopback(); processLoopback();
}
#ifndef NOMAIN
int main(void)
{
main_init();
while(1) {
main_step();
} }
} }
#endif
#ifdef DEBUG_HARDFAULTS #ifdef DEBUG_HARDFAULTS
//from: https://mcuoneclipse.com/2012/11/24/debugging-hard-faults-on-arm-cortex-m/ //from: https://mcuoneclipse.com/2012/11/24/debugging-hard-faults-on-arm-cortex-m/