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); |