Implemented instruments.lua
This commit is contained in:
parent
e71d19e77e
commit
fc17314236
@ -1,2 +1,73 @@
|
||||
local basefunctions = require './lib/basefunctions'
|
||||
local strings = require './lib/strings'
|
||||
|
||||
|
||||
-- Pitot heat (on / off only)
|
||||
-- Pitot heat (including warnings)
|
||||
basefunctions.RegisterOnOffFunction({
|
||||
category = strings.Category.FSX.Instruments,
|
||||
uid = 'pitotOnOff',
|
||||
displayName = 'Pitot heat (on / off only)',
|
||||
variable = 'PITOT HEAT'
|
||||
})
|
||||
|
||||
|
||||
-- Pitot heat (including warnings)
|
||||
RegisterFunction(
|
||||
{
|
||||
uid = 'pitotWarning',
|
||||
category = strings.Category.FSX.Instruments,
|
||||
displayName = 'Pitot heat (including warnings)',
|
||||
states = {
|
||||
['off0'] = { displayName = 'Heat off - No ice', default = LEDColor.Red, order = 1 },
|
||||
['off25To50'] = { displayName = 'Heat off - > 25% iced', default = LEDColor.FlashingAmberNormal, order = 2 },
|
||||
['off50To75'] = { displayName = 'Heat off - > 50% iced', default = LEDColor.FlashingAmberFast, order = 3 },
|
||||
['off75To100'] = { displayName = 'Heat off - > 75% iced', default = LEDColor.FlashingAmberFast, order = 4 },
|
||||
['off100'] = { displayName = 'Heat off - Fully iced', default = LEDColor.FlashingRedFast, order = 5 },
|
||||
['on0'] = { displayName = 'Heat on - No ice', default = LEDColor.FlashingRedNormal, order = 6 },
|
||||
['on25To50'] = { displayName = 'Heat on - > 25% iced', default = LEDColor.Amber, order = 7 },
|
||||
['on50To75'] = { displayName = 'Heat on - > 50% iced', default = LEDColor.Amber, order = 8 },
|
||||
['on75To100'] = { displayName = 'Heat on - > 75% iced', default = LEDColor.Amber, order = 9 },
|
||||
['on100'] = { displayName = 'Heat on - Fully iced', default = LEDColor.Green, order = 10 }
|
||||
}
|
||||
},
|
||||
function(context)
|
||||
SetState(context, 'off0')
|
||||
|
||||
OnSimConnect(context,
|
||||
{
|
||||
heat = { variable = 'PITOT HEAT', type = SimConnectDataType.Bool },
|
||||
ice = { variable = 'PITOT ICE PCT', type = SimConnectDataType.Float64, units = 'percent' }
|
||||
},
|
||||
function(context, data)
|
||||
local ice = math.floor(data.ice)
|
||||
local prefix = 'off'
|
||||
|
||||
if data.heat then
|
||||
prefix = 'on'
|
||||
end
|
||||
|
||||
if ice >= 25 and ice <= 49 then
|
||||
SetState(context, prefix..'25To50')
|
||||
elseif ice >= 50 and ice <= 74 then
|
||||
SetState(context, prefix..'50To75')
|
||||
elseif ice >= 75 and ice <= 99 then
|
||||
SetState(context, prefix..'75To100')
|
||||
elseif ice = 100 then
|
||||
SetState(context, prefix..'100')
|
||||
else
|
||||
SetState(context, prefix..'0')
|
||||
end
|
||||
end)
|
||||
end
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user