PDA

View Full Version : Help v/s Altitude displayed infornation



Tuga_75
07-04-2010, 10:09 AM
Good afternoon i am making a home MCP stand alone using oc board i have put most of the funcion working id fs2004 defaut plane boeing 737 but i have the problem id sioc using script fs_737ssi in fs2004 the plane alt is 100ft in the mcp is displaying 00001 the same in v/s is possible to correct this in sioc script and how i am a rookey is sioc cant any one help me in this .

Best regard:
Paulo

kiek
07-04-2010, 02:42 PM
just multiply by 100 ...

like this:

Var 1 name ALT
{
L0 = &ALT * 100 // L0 now contains the value for your display
}

regards,
Nico

Tuga_75
07-05-2010, 08:50 AM
Thanks for the anser but the problem is in my made Mcp is displaying in alt 00001 in de fs in the plane is 00100 and i want to set the my home mcp the information became the same.


Best Regard
Paulo

kiek
07-05-2010, 09:22 AM
Yes, that's why I said multiply by 100 ....

Tuga_75
07-05-2010, 06:24 PM
good night kiek the formula you give is correct and working but in the mcp i make alt is 00001 and mcp on fs2004 is 000100 and i want if possible to put the two mcp equal values i will sent the script i an using

// ***********************************************************************************
// * Config_IOCard conversor ver 1.4 - By Manolo Vélez - www.opencockpits.com
// ***********************************************************************************
// * FileName : F:\Documents and Settings\manolo V\Escritorio\IOCARD DESARROLLO\fs_737.txt
// * Date : 20/5/2005

// ***************************************************
// DEFINICION DE VARIABLES // DEFINITION OF VARIABLES
// ***************************************************

Var 0000, Value 0 // Inicializa / Inicialization
{
V0305 = 1
V0308 = 120
V0309 = 0
V0312 = 72
V0013 = 0
V0314 = 0
V0321 = 1
}

Var 0001, Link FSUIPC_INOUT, Offset $07BC, Length 4 // AP_MASTER_SW
{
V0700 = TESTBIT V0001 ,0 // LED_AP_SW
}

Var 0002, Link FSUIPC_INOUT, Offset $07C0, Length 4 // AP_LVL
{
V0701 = TESTBIT V0002 ,0 // LED_LVL
}

Var 0003, Link FSUIPC_INOUT, Offset $07C4, Length 4 // AP_NAV1
{
IF V0003 = 1
{
V0702 = 1
}
ELSE
{
V0702 = 0
}
}

Var 0004, Link FSUIPC_INOUT, Offset $07C8, Length 4 // AP_HDG_SEL
{
IF V0004 = 1
{
V0703 = 1
}
ELSE
{
V0703 = 0
}
}

Var 0005, Link FSUIPC_INOUT, Offset $07CC, Length 2 // D_HDG

Var 0006, Link FSUIPC_INOUT, Offset $07D0, Length 4 // AP_ALT
{
IF V0006 = 1
{
V0712 = 1
}
ELSE
{
V0712 = 0
}
}

Var 0007, Link FSUIPC_INOUT, Offset $07DC, Length 4 // AP_IAS
{
IF V0007 = 1
{
V0704 = 1
}
ELSE
{
V0704 = 0
}
}

Var 0008, Link FSUIPC_INOUT, Offset $07E2, Length 2 // D_IAS

Var 0009, Link FSUIPC_INOUT, Offset $07D4, Length 4 // D_ALT

Var 0010, Link FSUIPC_INOUT, Offset $0764, Length 4 // AP_DISPONIBLE
{
IF V0010 = 1
{
V0705 = 1
}
ELSE
{
V0705 = 0
}
IF V0010 = 1
{
V0710 = 1
}
ELSE
{
V0710 = 0
}
}

Var 0011, Link FSUIPC_INOUT, Offset $07E4, Length 4 // AP_MACH
{
IF V0011 = 1
{
V0706 = 1
}
ELSE
{
V0706 = 0
}
}

Var 0012, Link FSUIPC_INOUT, Offset $07E8, Length 4 // D_MACH

Var 0013, Link FSUIPC_INOUT, Offset $3210, Length 2 // LOCALV_IAS/M
{
IF V0013 = 1
{
V0707 = 1
}
ELSE
{
V0707 = 0
}
IF V0013 = 1
{
V0708 = 1
}
ELSE
{
V0708 = 0
}
IF V0013 = 0
{
V0709 = 1
}
ELSE
{
V0709 = 0
}
IF V0013 = 1
{
V0719 = 1
}
ELSE
{
V0719 = 0
}
IF V0013 = 0
{
V0720 = 1
}
ELSE
{
V0720 = 0
}
}

Var 0014, Link FSUIPC_INOUT, Offset $07F2, Length 2 // D_V/S
{
V0711 = TESTBIT V0014 ,15 // NEGATIVO_V/S
}

Var 0015, Link FSUIPC_INOUT, Offset $0810, Length 4 // AP_AT
{
IF V0015 = 1
{
V0714 = 1
}
ELSE
{
V0714 = 0
}
}

Var 0016, Link FSUIPC_INOUT, Offset $2EE0, Length 4 // AP_FD
{
IF V0016 = 1
{
V0713 = 1
}
ELSE
{
V0713 = 0
}
}

Var 0017, Link FSUIPC_INOUT, Offset $07C4, Length 4 // AP_NAV
{
IF V0017 = 1
{
V0715 = 1
}
ELSE
{
V0715 = 0
}
}

Var 0018, Link FSUIPC_INOUT, Offset $0800, Length 4 // AP_APP
{
IF V0018 = 1
{
V0716 = 1
}
ELSE
{
V0716 = 0
}
}

Var 0019, Link FSUIPC_INOUT, Offset $0804, Length 4 // AP_BC
{
IF V0019 = 1
{
V0717 = 1
}
ELSE
{
V0717 = 0
}
}

Var 0020, Link FSUIPC_INOUT, Offset $0808, Length 4 // AP_YD
{
IF V0020 = 1
{
V0718 = 1
}
ELSE
{
V0718 = 0
}
}

Var 0021, Link FSUIPC_INOUT, Offset $0C4E, Length 2 // D_COURSE


// *********
// SWITCHES
// *********

Var 0400, Link IOCARD_SW, Input 62 // AP_CMD_A
{
IF V0400 = 1
{
IF V0001 <> 1
{
V0001 = 1
}
ELSE
{
V0001 = 0
}
}
}
Var 0401, Link IOCARD_SW, Input 36 // AP_LVL
{
IF V0401 = 1
{
IF V0002 <> 1
{
V0002 = 1
}
ELSE
{
V0002 = 0
}
}
}
Var 0402, Link IOCARD_SW, Input 53 // AP_NAV1
{
IF V0402 = 1
{
IF V0003 <> 1
{
V0003 = 1
}
ELSE
{
V0003 = 0
}
}
}
Var 0403, Link IOCARD_SW, Input 39 // AP_HDG_SEL
{
IF V0403 = 1
{
IF V0004 <> 1
{
V0004 = 1
}
ELSE
{
V0004 = 0
}
}
}
Var 0404, Link IOCARD_SW, Input 35 // AP_IAS
{
IF V0404 = 1
{
IF V0007 <> 1
{
V0007 = 1
}
ELSE
{
V0007 = 0
}
}
}
Var 0405, Link IOCARD_SW, Input 34 // AP_MACH
{
IF V0405 = 1
{
IF V0011 <> 1
{
V0011 = 1
}
ELSE
{
V0011 = 0
}
}
}
Var 0406, Link IOCARD_SW, Input 35 // AP_IAS
{
IF V0406 = 1
{
IF V0013 <> 0
{
V0013 = 0
}
}
}
Var 0407, Link IOCARD_SW, Input 34 // AP_MACH
{
IF V0407 = 1
{
IF V0013 <> 1
{
V0013 = 1
}
}
}
Var 0408, Link IOCARD_SW, Input 52 // AP_V/S
{
IF V0408 = 1
{
IF V0006 <> 1
{
V0006 = 1
}
ELSE
{
V0006 = 0
}
}
}
Var 0409, Link IOCARD_SW, Input 38 // AP_AT
{
IF V0409 = 1
{
V0015 = 1
}
ELSE
{
V0015 = 0
}
}
Var 0410, Link IOCARD_SW, Input 27 // AP_FD
{
IF V0410 = 1
{
V0016 = 1
}
ELSE
{
V0016 = 0
}
}
Var 0411, Link IOCARD_SW, Input 53 // AP_NAV
{
IF V0411 = 1
{
IF V0017 <> 1
{
V0017 = 1
}
ELSE
{
V0017 = 0
}
}
}
Var 0412, Link IOCARD_SW, Input 37 // AP_APP
{
IF V0412 = 1
{
IF V0018 <> 1
{
V0018 = 1
}
ELSE
{
V0018 = 0
}
}
}
Var 0413, Link IOCARD_SW, Input 45 // AP_BC
{
IF V0413 = 1
{
IF V0019 <> 1
{
V0019 = 1
}
ELSE
{
V0019 = 0
}
}
}
Var 0414, Link IOCARD_SW, Input 49 // AP_YD
{
IF V0414 = 1
{
IF V0020 <> 1
{
V0020 = 1
}
ELSE
{
V0020 = 0
}
}
}

// **********************************
// ROTARY-SWITCHES // ROTARY-ENCODERS
// **********************************

Var 0500, Link IOCARD_ENCODER, Input 41, Aceleration 6 // HDG
{
L0 = V0500 * 1
V0305 = V0305 + L0
}
Var 0501, Link IOCARD_ENCODER, Input 46, Aceleration 6 // ALT
{
L0 = V0501 * 1
V0309 = V0309 + L0
}
Var 0502, Link IOCARD_ENCODER, Input 28, Aceleration 6 // IAS
{
IF V0719 <> 1 // SWR Active
{
L0 = V0502 * 1
V0308 = V0308 + L0
}
}
Var 0503, Link IOCARD_ENCODER, Input 28, Aceleration 6 // MACH
{
IF V0720 <> 1 // SWR Active
{
L0 = V0503 * 1
V0312 = V0312 + L0
}
}
Var 0504, Link IOCARD_ENCODER, Input 55, Aceleration 6 // VS
{
L0 = V0504 * 1
V0314 = V0314 + L0
}
Var 0505, Link IOCARD_ENCODER, Input 31, Aceleration 6 // COURSE
{
L0 = V0505 * -1
V0321 = V0321 + L0
}

// *************
// DISPLAYS 7-S
// *************

Var 0600, Link IOCARD_DISPLAY, Digit 6, Numbers 3 // D_HDG
Var 0601, Link IOCARD_DISPLAY, Digit 9, Numbers 3 // D_ALT
Var 0602, Link IOCARD_DISPLAY, Digit 3, Numbers 3 // D_IAS
Var 0603, Link IOCARD_DISPLAY, Digit 3, Numbers 3 // D_MACH
Var 0604, Link IOCARD_DISPLAY, Digit 12, Numbers 3 // D_V/S
Var 0605, Link IOCARD_DISPLAY, Digit 0, Numbers 3 // D_COURSE

// *******************
// SALIDAS // OUTPUTS
// *******************

Var 0700, Link IOCARD_OUT, Output 34 // LED_AP_SW
Var 0701, Link IOCARD_OUT, Output 21 // LED_LVL
Var 0702, Link IOCARD_OUT, Output 23 // LED_NAV1
Var 0703, Link IOCARD_OUT, Output 22 // LED_HDG_SEL
Var 0704, Link IOCARD_OUT, Output 17 // LED_IAS
Var 0705, Link IOCARD_OUT, Output 27 // 00_ALT
Var 0706, Link IOCARD_OUT, Output 18 // LED_MACH
Var 0707, Link IOCARD_OUT, Output 28 // PUNTO_MACH
Var 0708 // NO_D_IAS
{
IF V0708 = 1 // Blank display
{
V0602 = -999999
IF V0709 = 0 // Aquellos otros displays activos
{
V0603 = -999999
V0603 = V0312
}
}
ELSE // Display ON
{
V0602 = V0308
}
}
Var 0709 // NO_D_MACH
{
IF V0709 = 1 // Blank display
{
V0603 = -999999
IF V0708 = 0 // Aquellos otros displays activos
{
V0602 = -999999
V0602 = V0308
}
}
ELSE // Display ON
{
V0603 = V0312
}
}
Var 0710, Link IOCARD_OUT, Output 35 // 00_V/S
Var 0711, Link IOCARD_OUT, Output 36 // NEGATIVO_V/S
Var 0712, Link IOCARD_OUT, Output 38 // LED_V/S
Var 0713, Link IOCARD_OUT, Output 19 // LED_FD
Var 0714, Link IOCARD_OUT, Output 29 // LED_AT
Var 0715, Link IOCARD_OUT, Output 53 // LED_NAV
Var 0716, Link IOCARD_OUT, Output 25 // LED_APP
Var 0717, Link IOCARD_OUT, Output 24 // LED_BC
Var 0718, Link IOCARD_OUT, Output 20 // LED_YD
Var 0719 // NO_R_IAS
{
}
Var 0720 // NO_R_MACH
{
}

// **********************
// FUNCTIONS / FUNCIONES
// **********************

Var 0305, Link SUBRUTINE // D_HDG
{
// COURSE/HDG
IF V0305 > 360
{
V0305 = V0305 - 360
}
IF V0305 <= 0
{
V0305 = V0305 + 360
}
V0600 = V0305 // D_HDG
L1 = V0305 * 182.04444
L0 = L1 + 1
V0005 = L0
}
Var 0308, Link SUBRUTINE // D_IAS
{
// IAS
IF V0308 > 400
{
V0308 = 400
}
IF V0308 < 0
{
V0308 = 0
}
IF V0708 <> 1 // Not blank display
{
V0602 = V0308 // D_IAS
}
L0 = V0308
V0008 = L0
}
Var 0309, Link SUBRUTINE // D_ALT
{
// ALT2
IF V0309 > 640
{
V0309 = 640
}
IF V0309 < 0
{
V0309 = 0
}
V0601 = V0309 // D_ALT
L0 = V0309 * 1997537
V0009 = L0
}
Var 0312, Link SUBRUTINE // D_MACH
{
// MACH2
IF V0312 > 95
{
V0312 = 95
}
IF V0312 < 0
{
V0312 = 0
}
IF V0709 <> 1 // Not blank display
{
V0603 = V0312 // D_MACH
}
L0 = V0312 * 655.36
V0012 = L0
}
Var 0314, Link SUBRUTINE // D_V/S
{
// VSPEED
IF V0314 > 99
{
V0314 = 99
}
IF V0314 < -99
{
V0314 = -99
}
V0604 = V0314 // D_V/S
L0 = V0314 * 100
V0014 = L0
}
Var 0321, Link SUBRUTINE // D_COURSE
{
// COURSE/HDG
IF V0321 > 360
{
V0321 = V0321 - 360
}
IF V0321 <= 0
{
V0321 = V0321 + 360
}
V0605 = V0321 // D_COURSE
L0 = V0321
V0021 = L0
}

Best regard

Paulo

kiek
07-06-2010, 01:48 AM
Paulo,
Your script looks ok, no need to multiply by 100.
Your ALT display is just 3 digits (see Var 601), you have two fixed digits driven by an output in Var 705.

The question is: have you implemented these two fixed digits in your MCP?

Regards,
Nico
BTW: Personally I would not program with fixed digits. It is much easier to use a display of 5 digits. In that case you only have to multiply by 100 by changing this statement in Var 309:

V0601 = V0309 // D_ALT
by
V0601 = V0309 * 100 // D_ALT

... and of course you have to change the definition of your D_ALT in Var 601

Tuga_75
08-01-2010, 09:17 AM
Sorry for so now responding to the post but i as in vacation and coud no respond i just fix the problem by punting the foling setings
Var 0600, Link IOCARD_DISPLAY, Digit 6, Numbers 3 // D_HDG

Var 0601, Link IOCARD_DISPLAY, Digit 16, Numbers 5 // D_ALT
{
V0601 = V0309 * 100
}

Var 0602, Link IOCARD_DISPLAY, Digit 3, Numbers 3 // D_IAS

Var 0603, Link IOCARD_DISPLAY, Digit 3, Numbers 3 // D_MACH

Var 0604, Link IOCARD_DISPLAY, Digit 21, Numbers 5 // D_V/S
{
V0604 = V0314 * 100
}

Var 0605, Link IOCARD_DISPLAY, Digit 0, Numbers 3 // D_COURSE


Sorry for my poor english and tranks for the help Mr Kiek
Paulo