Skip to content

Conversation

bresch
Copy link
Member

@bresch bresch commented May 23, 2025

NOTE: easier to review commit-by-commit

Solved Problem

I wanted to add something to the checks but let's do a bit of cleanup first.

Solution

Test coverage

unit tests

@bresch bresch requested review from dagar and haumarco May 23, 2025 08:11
@bresch bresch self-assigned this May 23, 2025
@bresch bresch added this to PX4 EKF May 23, 2025
Copy link

github-actions bot commented May 23, 2025

🔎 FLASH Analysis

px4_fmu-v5x [Total VM Diff: 216 byte (0.01 %)]
    FILE SIZE        VM SIZE    
--------------  -------------- 
+0.0%    +224  +0.0%    +224    .text
  [NEW]    +780  [NEW]    +780    estimator::GnssChecks::runOnGroundGnssChecks()
  [NEW]    +504  [NEW]    +504    estimator::GnssChecks::runInitialFixChecks()
  [NEW]    +192  [NEW]    +192    estimator::GnssChecks::run()
   +54%    +100   +54%    +100    Ekf::stopGnssFusion()
  +3.0%     +44  +3.0%     +44    Ekf::controlBaroHeightFusion()
  +1.3%     +32  +1.3%     +32    EKF2::PublishAidSourceStatus()
   +21%     +32   +21%     +32    Ekf::controlGnssPosFusion()
  +7.8%     +28  +7.8%     +28    Ekf::controlGnssVelFusion()
  +1.2%     +16  +1.2%     +16    Ekf::controlGnssHeightFusion()
  +4.8%      +8  +4.8%      +8    EKF2::PublishBaroBias()
 -100.0%      +4 -100.0%      +4    [21 Others]
  -4.3%      -8  -4.3%      -8    EKF2::PublishYawEstimatorStatus()
  -0.2%      -8  -0.2%      -8    EKF2::Run()
  -4.2%     -12  -4.2%     -12    EKF2::PublishGpsStatus()
  -1.6%     -16  -1.6%     -16    Ekf::controlGpsFusion()
  -3.1%     -16  -3.1%     -16    Ekf::fuseGnssYaw()
  -0.0%     -16  -0.0%     -16    [section .text]
  -0.2%     -24  -0.2%     -24    Ekf::predictCovariance()
  -1.2%     -28  -1.2%     -28    Ekf::fuseMag()
  -0.6%     -32  -0.6%     -32    Ekf::controlMagFusion()
  [DEL] -1.32Ki  [DEL] -1.32Ki    Ekf::runGnssChecks()
+0.0%    +112  [ = ]       0    .debug_abbrev
+0.0%     +24  [ = ]       0    .debug_aranges
+0.0%     +56  [ = ]       0    .debug_frame
+0.0% +4.14Ki  [ = ]       0    .debug_info
+0.0% +2.09Ki  [ = ]       0    .debug_line
   +75%      +3  [ = ]       0    [Unmapped]
  +0.0% +2.09Ki  [ = ]       0    [section .debug_line]
+0.1% +1.94Ki  [ = ]       0    .debug_loclists
+0.1%    +410  [ = ]       0    .debug_rnglists
 -50.0%      -1  [ = ]       0    [Unmapped]
  +0.1%    +411  [ = ]       0    [section .debug_rnglists]
+0.0% +1.19Ki  [ = ]       0    .debug_str
+1.3%      +3  [ = ]       0    .shstrtab
+0.0%    +141  [ = ]       0    .strtab
  [DEL]     -50  [ = ]       0    Ekf::runGnssChecks()
 -24.2%     -16  [ = ]       0    ___ZN4uORB7Manager13orb_data_copyEPvS1_Rjb_veneer
  +100%     +16  [ = ]       0    __sq_rem_veneer
  [NEW]     +50  [ = ]       0    estimator::GnssChecks::run()
  [NEW]     +66  [ = ]       0    estimator::GnssChecks::runInitialFixChecks()
  [NEW]     +75  [ = ]       0    estimator::GnssChecks::runOnGroundGnssChecks()
+0.0%     +80  [ = ]       0    .symtab
 -25.0%     -16  [ = ]       0    Ekf::controlEvHeightFusion()
 -33.3%     -32  [ = ]       0    Ekf::controlEvPosFusion()
  +200%     +32  [ = ]       0    Ekf::controlGnssPosFusion()
  +200%     +32  [ = ]       0    Ekf::controlGnssVelFusion()
 -20.0%     -16  [ = ]       0    Ekf::controlGpsFusion()
  +100%     +16  [ = ]       0    Ekf::get_ekf_lpos_accuracy()
 -25.0%     -16  [ = ]       0    Ekf::isYawFailure()
 -25.0%     -16  [ = ]       0    Ekf::reset()
 -50.0%     -16  [ = ]       0    Ekf::resetMagBiasCov()
   +50%     +16  [ = ]       0    Ekf::resetMagEarthCov()
  [DEL]     -80  [ = ]       0    Ekf::runGnssChecks()
  +100%     +16  [ = ]       0    Ekf::stopMagFusion()
 -33.3%     -16  [ = ]       0    ExternalVisionVel::fuseVelocity()
 -40.0%     -32  [ = ]       0    ___ZN4uORB7Manager13orb_data_copyEPvS1_Rjb_veneer
   +67%     +32  [ = ]       0    __sq_rem_veneer
  [NEW]     +64  [ = ]       0    estimator::GnssChecks::run()
  [NEW]     +48  [ = ]       0    estimator::GnssChecks::runInitialFixChecks()
  [NEW]     +48  [ = ]       0    estimator::GnssChecks::runOnGroundGnssChecks()
   +33%     +16  [ = ]       0    get_orb_meta()
-2.3%    -216  [ = ]       0    [Unmapped]
-0.1%      -8  -0.1%      -8    .ramfunc
  -0.3%      -4  -0.3%      -4    Ekf::controlGravityFusion()
  -1.2%      -4  -1.2%      -4    Ekf::measurementUpdate()
+0.0% +10.2Ki  +0.0%    +216    TOTAL

px4_fmu-v6x [Total VM Diff: 248 byte (0.01 %)]
    FILE SIZE        VM SIZE    
--------------  -------------- 
+0.0%    +248  +0.0%    +248    .text
  [NEW]    +780  [NEW]    +780    estimator::GnssChecks::runOnGroundGnssChecks()
  [NEW]    +504  [NEW]    +504    estimator::GnssChecks::runInitialFixChecks()
  [NEW]    +192  [NEW]    +192    estimator::GnssChecks::run()
   +54%    +100   +54%    +100    Ekf::stopGnssFusion()
  +3.0%     +44  +3.0%     +44    Ekf::controlBaroHeightFusion()
  +1.3%     +32  +1.3%     +32    EKF2::PublishAidSourceStatus()
   +21%     +32   +21%     +32    Ekf::controlGnssPosFusion()
  +7.8%     +28  +7.8%     +28    Ekf::controlGnssVelFusion()
  +1.2%     +16  +1.2%     +16    Ekf::controlGnssHeightFusion()
  +4.8%      +8  +4.8%      +8    EKF2::PublishBaroBias()
  +1.2%      +8  +1.2%      +8    Ekf::checkMagHeadingConsistency()
  -4.3%      -8  -4.3%      -8    EKF2::PublishYawEstimatorStatus()
  -0.2%      -8  -0.2%      -8    EKF2::Run()
  -4.2%     -12  -4.2%     -12    EKF2::PublishGpsStatus()
  -1.6%     -16  -1.6%     -16    Ekf::controlGpsFusion()
  -3.1%     -16  -3.1%     -16    Ekf::fuseGnssYaw()
  -1.1%     -24  -1.1%     -24    Ekf::fuseMag()
  -0.2%     -24  -0.2%     -24    Ekf::predictCovariance()
  -0.6%     -32  -0.6%     -32    Ekf::controlMagFusion()
  [DEL] -1.32Ki  [DEL] -1.32Ki    Ekf::runGnssChecks()
+0.0%    +112  [ = ]       0    .debug_abbrev
+0.0%     +24  [ = ]       0    .debug_aranges
+0.0%     +56  [ = ]       0    .debug_frame
+0.0% +4.14Ki  [ = ]       0    .debug_info
+0.0% +2.09Ki  [ = ]       0    .debug_line
   +75%      +3  [ = ]       0    [Unmapped]
  +0.0% +2.09Ki  [ = ]       0    [section .debug_line]
+0.1% +1.95Ki  [ = ]       0    .debug_loclists
+0.1%    +412  [ = ]       0    .debug_rnglists
  +100%      +1  [ = ]       0    [Unmapped]
  +0.1%    +411  [ = ]       0    [section .debug_rnglists]
+0.0% +1.19Ki  [ = ]       0    .debug_str
-0.4%      -1  [ = ]       0    .shstrtab
+0.0%    +141  [ = ]       0    .strtab
  [DEL]     -50  [ = ]       0    Ekf::runGnssChecks()
  [NEW]     +50  [ = ]       0    estimator::GnssChecks::run()
  [NEW]     +66  [ = ]       0    estimator::GnssChecks::runInitialFixChecks()
  [NEW]     +75  [ = ]       0    estimator::GnssChecks::runOnGroundGnssChecks()
+0.0%     +80  [ = ]       0    .symtab
 -40.0%     -32  [ = ]       0    Ekf::controlEvHeightFusion()
 -33.3%     -32  [ = ]       0    Ekf::controlEvPosFusion()
  +200%     +32  [ = ]       0    Ekf::controlGnssPosFusion()
  +200%     +32  [ = ]       0    Ekf::controlGnssVelFusion()
 -20.0%     -16  [ = ]       0    Ekf::controlGpsFusion()
  +100%     +16  [ = ]       0    Ekf::get_ekf_lpos_accuracy()
 -25.0%     -16  [ = ]       0    Ekf::isYawFailure()
 -25.0%     -16  [ = ]       0    Ekf::reset()
 -50.0%     -16  [ = ]       0    Ekf::resetMagBiasCov()
   +50%     +16  [ = ]       0    Ekf::resetMagEarthCov()
  [DEL]     -80  [ = ]       0    Ekf::runGnssChecks()
  +100%     +16  [ = ]       0    Ekf::stopMagFusion()
 -33.3%     -16  [ = ]       0    ExternalVisionVel::fuseVelocity()
  +0.3%     +32  [ = ]       0    [section .symtab]
  [NEW]     +64  [ = ]       0    estimator::GnssChecks::run()
  [NEW]     +48  [ = ]       0    estimator::GnssChecks::runInitialFixChecks()
  [NEW]     +48  [ = ]       0    estimator::GnssChecks::runOnGroundGnssChecks()
-3.2%    -248  [ = ]       0    [Unmapped]
+0.0% +10.2Ki  +0.0%    +248    TOTAL

Updated: 2025-05-23T10:12:30

@bresch bresch force-pushed the pr-ekf2_gnss_checks branch from e4a1fd9 to 78abe87 Compare May 23, 2025 10:06
Copy link
Contributor

@haumarco haumarco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@bresch bresch merged commit 0e32b15 into main Jun 3, 2025
69 checks passed
@github-project-automation github-project-automation bot moved this to ✅ Done in PX4 EKF Jun 3, 2025
@bresch bresch deleted the pr-ekf2_gnss_checks branch June 3, 2025 07:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

2 participants