Rev 74 | Rev 92 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 74 | Rev 89 | ||
---|---|---|---|
Line 101... | Line 101... | ||
101 | s32 PID_Limit; |
101 | s32 PID_Limit; |
102 | u32 BrakingDuration; |
102 | u32 BrakingDuration; |
103 | u8 MinSat; |
103 | u8 MinSat; |
104 | s8 StickThreshold; |
104 | s8 StickThreshold; |
105 | float WindCorrection; |
105 | float WindCorrection; |
- | 106 | float SpeedCompensation; |
|
106 | s32 OperatingRadius; |
107 | s32 OperatingRadius; |
107 | GPS_FlightMode_t FlightMode; |
108 | GPS_FlightMode_t FlightMode; |
108 | } __attribute__((packed)) GPS_Parameter_t; |
109 | } __attribute__((packed)) GPS_Parameter_t; |
Line 109... | Line 110... | ||
109 | 110 | ||
Line 146... | Line 147... | ||
146 | GPS_Parameter.P_Limit = 90; |
147 | GPS_Parameter.P_Limit = 90; |
147 | GPS_Parameter.I_Limit = 90; |
148 | GPS_Parameter.I_Limit = 90; |
148 | GPS_Parameter.D_Limit = 90; |
149 | GPS_Parameter.D_Limit = 90; |
149 | GPS_Parameter.PID_Limit = 200; |
150 | GPS_Parameter.PID_Limit = 200; |
150 | GPS_Parameter.BrakingDuration = 0; |
151 | GPS_Parameter.BrakingDuration = 0; |
- | 152 | GPS_Parameter.SpeedCompensation = (float) 30; |
|
151 | GPS_Parameter.MinSat = 6; |
153 | GPS_Parameter.MinSat = 6; |
152 | GPS_Parameter.StickThreshold = 8; |
154 | GPS_Parameter.StickThreshold = 8; |
153 | GPS_Parameter.WindCorrection = 0.0; |
155 | GPS_Parameter.WindCorrection = 0.0; |
154 | GPS_Parameter.OperatingRadius = 0; // forces the aircraft to fly to home positon |
156 | GPS_Parameter.OperatingRadius = 0; // forces the aircraft to fly to home positon |
Line 173... | Line 175... | ||
173 | GPS_Parameter.P_Limit = (s32)Parameter.NaviGpsPLimit; |
175 | GPS_Parameter.P_Limit = (s32)Parameter.NaviGpsPLimit; |
174 | GPS_Parameter.I_Limit = (s32)Parameter.NaviGpsILimit; |
176 | GPS_Parameter.I_Limit = (s32)Parameter.NaviGpsILimit; |
175 | GPS_Parameter.D_Limit = (s32)Parameter.NaviGpsDLimit; |
177 | GPS_Parameter.D_Limit = (s32)Parameter.NaviGpsDLimit; |
176 | GPS_Parameter.PID_Limit = 2* (s32)Parameter.NaviAngleLimitation; |
178 | GPS_Parameter.PID_Limit = 2* (s32)Parameter.NaviAngleLimitation; |
177 | GPS_Parameter.BrakingDuration = (u32)Parameter.NaviPH_LoginTime; |
179 | GPS_Parameter.BrakingDuration = (u32)Parameter.NaviPH_LoginTime; |
- | 180 | GPS_Parameter.SpeedCompensation = (float)Parameter.NaviSpeedCompensation; |
|
178 | GPS_Parameter.MinSat = (u8)Parameter.NaviGpsMinSat; |
181 | GPS_Parameter.MinSat = (u8)Parameter.NaviGpsMinSat; |
179 | GPS_Parameter.StickThreshold = (s8)Parameter.NaviStickThreshold; |
182 | GPS_Parameter.StickThreshold = (s8)Parameter.NaviStickThreshold; |
180 | GPS_Parameter.WindCorrection = (float)Parameter.NaviWindCorrection; |
183 | GPS_Parameter.WindCorrection = (float)Parameter.NaviWindCorrection; |
181 | GPS_Parameter.OperatingRadius = (s32)Parameter.NaviOperatingRadius * 100; // conversion of m to cm |
184 | GPS_Parameter.OperatingRadius = (s32)Parameter.NaviOperatingRadius * 100; // conversion of m to cm |
182 | } |
185 | } |
Line 634... | Line 637... | ||
634 | // update navi data, send back to ground station |
637 | // update navi data, send back to ground station |
635 | GPS_CopyPosition(&(GPSData.Position), &(NaviData.CurrentPosition)); |
638 | GPS_CopyPosition(&(GPSData.Position), &(NaviData.CurrentPosition)); |
636 | GPS_CopyPosition(&RangedTargetPosition, &(NaviData.TargetPosition)); |
639 | GPS_CopyPosition(&RangedTargetPosition, &(NaviData.TargetPosition)); |
637 | GPS_CopyPosition(&GPS_HomePosition, &(NaviData.HomePosition)); |
640 | GPS_CopyPosition(&GPS_HomePosition, &(NaviData.HomePosition)); |
638 | NaviData.SatsInUse = GPSData.NumOfSats; |
641 | NaviData.SatsInUse = GPSData.NumOfSats; |
639 | NaviData.TargetPositionDeviation.Distance = CurrentTargetDeviation.Distance; |
642 | NaviData.TargetPositionDeviation.Distance = (u16)CurrentTargetDeviation.Distance/10; // dm |
640 | NaviData.TargetPositionDeviation.Bearing = CurrentTargetDeviation.Bearing; |
643 | NaviData.TargetPositionDeviation.Bearing = (s16)CurrentTargetDeviation.Bearing; |
641 | NaviData.HomePositionDeviation.Distance = CurrentHomeDeviation.Distance; |
644 | NaviData.HomePositionDeviation.Distance = (u16)CurrentHomeDeviation.Distance/10; // dm |
642 | NaviData.HomePositionDeviation.Bearing = CurrentHomeDeviation.Bearing; |
645 | NaviData.HomePositionDeviation.Bearing = (s16)CurrentHomeDeviation.Bearing; |
643 | NaviData.UBat = FC.UBat; |
646 | NaviData.UBat = FC.UBat; |
644 | NaviData.GroundSpeed = (u16)GPSData.Speed_Ground; |
647 | NaviData.GroundSpeed = (u16)GPSData.Speed_Ground; |
645 | NaviData.Heading = (s16)(GPSData.Heading/100000L); |
648 | NaviData.Heading = (s16)(GPSData.Heading/100000L); |
646 | NaviData.CompassHeading = (s16)FromFlightCtrl.GyroHeading/10; // in deg |
649 | NaviData.CompassHeading = (s16)FromFlightCtrl.GyroHeading/10; // in deg |
647 | NaviData.AngleNick = FromFlightCtrl.AngleNick / 10; // in deg |
650 | NaviData.AngleNick = FromFlightCtrl.AngleNick / 10; // in deg |
648 | NaviData.AngleRoll = FromFlightCtrl.AngleRoll / 10; // in deg |
651 | NaviData.AngleRoll = FromFlightCtrl.AngleRoll / 10; // in deg |
649 | NaviData.RC_Quality = (u8) FC.RC_Quality; |
652 | NaviData.RC_Quality = (u8) FC.RC_Quality; |
650 | NaviData.MKFlags = (u8)FC.MKFlags; |
653 | NaviData.MKFlags = (u8)FC.MKFlags; |
651 | NaviData.OperatingRadius = Parameter.NaviOperatingRadius; |
654 | NaviData.OperatingRadius = Parameter.NaviOperatingRadius; |
- | 655 | NaviData.TopSpeed = (s16)GPSData.Speed_Top; // in cm/s |
|
Line 652... | Line 656... | ||
652 | 656 | ||
653 | //+++++++++++++++++++++++++++++++++++++++++++++++++++ |
657 | //+++++++++++++++++++++++++++++++++++++++++++++++++++ |
654 | return; |
658 | return; |