Subversion Repositories NaviCtrl

Rev

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

Rev 463 Rev 471
Line 115... Line 115...
115
u8 GPS_Aid_StickMultiplikator = 0;
115
u8 GPS_Aid_StickMultiplikator = 0;
116
u8 NC_GPS_ModeCharacter = ' ';
116
u8 NC_GPS_ModeCharacter = ' ';
117
u8 FCCalibActive = 0;
117
u8 FCCalibActive = 0;
118
u8 FC_is_Calibrated = 0;
118
u8 FC_is_Calibrated = 0;
119
Motor_t Motor[12];
119
Motor_t Motor[12];
-
 
120
u8 Motor_Version[12]; // das kann nicht in die struct, weil der PC die Struktur bekommt
120
u8 NC_To_FC_Flags = 0;
121
u8 NC_To_FC_Flags = 0;
121
u8 BL_MinOfMaxPWM;  // indication if all BL-controllers run on full power
122
u8 BL_MinOfMaxPWM;  // indication if all BL-controllers run on full power
122
u32 FC_I2C_ErrorConter;
123
u32 FC_I2C_ErrorConter;
123
SPI_Version_t FC_Version;
124
SPI_Version_t FC_Version;
124
s16 POI_KameraNick = 0;
125
s16 POI_KameraNick = 0;
Line 602... Line 603...
602
                                         }
603
                                         }
603
                                         else                                                                                            // Ansonsten die aktuelle Richtung übernehmen
604
                                         else                                                                                            // Ansonsten die aktuelle Richtung übernehmen
604
                                          HeadFreeStartAngle = GyroCompassCorrected; // in 0.1°   
605
                                          HeadFreeStartAngle = GyroCompassCorrected; // in 0.1°   
605
                                        }
606
                                        }
606
                                }
607
                                }
607
 
-
 
608
                                Parameter.ActiveSetting = FromFlightCtrl.Param.Byte[9];
608
                                Parameter.ActiveSetting = FromFlightCtrl.Param.Byte[9];
-
 
609
                                FC.BAT_Voltage = FromFlightCtrl.Param.Byte[10];
609
                                DebugOut.Analog[5] = FC.StatusFlags;
610
                                DebugOut.Analog[5] = FC.StatusFlags;
610
                                NaviData.FCStatusFlags = FC.StatusFlags;
611
                                NaviData.FCStatusFlags = FC.StatusFlags;
611
if(FC.StatusFlags2 & FC_STATUS2_WAIT_FOR_TAKEOFF) NaviData.FCStatusFlags &= ~FC_STATUS_FLY;
612
if(FC.StatusFlags2 & FC_STATUS2_WAIT_FOR_TAKEOFF) NaviData.FCStatusFlags &= ~FC_STATUS_FLY;
612
                                FC.StatusFlags2 = FromFlightCtrl.Param.Byte[11];
613
                                FC.StatusFlags2 = FromFlightCtrl.Param.Byte[11];
613
                                NaviData.FCStatusFlags2 = (NaviData.FCStatusFlags2 & (FC_STATUS2_OUT1_ACTIVE | FC_STATUS2_OUT2_ACTIVE)) | (FC.StatusFlags2 & (0xff - (FC_STATUS2_OUT1_ACTIVE | FC_STATUS2_OUT2_ACTIVE)));
614
                                NaviData.FCStatusFlags2 = (NaviData.FCStatusFlags2 & (FC_STATUS2_OUT1_ACTIVE | FC_STATUS2_OUT2_ACTIVE)) | (FC.StatusFlags2 & (0xff - (FC_STATUS2_OUT1_ACTIVE | FC_STATUS2_OUT2_ACTIVE)));
Line 620... Line 621...
620
                                else
621
                                else
621
                                if(((LastTransmittedFCStatusFlags2 & FC_STATUS2_OUT2_ACTIVE)) && !(FC.StatusFlags2 & FC_STATUS2_OUT2_ACTIVE)) NaviData.FCStatusFlags2 &= ~FC_STATUS2_OUT2_ACTIVE;
622
                                if(((LastTransmittedFCStatusFlags2 & FC_STATUS2_OUT2_ACTIVE)) && !(FC.StatusFlags2 & FC_STATUS2_OUT2_ACTIVE)) NaviData.FCStatusFlags2 &= ~FC_STATUS2_OUT2_ACTIVE;
Line 622... Line 623...
622
 
623
 
623
                                Logging_FCStatusFlags1 |= FC.StatusFlags;
624
                                Logging_FCStatusFlags1 |= FC.StatusFlags;
624
                                Logging_FCStatusFlags2 |= FC.StatusFlags2;
-
 
625
                                Parameter.ComingHomeAltitude = FromFlightCtrl.Param.Byte[10];
625
                                Logging_FCStatusFlags2 |= FC.StatusFlags2;
Line 626... Line 626...
626
                                break;
626
                                break;
627
 
627
 
628
                        case SPI_FCCMD_BL_ACCU:
628
                        case SPI_FCCMD_BL_ACCU:
629
                                FC.BAT_Current = FromFlightCtrl.Param.Int[0];
629
                                FC.BAT_Current = FromFlightCtrl.Param.Int[0];
630
                                FC.BAT_UsedCapacity = FromFlightCtrl.Param.Int[1];
630
                                FC.BAT_UsedCapacity = FromFlightCtrl.Param.Int[1];
631
                                FC.BAT_Voltage = FromFlightCtrl.Param.Byte[4];
631
                                Parameter.NaviGpsModeControl = FromFlightCtrl.Param.Byte[4];
632
                                Parameter.NaviGpsModeControl = FromFlightCtrl.Param.Byte[5];
632
                                FromFC_VarioCharacter = FromFlightCtrl.Param.Byte[5];
633
                                FromFC_VarioCharacter = FromFlightCtrl.Param.Byte[6];
633
                                Motor_Version[FromFlightCtrl.Param.Byte[6]] = FromFlightCtrl.Param.Byte[7];
634
                                Motor[FromFlightCtrl.Param.Byte[7]].MaxPWM = FromFlightCtrl.Param.Byte[8];
634
                                Motor[FromFlightCtrl.Param.Byte[6]].MaxPWM = FromFlightCtrl.Param.Byte[8];
635
                                Motor[FromFlightCtrl.Param.Byte[7]].State = FromFlightCtrl.Param.Byte[9];
635
                                Motor[FromFlightCtrl.Param.Byte[6]].State = FromFlightCtrl.Param.Byte[9];
636
                                Motor[FromFlightCtrl.Param.Byte[7]].Temperature = FromFlightCtrl.Param.Byte[10];
636
                                Motor[FromFlightCtrl.Param.Byte[6]].Temperature = FromFlightCtrl.Param.Byte[10];
637
                                Motor[FromFlightCtrl.Param.Byte[7]].Current = FromFlightCtrl.Param.Byte[11];
637
                                Motor[FromFlightCtrl.Param.Byte[6]].Current = FromFlightCtrl.Param.Byte[11];
638
                                if(FromFC_VarioCharacter == '+' || FromFC_VarioCharacter == '-') // manual setpoint clears the NC-Parameter command
638
                                if(FromFC_VarioCharacter == '+' || FromFC_VarioCharacter == '-') // manual setpoint clears the NC-Parameter command
639
                                 {
639
                                 {
640
                                  NCParams_ClearValue(NCPARAMS_ALTITUDE_RATE);
640
                                  NCParams_ClearValue(NCPARAMS_ALTITUDE_RATE);
Line 659... Line 659...
659
                                break;
659
                                break;
660
                        case SPI_FCCMD_PARAMETER2:
660
                        case SPI_FCCMD_PARAMETER2:
661
                                CHK_POTI_MM(Parameter.NaviOut1Parameter,FromFlightCtrl.Param.Byte[0],0,255);
661
                                CHK_POTI_MM(Parameter.NaviOut1Parameter,FromFlightCtrl.Param.Byte[0],0,255);
662
                                if(FromFlightCtrl.Param.Byte[1]) FC.FromFC_SpeakHoTT = FromFlightCtrl.Param.Byte[1];     // will be cleared in the SD-Logging
662
                                if(FromFlightCtrl.Param.Byte[1]) FC.FromFC_SpeakHoTT = FromFlightCtrl.Param.Byte[1];     // will be cleared in the SD-Logging
663
                Parameter.FromFC_LandingSpeed = FromFlightCtrl.Param.Byte[2];
663
                Parameter.FromFC_LandingSpeed = FromFlightCtrl.Param.Byte[2];
-
 
664
                                Parameter.ComingHomeAltitude = FromFlightCtrl.Param.Byte[3];
664
                                break;
665
                                break;
665
                        case SPI_FCCMD_STICK:
666
                        case SPI_FCCMD_STICK:
666
                                FC.StickGas     = FromFlightCtrl.Param.sByte[0];
667
                                FC.StickGas     = FromFlightCtrl.Param.sByte[0];
667
                                FC.StickYaw     = FromFlightCtrl.Param.sByte[1];
668
                                FC.StickYaw     = FromFlightCtrl.Param.sByte[1];
668
                                FC.StickRoll    = FromFlightCtrl.Param.sByte[2];
669
                                FC.StickRoll    = FromFlightCtrl.Param.sByte[2];