Jump to content

DCS Flight Panels (DCSFP) formula generator


Capt Zeen

Recommended Posts

Thanks to the brillant work of ArturDCS we can use the Saitek/logitek flightPanels in DCSWorld

 

DCSFlight Panels

Trying to setup the different values to show in the PZ70 panel , like the variometer, IAS, etc,

i found dificulty when those values are scaled values in DCS.

To solve the problem i created this formula calculator so the task is now very easy to do.

 

 

How to use it:

 

- First of all you need to know the name of the DCS-BIOS variable you want to show. You can use the DCSFP software to get it.

- Insert the DCS-BIOS variable name and the max value on the form.

- Now you need to know the values of the scales inside DCS. To get those values usually you need to look at mainpanel_init.lua and search for the variable.

- Copy the input values between the {} and paste into the form

- Do the same with the output values. Remember do not copy the {} only the values inside

- Only numeric values are allowed for the input and output

- Click on create formula and if everything is ok, you get your formula ready to paste in DCSflightpanels

 

Example for the MI8 variometer:

 

DCS-BIOS value Name: VARIOMETER_L

 

DCS-BIOS Max value: 65535

 

DCS Input values: -30, -20, -10, -5, -2, -1, 0, 1, 2, 5, 10, 20, 30

 

DCS Output values: -1.0, -0.71, -0.43, -0.23, -0.09, -0.05, 0, 0.05, 0.09, 0.23, 0.43, 0.71, 1.0

 

Formula generated for this example:

 

Ifless( VARIOMETER_L 56032 ( Ifless( VARIOMETER_L 46858 ( Ifless( VARIOMETER_L 40304 ( Ifless( VARIOMETER_L 35717 ( Ifless( VARIOMETER_L 34406 ( Ifless( VARIOMETER_L 32768 ( Ifless( VARIOMETER_L 31129 ( Ifless( VARIOMETER_L 29818 ( Ifless( VARIOMETER_L 25231 ( Ifless( VARIOMETER_L 18677 ( Ifless( VARIOMETER_L 9503 ( (VARIOMETER_L*0,00105)+-30) ((0,00109*(VARIOMETER_L-9503))+-20))) ((0,00076*(VARIOMETER_L-18677))+-10))) ((0,00065*(VARIOMETER_L-25231))+-5))) ((0,00076*(VARIOMETER_L-29818))+-2))) ((0,00061*(VARIOMETER_L-31129))+-1))) ((0,00061*(VARIOMETER_L-32768))+0))) ((0,00076*(VARIOMETER_L-34406))+1))) ((0,00065*(VARIOMETER_L-35717))+2))) ((0,00076*(VARIOMETER_L-40304))+5))) ((0,00109*(VARIOMETER_L-46858))+10))) ((0,00105*(VARIOMETER_L-56032))+20))

 

 

 

 

NOTE: This is the first version so some isues can happen if you dont fill the form correctly.

Let me know how it goes!.

 

DCSFP formula generator

 

 

hope you like it!

 

 

..

Link to comment
Share on other sites

Formulas ready to use:

 

 

Mi-8

 

 

Barometric Altitud:

truncate((VD_10K_L_100/65536)*10000)

 

QFE:

truncate ((VD_10K_L_PRESS/508)+661)

 

 

 

IAS:

Ifless( IAS_L 63634 ( Ifless( IAS_L 56557 ( Ifless( IAS_L 49282 ( Ifless( IAS_L 41942 ( Ifless( IAS_L 34734 ( Ifless( IAS_L 27394 ( Ifless( IAS_L 20054 ( Ifless( IAS_L 13041 ( Ifless( IAS_L 4587 ( Ifless( IAS_L 2228 ( IAS_L*0,00449 ) ((0,0212*(IAS_L-2228))+0))) ((0,00591*(IAS_L-4587))+50))) ((0,00713*(IAS_L-13041))+100))) ((0,00681*(IAS_L-20054))+150))) ((0,00681*(IAS_L-27394))+200))) ((0,00694*(IAS_L-34734))+250))) ((0,00681*(IAS_L-41942))+300))) ((0,00687*(IAS_L-49282))+350))) ((0,00707*(IAS_L-56557))+400))) ((0,00789*(IAS_L-63634))+450))

 

 

Variometer:

Ifless( VARIOMETER_L 56032 ( Ifless( VARIOMETER_L 46858 ( Ifless( VARIOMETER_L 40304 ( Ifless( VARIOMETER_L 35717 ( Ifless( VARIOMETER_L 34406 ( Ifless( VARIOMETER_L 32768 ( Ifless( VARIOMETER_L 31129 ( Ifless( VARIOMETER_L 29818 ( Ifless( VARIOMETER_L 25231 ( Ifless( VARIOMETER_L 18677 ( Ifless( VARIOMETER_L 9503 ( (VARIOMETER_L*0,00105)+-30) ((0,00109*(VARIOMETER_L-9503))+-20))) ((0,00076*(VARIOMETER_L-18677))+-10))) ((0,00065*(VARIOMETER_L-25231))+-5))) ((0,00076*(VARIOMETER_L-29818))+-2))) ((0,00061*(VARIOMETER_L-31129))+-1))) ((0,00061*(VARIOMETER_L-32768))+0))) ((0,00076*(VARIOMETER_L-34406))+1))) ((0,00065*(VARIOMETER_L-35717))+2))) ((0,00076*(VARIOMETER_L-40304))+5))) ((0,00109*(VARIOMETER_L-46858))+10))) ((0,00105*(VARIOMETER_L-56032))+20))

 

Radar Altimeter:

Ifless ( A_036_RALT 40960 (Ifless ( A_036_RALT 29950  (A_036_RALT/299,5)  ((0,0181*(A_036_RALT-29950))+100)) )    ((0,02034*(A_036_RALT-40960))+300))

 

 

Heading:

((UGR_4K_HEADING_L*0,00009587)+0) * 57,282

 

Course:

ifmore (  (((UGR_4K_COMMANDED_COURSE_L/65536)*360)  +  ((UGR_4K_HEADING_L/65536)*360))  359 (((UGR_4K_COMMANDED_COURSE_L/65536)*360)  +  ((UGR_4K_HEADING_L/65536)*360)-360)  (((UGR_4K_COMMANDED_COURSE_L/65536)*360)  +  ((UGR_4K_HEADING_L/65536)*360))  )

 

 

 

KA50

 

 

 

Variometer:

((VARIO_SPEED/65536)*60)-30

 

Radar altimeter:

Ifless ( RALT_ALT 61138 (Ifless ( RALT_ALT 54591 ( Ifless ( RALT_ALT 49420 ( Ifless ( RALT_ALT 30350 ( Ifless ( RALT_ALT 12045 (RALT_ALT/602,25)  ((0,00163*(RALT_ALT-12045))+20)) )  ((0,00524*(RALT_ALT-30350))+50)) )  ((0,00967*(RALT_ALT-49420))+150)) ) ((0,01527*(RALT_ALT-54591))+200)) )  300 )

 

 

IAS:

truncate((AIRSPEED*350)/65536)

 

 

Heading:

(HSI_HDG/65536)*360

 

 

Barimetric Altitude:

truncate((ALT_1000M/65536)*10000)

 

 

QFE press:

truncate(((ALT_QFE_PRESS/65536)*200)+600)

 

 

Course:

(HSI_DES_COURSE/65536)*360

 

 

 

 

 

UH-1H

 

Barometric Altitude

 

(PALT_10000/65535)*100000

 

 

QFE (last digit is decimal)

 

((PALT_PRESS*0,00004425)+28,1)*10

 

 

Radar Altimeter

 

Ifless( RALT_NEEDLE 48916 ( Ifless( RALT_NEEDLE 42533 ( Ifless( RALT_NEEDLE 35822 ( Ifless( RALT_NEEDLE 31848 ( Ifless( RALT_NEEDLE 16118 ( (RALT_NEEDLE*0,006204)+0) ((0,006279*(RALT_NEEDLE-16118))+100))) ((0,07549*(RALT_NEEDLE-31848))+200))) ((0,07554*(RALT_NEEDLE-35822))+500))) ((0,07722*(RALT_NEEDLE-42441))+1000))) ((0*(RALT_NEEDLE-48916))+1500))

 

 

Vertical Velocity

 

Ifless( VVI_P 59309 ( Ifless( VVI_P 50462 ( Ifless( VVI_P 44564 ( Ifless( VVI_P 20971 ( Ifless( VVI_P 15073 ( Ifless( VVI_P 6226 ( (VVI_P*0,16062)+-4000) ((0,16955*(VVI_P-6226))+-3000))) ((0,08477*(VVI_P-15073))+-1500))) ((0,08477*(VVI_P-20971))+-1000))) ((0,08477*(VVI_P-44564))+1000))) ((0,16955*(VVI_P-50462))+1500))) ((0,16062*(VVI_P-59309))+3000))

 

 

IAS

 

Ifless( IAS_NOSE 54066 ( Ifless( IAS_NOSE 36044 ( Ifless( IAS_NOSE 28835 ( Ifless( IAS_NOSE 25886 ( Ifless( IAS_NOSE 20971 ( Ifless( IAS_NOSE 12452 ( Ifless( IAS_NOSE 4915 ( (IAS_NOSE*0,00407)+0) ((0,00133*(IAS_NOSE-4915))+20))) ((0,00117*(IAS_NOSE-12452))+30))) ((0,00203*(IAS_NOSE-20971))+40))) ((0,00339*(IAS_NOSE-25886))+50))) ((0,00277*(IAS_NOSE-28835))+60))) ((0,00222*(IAS_NOSE-36044))+80))) ((0,00262*(IAS_NOSE-54066))+120))

 

Heading

 

(GMC_HDG/65535)*360

 

 

Course Mark

 

ifmore (   ((360-((GMC_HDG_MARKER/65535)*360))+((GMC_HDG/65535)*360)) 359  (((360-((GMC_HDG_MARKER/65535)*360))+((GMC_HDG/65535)*360))-360)    ((360-((GMC_HDG_MARKER/65535)*360))+((GMC_HDG/65535)*360))   )

 

 

 

 

 

..


Edited by Capt Zeen
Link to comment
Share on other sites

Outstanding work!

 

This keeps getting better and better!

 

(Is it ok to giggle?):D

 

Never in my wildest dreams did I think we would be at this point with Flight Panels.

And I've been a fan for ages...........

 

Thank you Capt!

 

Well done!

 

May need to drop something in your donation bucket.......

Do you take pay pal?

"Yeah, and though I work in the valley of Death, I will fear no Evil. For where there is one, there is always three. I preparest my aircraft to receive the Iron that will be delivered in the presence of my enemies. Thy ALCM and JDAM they comfort me. Power was given unto the aircrew to make peace upon the world by way of the sword. And when the call went out, Behold the "Sword of Stealth". And his name was Death. And Hell followed him. For the day of wrath has come and no mercy shall be given."

Link to comment
Share on other sites

  • 2 weeks later...
  • 8 months later...

hi,

thanks for your work. But i have a problem

I follow the instruction and i am trying to insert the values for the f18 IAS and VVI but when i input the formula in dcs flight panels only a FIXED 99 is displayed.

I get the values from the hornet lua. And for example this is the formula for vertical velocity

 

Ifless( VSI 59965 ( Ifless( VSI 56688 ( Ifless( VSI 52592 ( Ifless( VSI 45874 ( Ifless( VSI 39976 ( Ifless( VSI 32768 ( Ifless( VSI 25559 ( Ifless( VSI 19660 ( Ifless( VSI 12943 ( Ifless( VSI 8847 ( Ifless( VSI 5570 ( (VSI*0,35907)+-6000) ((0,30516*(VSI-5570))+-4000))) ((0,24414*(VSI-8847))+-3000))) ((0,14888*(VSI-12943))+-2000))) ((0,08476*(VSI-19660))+-1000))) ((0,06936*(VSI-25559))+-500))) ((0,06937*(VSI-32768))+0))) ((0,08477*(VSI-39976))+500))) ((0,14885*(VSI-45874))+1000))) ((0,24414*(VSI-52592))+2000))) ((0,30516*(VSI-56688))+3000))) ((0,35907*(VSI-59965))+4000))

🖥️ R7-5800X3D 64GB RTX-4090 LG-38GN950  🥽  Valve Index 🕹️ VPForce Rhino FFB, Virpil F-14 (VFX) Grip, Virpil Alpha Grip, Virpil CM3 Throttle + Control Panel 2, Winwing Orion (Skywalker) Pedals, Razer Tartarus V2 💺SpeedMaster Flight Seat, JetSeat

CVW-17_Profile_Background_VF-103.png

Link to comment
Share on other sites

News?

🖥️ R7-5800X3D 64GB RTX-4090 LG-38GN950  🥽  Valve Index 🕹️ VPForce Rhino FFB, Virpil F-14 (VFX) Grip, Virpil Alpha Grip, Virpil CM3 Throttle + Control Panel 2, Winwing Orion (Skywalker) Pedals, Razer Tartarus V2 💺SpeedMaster Flight Seat, JetSeat

CVW-17_Profile_Background_VF-103.png

Link to comment
Share on other sites

Hello VirusAM

 

Right now, i am on the mainland in holidays, and don't have here the saitek panels, so i can't test it. I come back home the next week.

 

As soon i arrive i can check it.

 

 

 

ok thank you.

Good Holidays anyway

🖥️ R7-5800X3D 64GB RTX-4090 LG-38GN950  🥽  Valve Index 🕹️ VPForce Rhino FFB, Virpil F-14 (VFX) Grip, Virpil Alpha Grip, Virpil CM3 Throttle + Control Panel 2, Winwing Orion (Skywalker) Pedals, Razer Tartarus V2 💺SpeedMaster Flight Seat, JetSeat

CVW-17_Profile_Background_VF-103.png

Link to comment
Share on other sites

  • 1 year later...

Posting this here as none of those formulas worked for me and I couldn't find any help.

F14 VSI Formula for DCS Flightpanels

(PLT_VSI_NEEDLE-32767.5) * ifless (PLT_VSI_NEEDLE 32767.5 (ifmore(PLT_VSI_NEEDLE 16000((log10 1.1)*log10 55)(ifmore(PLT_VSI_NEEDLE 7500((log10 1.125)*log10 80)(ifmore(PLT_VSI_NEEDLE 2500(log10 1.4)(.185))))))) (ifless(PLT_VSI_NEEDLE 46800((log10 1.1)*log10 50)(ifless(PLT_VSI_NEEDLE 56000((log10 1.125)*log10 80)(ifless(PLT_VSI_NEEDLE 62000(log10 1.4)(.185))))))))

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...