1
0
Fork 0
mirror of https://github.com/iNavFlight/inav.git synced 2025-07-23 16:25:26 +03:00

Merge pull request #1728 from iNavFlight/de_nav_time_overflow

Fix incorrect time types
This commit is contained in:
Konstantin Sharlaimov 2017-05-27 21:07:49 +10:00 committed by GitHub
commit 205e8b690c
2 changed files with 5 additions and 5 deletions

View file

@ -1242,9 +1242,9 @@ static navigationFSMState_t navSetNewFSMState(navigationFSMState_t newState)
static void navProcessFSMEvents(navigationFSMEvent_t injectedEvent) static void navProcessFSMEvents(navigationFSMEvent_t injectedEvent)
{ {
const uint32_t currentMillis = millis(); const timeMs_t currentMillis = millis();
navigationFSMState_t previousState; navigationFSMState_t previousState;
static uint32_t lastStateProcessTime = 0; static timeMs_t lastStateProcessTime = 0;
/* If timeout event defined and timeout reached - switch state */ /* If timeout event defined and timeout reached - switch state */
if ((navFSM[posControl.navState].timeoutMs > 0) && (navFSM[posControl.navState].onEvent[NAV_FSM_EVENT_TIMEOUT] != NAV_STATE_UNDEFINED) && if ((navFSM[posControl.navState].timeoutMs > 0) && (navFSM[posControl.navState].onEvent[NAV_FSM_EVENT_TIMEOUT] != NAV_STATE_UNDEFINED) &&

View file

@ -221,7 +221,7 @@ static void inavFilterCorrectVel(int axis, float dt, float e, float w)
#define resetTimer(tim, currentTimeUs) { (tim)->deltaTime = 0; (tim)->lastTriggeredTime = currentTimeUs; } #define resetTimer(tim, currentTimeUs) { (tim)->deltaTime = 0; (tim)->lastTriggeredTime = currentTimeUs; }
#define getTimerDeltaMicros(tim) ((tim)->deltaTime) #define getTimerDeltaMicros(tim) ((tim)->deltaTime)
static bool updateTimer(navigationTimer_t * tim, uint32_t interval, timeUs_t currentTimeUs) static bool updateTimer(navigationTimer_t * tim, timeUs_t interval, timeUs_t currentTimeUs)
{ {
if ((currentTimeUs - tim->lastTriggeredTime) >= interval) { if ((currentTimeUs - tim->lastTriggeredTime) >= interval) {
tim->deltaTime = currentTimeUs - tim->lastTriggeredTime; tim->deltaTime = currentTimeUs - tim->lastTriggeredTime;
@ -254,7 +254,7 @@ static bool shouldResetReferenceAltitude(void)
* Don't overload your GPS in its config with trash, choose a Hz rate that it can deliver at a sustained rate. * Don't overload your GPS in its config with trash, choose a Hz rate that it can deliver at a sustained rate.
* (c) CrashPilot1000 * (c) CrashPilot1000
*/ */
static uint32_t getGPSDeltaTimeFilter(uint32_t dTus) static timeUs_t getGPSDeltaTimeFilter(timeUs_t dTus)
{ {
if (dTus >= 225000 && dTus <= 275000) return HZ2US(4); // 4Hz Data 250ms if (dTus >= 225000 && dTus <= 275000) return HZ2US(4); // 4Hz Data 250ms
if (dTus >= 180000 && dTus <= 220000) return HZ2US(5); // 5Hz Data 200ms if (dTus >= 180000 && dTus <= 220000) return HZ2US(5); // 5Hz Data 200ms
@ -313,7 +313,7 @@ static bool detectGPSGlitch(timeUs_t currentTimeUs)
*/ */
void onNewGPSData(void) void onNewGPSData(void)
{ {
static uint32_t lastGPSNewDataTime; static timeUs_t lastGPSNewDataTime;
static int32_t previousLat; static int32_t previousLat;
static int32_t previousLon; static int32_t previousLon;
static int32_t previousAlt; static int32_t previousAlt;