Added fuel total via needle (8005)

This commit is contained in:
Bailey 2022-07-28 16:46:52 +09:00 committed by GitHub
parent 63bbd38deb
commit f258c8435e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2027,14 +2027,44 @@ function ExportScript.CockpitInstruments(mainPanelDevice)
engineTemp = format_int(engineTemp) engineTemp = format_int(engineTemp)
ExportScript.Tools.SendData(8004, 'Engine\n' .. engineRPM .. ' RPM' .. '\n' .. engineTemp .. ' °C') ExportScript.Tools.SendData(8004, 'Engine\n' .. engineRPM .. ' RPM' .. '\n' .. engineTemp .. ' °C')
-- TODO: Fuel local fuelG_needle = mainPanelDevice:get_argument_value(1142)
-- Note: This will require an equation due to to change in arg ratio. arg below 0.8 is accurate if fuelG_needle < 0.8 then
local fuelG = ExportScript.Tools.round(mainPanelDevice:get_argument_value(1142) * 1000, 0) fuelG_needle = ExportScript.Tools.round(fuelG_needle * 1000, 0)
fuelG = format_int(fuelG) elseif fuelG_needle < 0.9 then
local fuelD = ExportScript.Tools.round(mainPanelDevice:get_argument_value(1143) * 1000, 0) fuelG_needle = ExportScript.Tools.round(fuelG_needle * 2000 - 800, 0)
fuelD = format_int(fuelD) elseif fuelG_needle < 0.968 then
fuelG_needle = ExportScript.Tools.round(fuelG_needle * 13158 - 10737, 0)
else
fuelG_needle = ExportScript.Tools.round(fuelG_needle * 6250 - 4050, 0)
end
--ExportScript.Tools.SendData(8005, 'Fuel (L)\n' .. fuelG .. '\n' .. fuelD .. '') local fuelD_needle = mainPanelDevice:get_argument_value(1143)
if fuelD_needle < 0.8 then
fuelD_needle = ExportScript.Tools.round(fuelD_needle * 1000, 0)
elseif fuelD_needle < 0.9 then
fuelD_needle = ExportScript.Tools.round(fuelD_needle * 2000 - 800, 0)
elseif fuelD_needle < 0.968 then
fuelD_needle = ExportScript.Tools.round(fuelD_needle * 13158 - 10737, 0)
else
fuelD_needle = ExportScript.Tools.round(fuelD_needle * 6250 - 4050, 0)
end
local fuelTot_needle = fuelG_needle + fuelD_needle
local fuelTot_needle_format
if fuelTot_needle > 3812 then --3812
fuelTot_needle_format = format_int(fuelTot_needle) .. '+'
else
fuelTot_needle_format = format_int(fuelTot_needle)
end
local fuelG_needle_format = format_int(fuelG_needle)
local fuelD_needle_format = format_int(fuelD_needle)
ExportScript.Tools.SendData(8005, 'Fuel (L)\nTot ' .. fuelTot_needle_format
.. '\nG ' .. fuelG_needle_format
.. '\nD ' .. fuelD_needle_format
)
-- Fuel quantity indicator -- Fuel quantity indicator
local fuelQty_Xxxx = ExportScript.Tools.round(mainPanelDevice:get_argument_value(1146) * 10, 0) local fuelQty_Xxxx = ExportScript.Tools.round(mainPanelDevice:get_argument_value(1146) * 10, 0)
@ -2049,8 +2079,8 @@ function ExportScript.CockpitInstruments(mainPanelDevice)
local fuelQtyTotal = fuelQty_Xxxx .. fuelQty_xXxx .. fuelQty_xxXx .. fuelQty_xxxX local fuelQtyTotal = fuelQty_Xxxx .. fuelQty_xXxx .. fuelQty_xxXx .. fuelQty_xxxX
ExportScript.Tools.SendData(8006, 'Fuel (L)\nTot ' .. format_int(fuelQtyTotal) ExportScript.Tools.SendData(8006, 'Fuel (L)\nTot ' .. format_int(fuelQtyTotal)
.. '\nG ' .. format_int(fuelG) .. '\nG ' .. format_int(fuelG_needle)
.. '\nD ' .. format_int(fuelD) .. '\nD ' .. format_int(fuelD_needle)
) )
-- Altimeter Pressure window -- Altimeter Pressure window
@ -2083,21 +2113,23 @@ function ExportScript.CockpitInstruments(mainPanelDevice)
local altBaroReadout = altBaro_Xxxxx .. altBaro_xXxxx .. altBaro_xxXxx .. altBaro_xxxXX local altBaroReadout = altBaro_Xxxxx .. altBaro_xXxxx .. altBaro_xxXxx .. altBaro_xxxXX
altBaroReadout = round(altBaroReadout,-2) altBaroReadout = round(altBaroReadout,-2)
-- Vertical speed needle -- Vertical speed needle
local vsiReadout = ExportScript.Tools.round(mainPanelDevice:get_argument_value(1025) * 10000, 0) local vsiReadout = ExportScript.Tools.round(mainPanelDevice:get_argument_value(1025) * 10000, 0)
if vsiReadout < 5999 and vsiReadout > -5999 then if vsiReadout < 5999 and vsiReadout > -5999 then
vsiReadout = format_int(round(vsiReadout,-2)) .. ' fpm' vsiReadout = format_int(round(vsiReadout,-2)) .. ' fpm'
else else
vsiReadout = format_int(round(vsiReadout,-2)) .. '+ fpm' vsiReadout = format_int(round(vsiReadout,-2)) .. '+ fpm'
end end
ExportScript.Tools.SendData(8007, 'FLT INST\n' ExportScript.Tools.SendData(8007, 'FLT INST\n'
.. format_int(altBaroReadout) .. ' ft\n' .. format_int(altBaroReadout) .. ' ft\n'
.. altBaroPressReadout .. ' mb\n' .. altBaroPressReadout .. ' mb\n'
.. vsiReadout .. vsiReadout
) )
end end
function ExportScript.qfeCalculator(mainPanelDevice) function ExportScript.qfeCalculator(mainPanelDevice)
-- Altimeter Pressure window -- Altimeter Pressure window
local altBaroPress_Xxxx = ExportScript.Tools.round(mainPanelDevice:get_argument_value(1049) * 10, 0) local altBaroPress_Xxxx = ExportScript.Tools.round(mainPanelDevice:get_argument_value(1049) * 10, 0)