Subversion Repositories NaviCtrl

Rev

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

Rev 638 Rev 644
Line 210... Line 210...
210
                                                        memcpy((u8 *) &FromFlightCtrl, (u8 *) SPI_RxBuffer, sizeof(FromFlightCtrl));
210
                                                        memcpy((u8 *) &FromFlightCtrl, (u8 *) SPI_RxBuffer, sizeof(FromFlightCtrl));
211
                                                        SPI_RxBuffer_Request = 1;
211
                                                        SPI_RxBuffer_Request = 1;
212
                                                }
212
                                                }
213
                                                // reset timeout counter on good packet
213
                                                // reset timeout counter on good packet
214
                                                SPI0_Timeout = SetDelay(SPI0_TIMEOUT);
214
                                                SPI0_Timeout = SetDelay(SPI0_TIMEOUT);
215
                                                DebugOut.Analog[13]++;
215
//                                              DebugOut.Analog[13]++;
216
                                        }
216
                                        }
217
                                        else // bad checksum byte
217
                                        else // bad checksum byte
218
                                        {
218
                                        {
219
                                                DebugOut.Analog[12]++; // increase SPI chksum error counter
219
                                                DebugOut.Analog[12]++; // increase SPI chksum error counter
220
                                        }
220
                                        }
Line 629... Line 629...
629
                                if(FC.StatusFlags & FC_STATUS_CALIBRATE && !FCCalibActive)
629
                                if(FC.StatusFlags & FC_STATUS_CALIBRATE && !FCCalibActive)
630
                                {
630
                                {
631
                                        HeadFreeStartAngle = (3600 + Compass_Heading * 10 + GeoMagDec) % 3600;
631
                                        HeadFreeStartAngle = (3600 + Compass_Heading * 10 + GeoMagDec) % 3600;
632
                                        CompassDirectionAtMotorStart = HeadFreeStartAngle;
632
                                        CompassDirectionAtMotorStart = HeadFreeStartAngle;
633
                                        Compass_Init();
633
                                        Compass_Init();
634
                                        FCCalibActive = 10;
634
                                        FCCalibActive = 15;
635
                                        FC_is_Calibrated = 0;
635
                                        FC_is_Calibrated = 0;
-
 
636
FreqNewGpsDataIn5Sec = 50;
636
                                }
637
                                }
637
                                else
638
                                else
638
                                {
639
                                {
639
                                        if(FCCalibActive)
640
                                        if(FCCalibActive)
640
                                        {
641
                                        {
Line 856... Line 857...
856
                                ServoParams.CompInvert = FromFlightCtrl.Param.Byte[4];
857
                                ServoParams.CompInvert = FromFlightCtrl.Param.Byte[4];
857
                                Parameter.HomeYawMode = ((ServoParams.CompInvert & 0x18) >> 3);
858
                                Parameter.HomeYawMode = ((ServoParams.CompInvert & 0x18) >> 3);
858
                                NaviData_Home.LipoCellCount = FromFlightCtrl.Param.Byte[5];
859
                                NaviData_Home.LipoCellCount = FromFlightCtrl.Param.Byte[5];
859
                                NaviData_Volatile.ShutterCounter = FromFlightCtrl.Param.Int[3];   // 6 & 7
860
                                NaviData_Volatile.ShutterCounter = FromFlightCtrl.Param.Int[3];   // 6 & 7
860
                                LowVoltageLandingActive = FromFlightCtrl.Param.Byte[8];
861
                                LowVoltageLandingActive = FromFlightCtrl.Param.Byte[8];
-
 
862
                                Parameter.FailSafeTime = FromFlightCtrl.Param.Byte[9];
861
// DebugOut.Analog[] = NaviData_Volatile.ShutterCounter;
863
// DebugOut.Analog[] = NaviData_Volatile.ShutterCounter;
862
// 8
864
// 8
863
// 9
865
// 9
864
// 10
866
// 10
865
// 11
867
// 11
Line 919... Line 921...
919
                        SPI0_UpdateBuffer();
921
                        SPI0_UpdateBuffer();
920
                        if (FC_Version.Major != 0xFF)  break;
922
                        if (FC_Version.Major != 0xFF)  break;
921
                }while (!CheckDelay(timeout));
923
                }while (!CheckDelay(timeout));
922
                UART1_PutString(".");
924
                UART1_PutString(".");
923
                repeat++;
925
                repeat++;
924
                FCCalibActive = 1;
926
                FCCalibActive = 0;
925
        }while((FC_Version.Major == 0xFF) && (repeat < 40)); // 40*250ms = 10s
927
        }while((FC_Version.Major == 0xFF) && (repeat < 40)); // 40*250ms = 10s
926
        // if we got it
928
        // if we got it
927
        if (FC_Version.Major != 0xFF)
929
        if (FC_Version.Major != 0xFF)
928
        {
930
        {
929
                sprintf(msg, " FC V%d.%02d%c HW:%d.%d", FC_Version.Major, FC_Version.Minor, 'a'+FC_Version.Patch, FC_Version.Hardware/10,FC_Version.Hardware%10);
931
                sprintf(msg, " FC V%d.%02d%c HW:%d.%d", FC_Version.Major, FC_Version.Minor, 'a'+FC_Version.Patch, FC_Version.Hardware/10,FC_Version.Hardware%10);