Supersonic Air-Child Concorde

Hi Tom,

Like you, I use Vrinsight MCP combo Panel (original) and LINDA.
I've created a profile for Concorde trying to make easy the main tasks.
Like you, I didn't found an offset being able to change NAV frequencies neither with FSUIPC or LINDA.
COM works, ADF works because they located on pedestral but NAV's on glareshield don't.

As CPS is now stable I got more time to back to Concorde flights after some with B738 for training.
I will resume my investigations into a solution for this problem really annoying. :x

You are not alone Tom. :(

Best Regards
Pierre ;)
 
Hi Pierre,
yesterday I found the variables for switching the Navigation from RAD to INS please see the Linda script below.

When I install your performance calculater the installer ask me if I have Active Sky installed. I have it but I do not use it, I use only OPUS now it is very comfortable with weather and view cams. What shall I do if the installer ask me for Active Sky in this case. Or can I use Active Sky only for the perfor,mance calculation?

Cheers Tom

Linda:

-- ## Radio Navigation ##############

function NAV_CAPT_RAD ()
if ipc.readLvar("SSTSIM_VC_RADINS_CP_Switch") == 0 then
ipc.control(66587, 71050)
end

end

function NAV_CAPT_INS()
if ipc.readLvar("SSTSIM_VC_RADINS_CP_Switch") == 10 then
ipc.control(66587, 71050)
end

end

function NAV_FO_RAD ()
if ipc.readLvar("SSTSIM_VC_RADINS_FO_Switch") == 0 then
ipc.control(66587, 71051)
end

end

function NAV_FO_INS()
if ipc.readLvar("SSTSIM_VC_RADINS_FO_Switch") == 10 then
ipc.control(66587, 71051)
end
 
Hi Tom,

Great news for Linda script. Thanks for sharing.
Concerning CPS, you can set it as if don't have AS.
Opus uses the real time weather as CPS can do now.
So, using real life WX you should have a correct Temp/Wind values when opus inject WX in FS.
Same way using FSGRW.

I've associated Chrono and EET with EFIS CTR knob (push) triggering the following function:
Code:
function Chrono_EET_Start  ()
  ipc.control(66587,71513)
  ipc.control(66587,71511)
end

Hope this help
Pierre
 
Is this the chrono I Need for the reheaters timing after TO. Do You have the sript for the pitch and autthrote adjust on the pedestal? I do not remember if it was in the original linda cfg. If you want it, tell me. Only problem is that they do switch back automatically.
Cheers Tom

The chronometer varaibles do not work here!
Cheers Tom

OK it works if I choose the FSX CONTROL: ROTORBRAKE (66587) with the Parameter 71513 :D
Cheers Tom
 
Hi Tom,

I give you the complete profile I use for Concorde.
You can modify it as you discretion.
Just tell us if you find new functions.
Code:
-- 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

This is : actions.lua file
The latest "Radio" functions don't work. (They are for test).
Cheers
Pierre
Cheers
 
Hi pierre thnx for the list - the start sequence is awesone!

What is:
function setAPALT(offset, value)
function Mouse_Coord ()

Chhers Tom
 
Hello dear Tom,

function setAPALT(offset, value): Allows to modify displayed altitude on the glareshield.
function Mouse_Coord (): Used in the test step to display the mouse coordinates when clicking on ENG2 switch and after use them for Start sequence. It can be deleted.

Cheers
Pierre
 
Pierre Chassang said:
Hello dear Tom,

function setAPALT(offset, value): Allows to modify displayed altitude on the glareshield.
function Mouse_Coord (): Used in the test step to display the mouse coordinates when clicking on ENG2 switch and after use them for Start sequence. It can be deleted.

Cheers
Pierre

Hi Pierre,
ok will do it - many thnx!

About function setAPALT(offset, value)
with pressing - is it ment to press? :( I get the LUA error message:
[E] *** LUA Error: linda-cfg/aircrafts/FSL Concorde/config-mcp.lua:344: attempt to call global 'setAPALT' (a nil value)

BTW your CPS is outstanding good - it makes the ConcordeX much more flexible and a real FS addon - cause I want to got where I want :) Only with the new FUEL managment page, which I can open from the FSX menu, I do not know what to do. It it not decribed in the actual manual.

I found more LUA variables for INVERTERS, OM ELEVONS, INNER ELEVONS, RUDDER, ANTI SKID, the ELECTRIC STAB SWITCHES - but I did not wrote a Linda script cause I use them as LUA script via FSUIPC with the GOFlight Switches, which is real cool.

Cheers Tom

ps. Maybe it is better we write here in the forum, then others may follow. Better then PM what I started :S
 
Only "function Mouse_Coord ()" can be deleted, not the "function setAPALT(offset, value)".

Ok to share our work on forum instead of PM. :up:

Cheers
Pierre ;)
 
Pierre Chassang said:
Only "function Mouse_Coord ()" can be deleted, not the "function setAPALT(offset, value)".

Ok to share our work on forum instead of PM. :up:

Cheers
Pierre ;)


OK, but what do I have to do with: "function setAPALT(offset, value)" ?
I did not delete it. Do I have to assign it to a button?
Cheers Tom
 
No , it is a sub function called by another ones.

Cheers
Pierre ;)
 
Concerning CPS Use, pleas see:

And for CFM:

Blue skies
Pierre ;)
 
THNX very much Pierre,

for the Ground Call Press Button I found this variable but I do not get it to work

[C] Control: 66587 - 75050 ROTOR_BRAKE
LUA.0: [L] LVar: VC_Overhead_Ground_Call_Pb = 10
[C] Control: 66587 - 75051 ROTOR_BRAKE
LUA.0: [L] LVar: VC_Overhead_Ground_Call_Pb = 0


do you?
Cheers Tom

BTW :D

function Seatbelts ()
ipc.control(66587, 75048)
end

function No_Smoking ()
ipc.control(66587, 75046)
end

function Roof_Light ()
ipc.control(66587, 75005)
ipc.control(66049, 52)
end
 
Nice Tom,
Thanks for the good work

Pierre
 
Hi Pierre,
some new LINDA scripts, this time with display functions:

-- ## ICE #############

function STATIC_HEAT ()
ipc.control(66587, 75016)
if ipc.readLvar("VC_Overhead_Press_Static") > 10 then
DspShow ("STH", "OFF")
ipc.sleep (1000)
end
if ipc.readLvar("VC_Overhead_Press_Static") == 0 then
DspShow ("STH", "ON")
ipc.sleep (1000)
end

end

function DRAIN_MASTER_ALL_UP ()
ipc.control(66587,75032)
ipc.sleep(400)
ipc.control(66587,75034)
ipc.sleep(400)
ipc.control(66587,75036)
if ipc.readLvar("VC_Ovhd_Drain_Mast_Heat_2_Sw" ) == 10 then
DspShow ("DM", "ON")
ipc.sleep(1000)
end
if ipc.readLvar("VC_Ovhd_Drain_Mast_Heat_2_Sw" ) == 5 then
DspShow ("DM", "OFF")
ipc.sleep(1000)
end
if ipc.readLvar("VC_Ovhd_Drain_Mast_Heat_2_Sw" ) == 0 then
DspShow ("DM", "ON")
ipc.sleep(1000)
end
end

function DRAIN_MASTER_ALL_DOWN ()
ipc.control(66587,75033)
ipc.sleep(400)
ipc.control(66587,75035)
ipc.sleep(400)
ipc.control(66587,75037)
if ipc.readLvar("VC_Ovhd_Drain_Mast_Heat_2_Sw" ) == 10 then
DspShow ("DM", "ON")
ipc.sleep(1000)
end
if ipc.readLvar("VC_Ovhd_Drain_Mast_Heat_2_Sw" ) == 5 then
DspShow ("DM", "OFF")
ipc.sleep(1000)
end
if ipc.readLvar("VC_Ovhd_Drain_Mast_Heat_2_Sw" ) == 0 then
DspShow ("DM", "ON")
ipc.sleep(1000)
end

end

function ADS_ENG_PROBE_UP ()
ipc.control(66587,75018)
ipc.sleep(400)
ipc.control(66587,75020)
if ipc.readLvar("VC_Overhead_ADS_1_Heater") == 10 then
DspShow ("ADSP", "TtIn")
ipc.sleep(1000)
end
if ipc.readLvar("VC_Overhead_ADS_1_Heater") == 5 then
DspShow ("ADSP", "OFF")
ipc.sleep(1000)
end


end

function ADS_ENG_PROBE_DOWN ()
ipc.control(66587,75019)
ipc.sleep(400)
ipc.control(66587,75021)
if ipc.readLvar("VC_Overhead_ADS_1_Heater") == 0 then
DspShow ("ADSP", "ON")
ipc.sleep(1000)
end
if ipc.readLvar("VC_Overhead_ADS_1_Heater") == 5 then
DspShow ("ADSP", "OFF")
ipc.sleep (1000)
end


And this I do not get to work, do you see an error:

function ENG_DE_ICE_Toggle ()
ipc.control(66587,75090)
ipc.sleep(400)
ipc.control(66587,75092)
ipc.sleep (400)
ipc.control (66587, 75094)
ipc.sleep (400)
ipc.control (66587, 75096)
if ipc.readLvar("VC_Ovh_AntiIce_Eng_1", "VC_Ovh_AntiIce_Eng_2", "VC_Ovh_AntiIce_Eng_3", "VC_Ovh_AntiIce_Eng_4") == 10 then
DspShow ("E", "ON")
ipc.sleep(1000)
end
if ipc.readLvar("VC_Ovh_AntiIce_Eng_1", "VC_Ovh_AntiIce_Eng_2", "VC_Ovh_AntiIce_Eng_3", "VC_Ovh_AntiIce_Eng_4") == 0 then
DspShow ("EE", "OFF")
ipc.sleep (1000)
end

Cheers Tom
 
Hi tom,

First, thanks again for sharing the functions you find.
I think the bottom functions error comes from the "If" structure: LINDA doesn't know if it is either "item 1" OR "item 2"... or "Item1" AND "Item2"...

I will have a look to the right syntax.

Cheers
Pierre ;)
 
Pierre Chassang said:
Hi tom,

First, thanks again for sharing the functions you find.
I think the bottom functions error comes from the "If" structure: LINDA doesn't know if it is either "item 1" OR "item 2"... or "Item1" AND "Item2"...

I will have a look to the right syntax.

Cheers
Pierre ;)

Pierre,
you mean for the display line:
if ipc.readLvar("VC_Ovh_AntiIce_Eng_1", "VC_Ovh_AntiIce_Eng_2", "VC_Ovh_AntiIce_Eng_3", "VC_Ovh_AntiIce_Eng_4") ==

I know what you mean - but it even does not work if I cancel all display lines:

only:

function ENG_DE_ICE_Toggle ()
ipc.control(66587,75090)
ipc.sleep(400)
ipc.control(66587,75092)
ipc.sleep (400)
ipc.control (66587, 75094)
ipc.sleep (400)
ipc.control (66587, 75096)
end


actually that work, shouldn´t it?

Cheers Tom
 
Hi Tom,

Here is the correct syntax for the code:
Code:
<i>
</i>if ipc.readLvar("VC_Ovh_AntiIce_Eng_1", "VC_Ovh_AntiIce_Eng_2", "VC_Ovh_AntiIce_Eng_3", "VC_Ovh_AntiIce_Eng_4") ==
shoul be:
Code:
<i>
</i>if ipc.readLvar("VC_Ovh_AntiIce_Eng_1") 
and ipc.readLvar("VC_Ovh_AntiIce_Eng_2")
and ipc.readLvar("VC_Ovh_AntiIce_Eng_3")
and ipc.readLvar("VC_Ovh_AntiIce_Eng_4")==

Hope this help
Pierre
 
Hi Pierre,
thnx the function is working by now - only the dispaly is weird it always shows EICE OFF
Code:
function ENG_DE_ICE_ON ()
        ipc.control(66587,75090)
            ipc.sleep(400)
        ipc.control(66587,75092)
            ipc.sleep (400)
        ipc.control (66587, 75094)
          ipc.sleep (400)
        ipc.control (66587, 75096)
    if ipc.readLvar("VC_Ovh_AntiIce_Eng_1")
    and ipc.readLvar("VC_Ovh_AntiIce_Eng_2")
    and ipc.readLvar("VC_Ovh_AntiIce_Eng_3")
    and ipc.readLvar("VC_Ovh_AntiIce_Eng_4") == 10 then
DspShow ("EICE", "ON")

end

    if ipc.readLvar("VC_Ovh_AntiIce_Eng_1")
    and ipc.readLvar("VC_Ovh_AntiIce_Eng_2")
    and ipc.readLvar("VC_Ovh_AntiIce_Eng_3")
    and ipc.readLvar("VC_Ovh_AntiIce_Eng_4") == 0 then
DspShow ("EICE", "OFF")

    end

end

Maybe you know why - I am not so good in scripts but I learn... :D
Cheers Tom
 
Re: Supersonic Air-Child Concorde / CPS

Hi Pierre,
I have problems with the CPS. I am quite sure that the installation is ok and the route to the FSX folder etc. is correct. But if I hit "Send it to Concorde" nothing happens in the plane. I get the message Concorde Loader updated but no changes in the plane. I did a cold and dark start, like it comes when I open the plane. Did the CPS during FSX was running and the concorde loaded.
Any idea?
Cheers Tom
 
Back
Top Bottom