-- FSLabs CONCORDE
-- Version 1.0b Pierre Chassang 2012
-- ## System functions ##
function InitVars ()
VORmode = 1
-- uncomment to disable display
AutopilotDisplayBlocked ()
end
-- ## Autopilot Controls ###############
function CONC_AP1_Toggle ()
ipc.control(66587,71084)
end
function CONC_AP2_Toggle ()
ipc.control(66587,71085)
end
function CONC_ATH1_Toggle ()
ipc.control(66587,71080)
end
function CONC_ATH2_Toggle ()
ipc.control(66587,71081)
end
function Max_Climb ()
ipc.control(66587,71074)
end
function IAS_Acq ()
ipc.control(66587,71062)
end
function IAS_Hld ()
ipc.control(66587,71061)
end
function Vertical_SPD ()
ipc.control(66587,71077)
end
function ALT_Acq ()
ipc.control(66587,71079)
end
function AP_Datum_Pitch_Down ()
var = ipc.ReadLvar("VC_Datum_AP_Pitch_Sw")
if var == 20 then
ipc.WriteLvar("VC_Datum_AP_Pitch_Sw",0)
end
ipc.control(66587, 73530)
end
function AP_Datum_Pitch_Neutral ()
ipc.WriteLvar("VC_Datum_AP_Pitch_Sw",20)
ipc.control(66587, 73532)
end
function AP_Datum_Pitch_Up ()
var = ipc.ReadLvar("VC_Datum_AP_Pitch_Sw")
if var == 20 then
ipc.WriteLvar("VC_Datum_AP_Pitch_Sw",40)
end
ipc.control(66587, 73531)
end
function AP_Datum_Roll_Left ()
ipc.control(66587,73525) --vc_Datum_AP_Bank_Sw = 99..98..
end
function AP_Datum_Roll_Neutral ()
var = ipc.ReadLvar("VC_Datum_AP_Bank_Sw")
if (var < 100 and var > 50) then
ipc.control(66587,73527)
end
if (var > 0 and var < 50) then
ipc.control(66587,73528)
end
end
function AP_Datum_Roll_Right ()
ipc.control(66587,73526) --vc_Datum_AP_Bank_Sw = 1..2..
end
function TRK_HDH ()
ipc.control(66587,71130)
end
-- ## Rotaries Functions ###############
function ALT_plus (a, b, c)
ipc.control(66587,71136)
end
function ALT_plusfast (a, b, c)
ipc.control(66587,71136)
end
function ALT_minus (a, b, c)
ipc.control(66587,71135)
end
function ALT_minusfast (a, b, c)
ipc.control(66587,71135)
end
function SPD_plus ()
ipc.control(66587,71095)
end
function SPD_plusfast ()
ipc.control(66587,71095)
end
function SPD_minus ()
ipc.control(66587,71096)
end
function SPD_minusfast ()
ipc.control(66587,71096)
end
function HDG_plus ()
ipc.control(66587,71107)
end
function HDG_plusfast ()
ipc.control(66587,71107)
end
function HDG_minus ()
ipc.control(66587,71108)
end
function HDG_minusfast ()
ipc.control(66587,71108)
end
function CRS_left_inc ()
ipc.control(66587,71110)
end
function CRS_left_dec ()
ipc.control(66587,71109)
end
function CRS_right_inc ()
ipc.control(66587,71121)
end
function CRS_right_dec ()
ipc.control(66587,71122)
end
-- ## Engines start ###############
function Debow_All ()
ipc.control(66587,71998)
ipc.sleep(900)
mouse.move(60,583) --Engine1
ipc.sleep(100)
mouse.click(0)
mouse.move(122,583) --Engine2
ipc.sleep(100)
mouse.click(0)
mouse.move(181,583) --Engine3
ipc.sleep(100)
mouse.click(0)
mouse.move(237,583) --Engine4
ipc.sleep(100)
mouse.click(0)
end
function Mouse_Coord ()
x, y = mouse.getpos()
DspShow("ENG2", x)
ipc.sleep(1000)
DspShow("ENG2", y)
end
function ENG2_Start ()
ipc.control(66587,71998)
ipc.sleep(800)
mouse.move(122,496)
ipc.sleep(1000)
mouse.click(2) -- démarreur 2
DspShow("ENG2", "Strt")
end
function ENG3_Start ()
mouse.move(178,496)
ipc.sleep(1000)
mouse.click(2) -- démarreur 3
DspShow("ENG3", "Strt")
end
function ENG1_Start ()
ipc.control(66587,71998)
ipc.sleep(800)
mouse.move(66,496)
ipc.sleep(1000)
mouse.click(2) -- démarreur 1
DspShow("ENG1", "Strt")
end
function ENG4_Start ()
mouse.move(236,496)
ipc.sleep(1000)
mouse.click(2) -- démarreur 1
DspShow("ENG4", "Strt")
end
function ENG2_Fuel ()
ipc.control(66587,75084)
end
function ENG3_Fuel ()
ipc.control(66587,75086)
end
function ENG1_Fuel ()
ipc.control(66587,75082)
end
function ENG4_Fuel ()
ipc.control(66587,75088)
end
-- ## Panels view ###############
function FWD_leg () --Tableau demarrage moteurs
ipc.control(66587,71998)
end
function Lowerfuel ()
ipc.control(66506,8009)
end
function Upperfuel ()
ipc.control(66506,8010)
end
function AirBleed ()
ipc.control(66506,8012)
end
function Hydraulic ()
ipc.control(66506,8011)
end
function AC ()
ipc.control(66506,8007)
end
function DC ()
ipc.control(66506,8008)
end
-- ## Misc ###############
function Gear ()
var = ipc.readLvar("vc_GearLever")
if var == 100 then
ipc.writeLvar("vc_GearLever",50)
end
if var == 50 then
ipc.control(66080,0)
end
end
function Min_Dec ()
ipc.control(66587,71370)
end
function Min_Inc ()
ipc.control(66587,71371)
end
function setAPALT(offset, value)
Global.buffer = ipc.readUD(0x07D4)/65536*3.28/100
com.write(dev, string.format("ALT%03d", math.ceil(buffer)),8 )
end
function Chrono_EET_Start ()
ipc.control(66587,71513)
ipc.control(66587,71511)
end
function ENG_Monitor ()
LVarSet= "L:vc_TOmon_Knob"
Mon = ipc.readLvar(LVarSet)
if Mon == 0 then
ipc.control(66587,71577)
else
ipc.control(66587,71578)
end
end
function Visor_Motion_Dwn ()
--ipc.control(71560,0)
ipc.control(66294,0)
end
function Visor_Motion_Up ()
--ipc.control(71560,0)
ipc.control(66295,1)
end
-- ## Radios ###############
function Conc_VOR_rotary_CP_FO_toggle ()
if ipc.get("VORmode") == 1 then
ipc.set("VORmode", 2)
DspShow ("VOR", "FO")
else ipc.set("VORmode", 1)
DspShow ("VOR", "CP")
end
end
function Conc_VOR_inc ()
if ipc.get("VORmode") == 1 then
Conc_CP_VOR_inc ()
elseif ipc.get("VORmode") == 2 then
Conc_FO_VOR_inc ()
end
end
function Conc_VOR_dec ()
if ipc.get("VORmode") == 1 then
Conc_CP_VOR_dec ()
elseif ipc.get("VORmode") == 2 then
Conc_FO_VOR_dec ()
end
end
function Conc_CP_VOR_inc ()
var = ipc.readLvar("SSTSIM_VC_NAVRadio_CP_Freq_L_Knob")
Var = Var + 10
ipc.writeLvar("SSTSIM_VC_NAVRadio_CP_Freq_L_Knob", var)
end
function Conc_CP_VOR_dec ()
var = ipc.readLvar("SSTSIM_VC_NAVRadio_CP_Freq_L_Knob")
Var = Var - 10
ipc.writeLvar("SSTSIM_VC_NAVRadio_CP_Freq_L_Knob", var)
end