Subversion Repositories NaviCtrl

Rev

Rev 659 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 659 Rev 663
Line 99... Line 99...
99
volatile u32 PollingTimeout = 10000;
99
volatile u32 PollingTimeout = 10000;
100
Param_t Parameter;
100
Param_t Parameter;
101
volatile FC_t FC;
101
volatile FC_t FC;
102
volatile u32 SPIWatchDog = 15000; // stop Navigation if this goes to zero
102
volatile u32 SPIWatchDog = 15000; // stop Navigation if this goes to zero
103
volatile u32 SD_WatchDog = 15000; // stop Logging if this goes to zero
103
volatile u32 SD_WatchDog = 15000; // stop Logging if this goes to zero
104
u32 CountGpsProcessedIn5Sec = 50,CountNewGpsDataIn5Sec = 25, FreqGpsProcessedIn5Sec = 0, FreqNewGpsData = 0;
104
u32 CountGpsProcessedIn5Sec = 50,CountNewGpsDataIn5Sec = 25, FreqGpsNavProcessed = 0, FreqNewGpsData = 0;
105
u8 NewWPL_Name = 0;
105
u8 NewWPL_Name = 0;
106
u32 MaxWP_Radius_in_m = 0;
106
u32 MaxWP_Radius_in_m = 0;
107
s8 ErrorMSG[25];
107
s8 ErrorMSG[25];
108
u32 TimeSinceMotorStart = 0;
108
u32 TimeSinceMotorStart = 0;
Line 391... Line 391...
391
        {
391
        {
392
                LED_RED_ON;
392
                LED_RED_ON;
393
                sprintf(ErrorMSG,"No GPS Fix      ");
393
                sprintf(ErrorMSG,"No GPS Fix      ");
394
                newErrorCode = 30;
394
                newErrorCode = 30;
395
        }
395
        }
396
        else if((FreqNewGpsData < 28 || FreqNewGpsData > 60) && TimeSinceMotorStart > 5)
396
        else if((FreqNewGpsData <= 35 || FreqNewGpsData > 60) && TimeSinceMotorStart > 15)
397
        {
397
        {
398
                LED_RED_ON;
398
                LED_RED_ON;
399
                sprintf(ErrorMSG,"GPS Update rate ");
399
                sprintf(ErrorMSG,"GPS Update rate ");
400
                newErrorCode = 38;
400
                newErrorCode = 38;
401
        }
401
        }
Line 472... Line 472...
472
        UART1_TransmitTxData(); // PC send answer
472
        UART1_TransmitTxData(); // PC send answer
473
        UART2_TransmitTxData(); // FC send answer
473
        UART2_TransmitTxData(); // FC send answer
Line 474... Line 474...
474
 
474
 
Line -... Line 475...
-
 
475
        if(!(FC.StatusFlags & FC_STATUS_MOTOR_RUN)) TimeSinceMotorStart = 0;
-
 
476
 
-
 
477
    if(FCCalibActive)
-
 
478
            {
-
 
479
             count5sec = 0;
-
 
480
             FreqNewGpsData = 50;
-
 
481
             CountNewGpsDataIn5Sec = 25;
-
 
482
             CountGpsProcessedIn5Sec = 0;
-
 
483
             TimerCheckError = SetDelay(1000);
475
        if(!(FC.StatusFlags & FC_STATUS_MOTOR_RUN)) TimeSinceMotorStart = 0;
484
            }
476
 
485
 
477
        // ---------------- Error Check Timing ----------------------------
486
        // ---------------- Error Check Timing ----------------------------
478
        if(CheckDelay(TimerCheckError) || (FC.StatusFlags & FC_STATUS_START && !(oldFcFlags & FC_STATUS_START))) // Timer or FY wants to start
487
        if(CheckDelay(TimerCheckError) || (FC.StatusFlags & FC_STATUS_START && !(oldFcFlags & FC_STATUS_START))) // Timer or FY wants to start
479
        {
488
        {
480
                if(CheckDelay(TimerCheckError))
489
                if(CheckDelay(TimerCheckError))
481
                {
490
                {
482
                        TimerCheckError = SetDelay(1000);
491
                        TimerCheckError = SetDelay(1000);
483
                        if(CompassValueErrorCount) CompassValueErrorCount--;
492
                        if(CompassValueErrorCount) CompassValueErrorCount--;
-
 
493
                        if(++count5sec == 5)
-
 
494
                        {
-
 
495
                                FreqGpsNavProcessed = CountGpsProcessedIn5Sec * 2; //400 = 40Hz
484
                        if(++count5sec == 5)
496
                                FreqNewGpsData = CountNewGpsDataIn5Sec;                    // 50 = 5,0Hz
485
                        {
-
 
486
                                count5sec = 0;
-
 
487
                                FreqGpsProcessedIn5Sec = CountGpsProcessedIn5Sec * 2;
497
 
488
                                FreqNewGpsData = CountNewGpsDataIn5Sec;
498
                                count5sec = 0;
-
 
499
                                CountGpsProcessedIn5Sec = 0;
489
                                CountGpsProcessedIn5Sec = 0;
500
                                CountNewGpsDataIn5Sec = FreqNewGpsData / 2;
490
                                CountNewGpsDataIn5Sec = FreqNewGpsData / 2;
501
                                ConfirmGpsUpdateRate(FreqNewGpsData);
491
                        }
502
                        }
492
                }
503
                }