ardupilot/libraries/AP_Scripting/examples/arming-check-batt-temp.lua

21 lines
731 B
Lua
Raw Normal View History

-- This script runs a custom arming check of the battery temperature
auth_id = arming:get_aux_auth_id()
batt_temp_max = 35
function update() -- this is the loop which periodically runs
if auth_id then
batt_temp = battery:get_temperature(0)
if not batt_temp then
arming:set_aux_auth_failed(auth_id, "Could not retrieve battery temperature")
elseif (batt_temp >= batt_temp_max) then
arming:set_aux_auth_failed(auth_id, "Batt temp too high (" .. tostring(batt_temp) .. "C > " .. tostring(batt_temp_max) .. "C)")
else
arming:set_aux_auth_passed(auth_id)
end
end
return update, 5000 -- reschedules the loop in 5 seconds
end
return update() -- run immediately before starting to reschedule