Skip to content

Conversation

haumarco
Copy link
Contributor

@haumarco haumarco commented Jul 2, 2025

Solved Problem & Solution

The GNSS spoofing warning was previously too sensitive, as it relied solely on the GNSS message to trigger a warning—even though spoofing detection is also covered by the GNSS checks.

Test coverage

Tested in sim.

@haumarco haumarco requested a review from bresch July 2, 2025 08:53
Copy link

github-actions bot commented Jul 2, 2025

🔎 FLASH Analysis

px4_fmu-v5x [Total VM Diff: -320 byte (-0.02 %)]
    FILE SIZE        VM SIZE    
--------------  -------------- 
+0.0%     +66  [ = ]       0    .debug_abbrev
+0.0%      +8  [ = ]       0    .debug_aranges
+0.0%     +12  [ = ]       0    .debug_frame
-0.0%    -306  [ = ]       0    .debug_info
-0.0%    -320  [ = ]       0    .debug_line
  [DEL]      -5  [ = ]       0    [Unmapped]
  -0.0%    -315  [ = ]       0    [section .debug_line]
-0.0%    -132  [ = ]       0    .debug_loclists
-0.0%     -20  [ = ]       0    .debug_rnglists
 -50.0%      -1  [ = ]       0    [Unmapped]
  -0.0%     -19  [ = ]       0    [section .debug_rnglists]
+0.4%      +1  [ = ]       0    .shstrtab
+0.0%      +7  [ = ]       0    .strtab
   +11%      +7  [ = ]       0    EstimatorChecks::checkGps()
+3.7%    +320  [ = ]       0    [Unmapped]
-0.0%    -320  -0.0%    -320    .text
  -0.0%     -40  -0.0%     -40    g_cromfs_image
  -0.1%    -136  -0.1%    -136    [section .text]
 -63.2%    -144 -63.2%    -144    EstimatorChecks::checkGps()
-0.0%    -684  -0.0%    -320    TOTAL

px4_fmu-v6x [Total VM Diff: -312 byte (-0.02 %)]
    FILE SIZE        VM SIZE    
--------------  -------------- 
+0.0%     +66  [ = ]       0    .debug_abbrev
+0.0%      +8  [ = ]       0    .debug_aranges
+0.0%     +12  [ = ]       0    .debug_frame
-0.0%    -306  [ = ]       0    .debug_info
-0.0%    -312  [ = ]       0    .debug_line
  +100%      +3  [ = ]       0    [Unmapped]
  -0.0%    -315  [ = ]       0    [section .debug_line]
-0.0%    -132  [ = ]       0    .debug_loclists
-0.0%     -16  [ = ]       0    .debug_rnglists
  [NEW]      +3  [ = ]       0    [Unmapped]
  -0.0%     -19  [ = ]       0    [section .debug_rnglists]
+0.4%      +1  [ = ]       0    .shstrtab
+0.0%      +7  [ = ]       0    .strtab
   +11%      +7  [ = ]       0    EstimatorChecks::checkGps()
+4.2%    +312  [ = ]       0    [Unmapped]
-0.0%    -312  -0.0%    -312    .text
  +4.8%      +4  +4.8%      +4    FlightTask
  -0.0%     -36  -0.0%     -36    g_cromfs_image
  -0.1%    -136  -0.1%    -136    [section .text]
 -63.2%    -144 -63.2%    -144    EstimatorChecks::checkGps()
-0.0%    -672  -0.0%    -312    TOTAL

Updated: 2025-07-02T08:59:30

@bresch
Copy link
Member

bresch commented Jul 2, 2025

I initially thought spoofing would no longer deny arming, but it's also there:

} else if (estimator_status.gps_check_fail_flags & (1 << estimator_status_s::GPS_CHECK_FAIL_SPOOFED)) {
message = "Preflight%s: GPS signal spoofed";
/* EVENT
* @description
* <profile name="dev">
* Can be configured with <param>EKF2_GPS_CHECK</param> and <param>COM_ARM_WO_GPS</param>.
* </profile>
*/
reporter.armingCheckFailure(required_modes, health_component_t::gps,
events::ID("check_estimator_gps_spoofed"),
log_level, "GPS signal spoofed");

@mrpollo
Copy link
Contributor

mrpollo commented Jul 2, 2025

Just wanted to raise attention to this PR #25012

@haumarco haumarco merged commit f7ffe27 into main Jul 3, 2025
70 checks passed
@haumarco haumarco deleted the pr_spoofing_warn_sensitivity branch July 3, 2025 12:13
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.

3 participants