From 8c335be045f9e86bc3b3d6a17c7c59f9ae7fdaec Mon Sep 17 00:00:00 2001 From: Bob Long Date: Tue, 7 Mar 2023 08:53:51 +1100 Subject: [PATCH] AP_EFI: added fuel pressure --- libraries/AP_EFI/AP_EFI.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/libraries/AP_EFI/AP_EFI.cpp b/libraries/AP_EFI/AP_EFI.cpp index cf57efcf38..f4a29de1d5 100644 --- a/libraries/AP_EFI/AP_EFI.cpp +++ b/libraries/AP_EFI/AP_EFI.cpp @@ -260,6 +260,15 @@ void AP_EFI::send_mavlink_status(mavlink_channel_t chan) ignition_voltage = state.ignition_voltage; }; + // If fuel pressure is supported, but is exactly zero, shift it to 0.0001 + // to indicate that it is supported. + float fuel_pressure = state.fuel_pressure; + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wfloat-equal" // suppress -Wfloat-equal as we only care about exact zero here + if (fuel_pressure == 0.0 && state.fuel_pressure_status != Fuel_Pressure_Status::NOT_SUPPORTED) { + fuel_pressure = 0.0001; + } + #pragma GCC diagnostic pop mavlink_msg_efi_status_send( chan, AP_EFI::is_healthy(), @@ -279,7 +288,8 @@ void AP_EFI::send_mavlink_status(mavlink_channel_t chan) KELVIN_TO_C(state.cylinder_status.exhaust_gas_temperature), state.throttle_out, state.pt_compensation, - ignition_voltage + ignition_voltage, + fuel_pressure ); }