Skip to content

Conversation

@Claudio-Chies
Copy link
Member

Solved Problem

We had Issues where the with flights close to buildings where the reset timeout of 7 seconds was too high for GPS yaw, which caused toilet-bowling

Solution

decreased the value to 3 seconds.

@github-actions
Copy link

github-actions bot commented Nov 25, 2025

🔎 FLASH Analysis

px4_fmu-v5x [Total VM Diff: 96 byte (0 %)]
    FILE SIZE        VM SIZE    
--------------  -------------- 
+0.0%     +96  +0.0%     +96    .text
  +1.3%     +44  +1.3%     +44    Ekf::Ekf()
  +1.0%     +28  +1.0%     +28    EKF2::PublishAidSourceStatus()
  +8.3%     +24  +8.3%     +24    Ekf::stopGnssFusion()
 -100.0%     +24 -100.0%     +24    [47 Others]
  +1.0%     +16  +1.0%     +16    Ekf::controlGnssHeightFusion()
  +0.6%     +16  +0.6%     +16    Ekf::controlRangeHaglFusion()
  +1.3%      +8  +1.3%      +8    Ekf::checkMagField()
  +2.6%      +8  +2.6%      +8    Ekf::checkVerticalAccelerationHealth()
  +0.5%      +8  +0.5%      +8    Ekf::controlExternalVisionFusion()
  +2.1%      +8  +2.1%      +8    Ekf::controlFakeHgtFusion()
  +1.4%      +8  +1.4%      +8    Ekf::controlFusionModes()
  +1.6%      +8  +1.6%      +8    Ekf::fuseGnssYaw()
  -0.7%      -8  -0.7%      -8    EKF2::PublishStatusFlags()
  -1.2%      -8  -1.2%      -8    Ekf::checkMagHeadingConsistency()
  -3.4%      -8  -3.4%      -8    Ekf::computeDeltaHorizontalPosition()
  -0.4%      -8  -0.4%      -8    Ekf::controlEvPosFusion()
  -1.3%     -12  -1.3%     -12    Ekf::controlAirDataFusion()
  -0.8%     -12  -0.8%     -12    Ekf::controlBaroHeightFusion()
  -8.7%     -16  -8.7%     -16    EKF2::PublishBaroBias()
  -1.6%     -16  -1.6%     -16    Ekf::controlGpsFusion()
  -0.8%     -16  -0.8%     -16    Ekf::controlOpticalFlowFusion()
+0.0%     +55  [ = ]       0    .debug_abbrev
+0.0%      +4  [ = ]       0    .debug_frame
+0.0%      +7  [ = ]       0    .debug_info
-0.0%    -238  [ = ]       0    .debug_line
 -42.9%      -3  [ = ]       0    [Unmapped]
  -0.0%    -235  [ = ]       0    [section .debug_line]
-0.0%    -407  [ = ]       0    .debug_loclists
+0.0%     +21  [ = ]       0    .debug_rnglists
 -66.7%      -2  [ = ]       0    [Unmapped]
  +0.0%     +23  [ = ]       0    [section .debug_rnglists]
+0.0%     +18  [ = ]       0    .debug_str
+0.0%     +32  [ = ]       0    .symtab
  +100%     +16  [ = ]       0    EKF2::PublishGpsStatus()
  +100%     +16  [ = ]       0    EKF2::PublishWindEstimate()
 -33.3%     -16  [ = ]       0    EKF2::PublishYawEstimatorStatus()
   +50%     +16  [ = ]       0    EKF2::print_usage()
   +20%     +16  [ = ]       0    Ekf::controlEvPosFusion()
   +25%     +16  [ = ]       0    Ekf::controlGnssHeightFusion()
  +100%     +16  [ = ]       0    Ekf::get_ekf_lpos_accuracy()
 -25.0%     -16  [ = ]       0    Ekf::reset()
 -50.0%     -16  [ = ]       0    Ekf::resetAccelBias()
   +50%     +16  [ = ]       0    Ekf::resetGyroBias()
 -50.0%     -16  [ = ]       0    Ekf::resetWindCov()
   +33%     +16  [ = ]       0    Ekf::resetWindToExternalObservation()
   +33%     +16  [ = ]       0    Ekf::updateHorizontalDeadReckoningstatus()
 -50.0%     -16  [ = ]       0    Ekf::updateVerticalDeadReckoningStatus()
 -50.0%     -16  [ = ]       0    Ekf::updateVerticalPositionAidStatus()
  -0.1%     -16  [ = ]       0    [section .symtab]
   +67%     +32  [ = ]       0    __hrt_call_enter_veneer
 -40.0%     -32  [ = ]       0    __wd_start_veneer
-0.9%     -96  [ = ]       0    [Unmapped]
-0.0%    -508  +0.0%     +96    TOTAL

px4_fmu-v6x [Total VM Diff: 96 byte (0 %)]
    FILE SIZE        VM SIZE    
--------------  -------------- 
+0.0%     +96  +0.0%     +96    .text
  +1.3%     +44  +1.3%     +44    Ekf::Ekf()
  +1.0%     +28  +1.0%     +28    EKF2::PublishAidSourceStatus()
  +8.3%     +24  +8.3%     +24    Ekf::stopGnssFusion()
 -100.0%     +24 -100.0%     +24    [47 Others]
  +1.0%     +16  +1.0%     +16    Ekf::controlGnssHeightFusion()
  +0.6%     +16  +0.6%     +16    Ekf::controlRangeHaglFusion()
  +1.3%      +8  +1.3%      +8    Ekf::checkMagField()
  +2.6%      +8  +2.6%      +8    Ekf::checkVerticalAccelerationHealth()
  +0.5%      +8  +0.5%      +8    Ekf::controlExternalVisionFusion()
  +2.1%      +8  +2.1%      +8    Ekf::controlFakeHgtFusion()
  +1.4%      +8  +1.4%      +8    Ekf::controlFusionModes()
  +1.6%      +8  +1.6%      +8    Ekf::fuseGnssYaw()
  -0.7%      -8  -0.7%      -8    EKF2::PublishStatusFlags()
  -1.2%      -8  -1.2%      -8    Ekf::checkMagHeadingConsistency()
  -3.4%      -8  -3.4%      -8    Ekf::computeDeltaHorizontalPosition()
  -0.4%      -8  -0.4%      -8    Ekf::controlEvPosFusion()
  -1.3%     -12  -1.3%     -12    Ekf::controlAirDataFusion()
  -0.8%     -12  -0.8%     -12    Ekf::controlBaroHeightFusion()
  -8.7%     -16  -8.7%     -16    EKF2::PublishBaroBias()
  -1.6%     -16  -1.6%     -16    Ekf::controlGpsFusion()
  -0.8%     -16  -0.8%     -16    Ekf::controlOpticalFlowFusion()
+0.0%     +55  [ = ]       0    .debug_abbrev
+0.0%      +4  [ = ]       0    .debug_frame
+0.0%      +7  [ = ]       0    .debug_info
-0.0%    -230  [ = ]       0    .debug_line
  [NEW]      +5  [ = ]       0    [Unmapped]
  -0.0%    -235  [ = ]       0    [section .debug_line]
-0.0%    -413  [ = ]       0    .debug_loclists
+0.0%     +23  [ = ]       0    .debug_rnglists
+0.0%     +18  [ = ]       0    .debug_str
+0.0%     +32  [ = ]       0    .symtab
  +100%     +16  [ = ]       0    EKF2::PublishGpsStatus()
  +100%     +16  [ = ]       0    EKF2::PublishWindEstimate()
 -33.3%     -16  [ = ]       0    EKF2::PublishYawEstimatorStatus()
   +50%     +16  [ = ]       0    EKF2::print_usage()
   +67%     +32  [ = ]       0    Ekf::controlEvHeightFusion()
   +20%     +16  [ = ]       0    Ekf::controlEvPosFusion()
   +25%     +16  [ = ]       0    Ekf::controlGnssHeightFusion()
  +100%     +16  [ = ]       0    Ekf::get_ekf_lpos_accuracy()
 -25.0%     -16  [ = ]       0    Ekf::reset()
 -50.0%     -16  [ = ]       0    Ekf::resetAccelBias()
   +50%     +16  [ = ]       0    Ekf::resetGyroBias()
 -50.0%     -16  [ = ]       0    Ekf::resetWindCov()
   +33%     +16  [ = ]       0    Ekf::resetWindToExternalObservation()
   +33%     +16  [ = ]       0    Ekf::updateHorizontalDeadReckoningstatus()
 -50.0%     -16  [ = ]       0    Ekf::updateVerticalDeadReckoningStatus()
 -50.0%     -16  [ = ]       0    Ekf::updateVerticalPositionAidStatus()
  -0.4%     -48  [ = ]       0    [section .symtab]
-1.6%     -96  [ = ]       0    [Unmapped]
-0.0%    -504  +0.0%     +96    TOTAL

Updated: 2025-11-25T13:17:17

@Claudio-Chies Claudio-Chies force-pushed the pr-gps_yaw_reset_timeout_max branch from 05bd45d to 2bafb76 Compare November 25, 2025 13:10
@bresch
Copy link
Member

bresch commented Dec 9, 2025

Why did it need to reset? Was it providing an incorrect heading, then jumped to the correct one and got rejected?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants