|
|
|
@ -953,16 +953,18 @@ static void perf_update(void)
@@ -953,16 +953,18 @@ static void perf_update(void)
|
|
|
|
|
|
|
|
|
|
void loop() |
|
|
|
|
{ |
|
|
|
|
// wait for an INS sample |
|
|
|
|
if (!ins.wait_for_sample(1000)) { |
|
|
|
|
Log_Write_Error(ERROR_SUBSYSTEM_MAIN, ERROR_CODE_INS_DELAY); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
uint32_t timer = micros(); |
|
|
|
|
|
|
|
|
|
// We want this to execute fast |
|
|
|
|
// ---------------------------- |
|
|
|
|
if (ins.sample_available()) { |
|
|
|
|
|
|
|
|
|
// check loop time |
|
|
|
|
perf_info_check_loop_time(timer - fast_loopTimer); |
|
|
|
|
|
|
|
|
|
G_Dt = (float)(timer - fast_loopTimer) / 1000000.f; // used by PI Loops |
|
|
|
|
// used by PI Loops |
|
|
|
|
G_Dt = (float)(timer - fast_loopTimer) / 1000000.f; |
|
|
|
|
fast_loopTimer = timer; |
|
|
|
|
|
|
|
|
|
// for mainloop failure monitoring |
|
|
|
@ -982,11 +984,6 @@ void loop()
@@ -982,11 +984,6 @@ void loop()
|
|
|
|
|
// call until scheduler.tick() is called again |
|
|
|
|
uint32_t time_available = (timer + 10000) - micros(); |
|
|
|
|
scheduler.run(time_available - 500); |
|
|
|
|
} |
|
|
|
|
if ((timer - fast_loopTimer) < 8500) { |
|
|
|
|
// we have plenty of time - be friendly to multi-tasking OSes |
|
|
|
|
hal.scheduler->delay(1); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|