Subversion Repositories NaviCtrl

Rev

Rev 473 | Rev 480 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 473 Rev 475
Line 307... Line 307...
307
        {
307
        {
308
                // avoid sending data via SPI during the update of the  ToFlightCtrl structure
308
                // avoid sending data via SPI during the update of the  ToFlightCtrl structure
309
                VIC_ITCmd(SSP0_ITLine, DISABLE); // disable SPI interrupt
309
                VIC_ITCmd(SSP0_ITLine, DISABLE); // disable SPI interrupt
310
                ToFlightCtrl.CompassHeading = Compass_Heading;
310
                ToFlightCtrl.CompassHeading = Compass_Heading;
311
                DebugOut.Analog[10] = ToFlightCtrl.CompassHeading;
311
                DebugOut.Analog[10] = ToFlightCtrl.CompassHeading;
312
GyroCompassCorrected = (3600 + FromFlightCtrl.GyroHeading - GeoMagDec) % 3600;
312
GyroCompassCorrected = (3600 + FromFlightCtrl.GyroHeading + FC.FromFC_CompassOffset - GeoMagDec) % 3600;
313
                if(ToFlightCtrl.CompassHeading >= 0) ToFlightCtrl.CompassHeading = (360 + ToFlightCtrl.CompassHeading + FromFlightCtrl.GyroYaw / 12) % 360;
313
                if(ToFlightCtrl.CompassHeading >= 0) ToFlightCtrl.CompassHeading = (360 + ToFlightCtrl.CompassHeading + FromFlightCtrl.GyroYaw / 12) % 360;
314
                ToFlightCtrl.MagVecX = MagVector.X;
314
                ToFlightCtrl.MagVecX = MagVector.X;
315
                ToFlightCtrl.MagVecY = MagVector.Y;
315
                ToFlightCtrl.MagVecY = MagVector.Y;
316
                ToFlightCtrl.MagVecZ = MagVector.Z;
316
                ToFlightCtrl.MagVecZ = MagVector.Z;
317
//              ToFlightCtrl.NCStatus = 0;
317
//              ToFlightCtrl.NCStatus = 0;
Line 735... Line 735...
735
                                FC_Version.Patch                = FromFlightCtrl.Param.Byte[2];
735
                                FC_Version.Patch                = FromFlightCtrl.Param.Byte[2];
736
                                FC_Version.Compatible   = FromFlightCtrl.Param.Byte[3];
736
                                FC_Version.Compatible   = FromFlightCtrl.Param.Byte[3];
737
                                FC_Version.Hardware             = FromFlightCtrl.Param.Byte[4];
737
                                FC_Version.Hardware             = FromFlightCtrl.Param.Byte[4];
738
                                FC.Error[0]                     |= FromFlightCtrl.Param.Byte[5];
738
                                FC.Error[0]                     |= FromFlightCtrl.Param.Byte[5];
739
                                FC.Error[1]                     |= FromFlightCtrl.Param.Byte[6];
739
                                FC.Error[1]                     |= FromFlightCtrl.Param.Byte[6];
740
//      frei            FC.Error[2]                     |= FromFlightCtrl.Param.Byte[7];
740
                                if(FromFlightCtrl.Param.Byte[7] >= 68 && FromFlightCtrl.Param.Byte[7] <= 188)
-
 
741
                                {
-
 
742
                                 FC.FromFC_DisableDeclination = 1;
-
 
743
                                 FC.FromFC_CompassOffset = 10 * (signed char) ((unsigned char) FromFlightCtrl.Param.Byte[7] - 128);
-
 
744
                                 GeoMagDec = 0;
-
 
745
                                }
-
 
746
                                else
-
 
747
                                {
-
 
748
                                 FC.FromFC_DisableDeclination = 0;
-
 
749
                                 FC.FromFC_CompassOffset = 10 * (signed char) FromFlightCtrl.Param.Byte[7];
-
 
750
                                }
741
                                Parameter.GlobalConfig = FromFlightCtrl.Param.Byte[8];
751
                                Parameter.GlobalConfig = FromFlightCtrl.Param.Byte[8];
742
                                Parameter.ExtraConfig = FromFlightCtrl.Param.Byte[9];
752
                                Parameter.ExtraConfig = FromFlightCtrl.Param.Byte[9];
743
                                Parameter.OrientationAngle = FromFlightCtrl.Param.Byte[10];
753
                                Parameter.OrientationAngle = FromFlightCtrl.Param.Byte[10];
744
                                Parameter.GlobalConfig3 = FromFlightCtrl.Param.Byte[11];
754
                                Parameter.GlobalConfig3 = FromFlightCtrl.Param.Byte[11];
745
                                DebugOut.StatusGreen |= AMPEL_FC; // status of FC Present
755
                                DebugOut.StatusGreen |= AMPEL_FC; // status of FC Present