diff --git a/src/modules/simulator/simulator_mavlink.cpp b/src/modules/simulator/simulator_mavlink.cpp index 79d9a8a67fad2a025b54fc7ca8b02685478c454e..55ad7c001aa0a505479d6319d4fe5580e1886ecb 100644 --- a/src/modules/simulator/simulator_mavlink.cpp +++ b/src/modules/simulator/simulator_mavlink.cpp @@ -332,8 +332,8 @@ void Simulator::handle_message(mavlink_message_t *msg, bool publish) /* Simulate the voltage of a linearly draining battery but stop at the minimum percentage */ float battery_percentage = 1.0f - (now_us - batt_sim_start) / discharge_interval_us; - battery_percentage = math::min(battery_percentage, minimum_percentage); - float vbatt = math::gradual(battery_percentage, 0.f, 1.f, _battery.full_cell_voltage(), _battery.empty_cell_voltage()); + battery_percentage = math::max(battery_percentage, minimum_percentage); + float vbatt = math::gradual(battery_percentage, 0.f, 1.f, _battery.empty_cell_voltage(), _battery.full_cell_voltage()); vbatt *= _battery.cell_count(); const float throttle = 0.0f; // simulate no throttle compensation to make the estimate predictable