Results 1 to 8 of 8
-
04-05-2011, 12:37 PM #1
- Join Date
- Aug 2008
- Location
- Dallas, Texas
- Posts
- 192
Trouble with 2nd USB expansion card
I added a 2nd USB expansion card and it is recognized by SIOC as DEVICE 100 but I can't get Controlador to display the inputs. I tried unpluging my other expansion card but then I get nothing on the inputs display. Also, I have been fighting for quite some time to get my displays on my homebuilt MCP to work but all I get is random segments lighting up. They are on my first master card (USB J1) with only 1 display card.
Jerry
-
04-05-2011, 12:51 PM #2
- Join Date
- Jul 2013
- Posts
- 917
Re: Trouble with 2nd USB expansion card
Jerry
Kiek has already replied to your earlier question on the same subject, advising that controlador will only work with one USB Expansion card
Could you outline in more detail the problem with the displays?
David
-
04-13-2011, 08:40 PM #3
- Join Date
- Aug 2008
- Location
- Dallas, Texas
- Posts
- 192
Re: Trouble with 2nd USB expansion card
David
Sorry its taken me so long to get back to working on this. Today I tried swaping out my USB Expansion card for the other one that I knew was working and that fixed the probem with the inputs. I examined the usb card for bad solder joints, all ICs pointed in the right direction and everything looks ok so I don't know whats wrong with the card. Do you have any suggestions? I don't know what else to do except order another USB Expansion card. As for the displays, some of the segments are not working on some of the displays and some displays aren't lighting up at all. Hope you can see from this picture. Nothing in controlador seems to affect the displays at all. I have 4 display cards controling the MCP, COM1, COM2 NAV1, NAV2, AND TCAS Displays all connected to the same Master card and their all having the same problem. Woud appreciate any suggestions.
-
04-14-2011, 04:55 AM #4
- Join Date
- Jul 2013
- Posts
- 917
Re: Trouble with 2nd USB expansion card
Jerry
Dealing with the display problem - lets go for the simple questions first
I assume that:-
Your 4 display cards have the jumpers correctly positioned to identify the 4 cards from 1 to 4?
If you are missing the same segments on all characters (within the same display card) , then there is a bad or incorrect joint in your wiring linking the character segment displays. Also check your ribbon cable by wiggling the connector joint - they are notorious for bad connections and missing display segments
If you are missing characters completely and assuming the above is all ok, then this could be down to incorrect referencing within the sioc script. Could you please post your script and for the missing characters advise the display card number (assuming the jumpers are correctly positioned) and the number of the display within the display card
Testing with controlador is sometimes difficult and I will see if I can retrieve an article on this
Edit Just in case, here is a link for testing display cards with controlador
http://personales.ya.com/micabina737...ard/test2i.htm
David
-
04-30-2011, 10:04 PM #5
- Join Date
- Aug 2008
- Location
- Dallas, Texas
- Posts
- 192
Re: Trouble with 2nd USB expansion card
David
I apoligize again for taking so long. I used the article you suggested for testing with controlador, very helpful. I have found numerous bad connections, solder joints, damaged traces etc. I'm still working my way thru all that, its taking a while since I have 5 display cards and several displays. My first Master card has 1 display card for the MCP, the 2nd Master card has 4 display cards for Com1 Acrive/Standby, Com2, Nav1, Nav2, and TCAS. Here is my script.
// *****************************************************************************
// * Config_SIOC ver 3.7B1 - By Manolo Vélez - www.opencockpits.com
// *****************************************************************************
// * FileName : PM_B747-400.txt
// * Date : 4/30/2011
Var 0000, Value 0 // Initialization
{
V0001 = 360 // COURSE 1
V0002 = 360 // COURSE 2
V0008 = 180 // HDG
V0012 = 10 // ALT
V0065 = 0 // ALT 00 of the 00 is fixed
V0006 = SETBIT 23 // Sets IAS MODE
V0005 = V0003 // Read temporary in IAS
V0006 = V0004 // Read temporary in MATH
V0060 = V0003 // Put IAS in Display
&SUB_DH = 3000
&SUB_BAR = 1023
}
Var 1001, Link FSUIPC_IN, Offset $051C, Length 2 // MCP Indications (Read Only)
{
C0 = TESTBIT V0063 ,0 // Checks if V/S display Is off?
IF C0 // IF Yes then
{
V0065 = -999999 // Removes the 00 on right side of V/S disp
V0050 = -999999 // Turns off remaining Digits
V0064 = -999999 // Turns off minus sign -
}
ELSE // IF NO then
{
V0065 = 0 // Turns on the 00 display
CALL V0063 // Sets the V / S in the display
}
}
Var 0001, Link FSUIPC_OUT, Offset $0C4E, Length 2 // COURSE 1
Var 0002, Link FSUIPC_OUT, Offset $0C5E, Length 2 // COURSE 2
Var 0003, Link FSUIPC_IN, Offset $04E0, Length 2 // IAS [MCP/FCU IAS (Read Only) 250 = 250 K
{
CALL V0064 // value of Displayr
}
Var 0004, Link FSUIPC_IN, Offset $04E8, Length 2 // MACH [MCP/FCU Mach (Read Only) (70 = 0.7
{
CALL V0064 // Display del valor
}
Var 0005, Link FSUIPC_OUT, Offset $5406, Length 2 // IAS [MCP/FCU IAS Set (Write)]
{
V0052 = V0013
}
Var 0006, Link FSUIPC_OUT, Offset $540E, Length 2 // MACH [MCP/FCU Mach Set (Write) (72 = 0.7
Var 0007, Link FSUIPC_IN, Offset $04E2, Length 2 // HDG [MCP/FCU Heading (Read Only)]
Var 0008, Link FSUIPC_OUT, Offset $5408, Length 2 // HDG [MCP/FCU Heading Set (Write)]
{
V0053 = V0011
}
Var 0009, Link FSUIPC_IN, Offset $04E6, Length 2, Type 1 // v/s [MCP/FCU Selected Vertical Speed (Re
{
V0062 = V0001
CALL V0063 // Put value in the display
}
Var 0010, Link FSUIPC_OUT, Offset $540C, Length 2, Type 1 // V/S [MCP/FCU V/S Set (Write) FCU - FPA i
{
V0050 = V0008
}
Var 0011, Link FSUIPC_IN, Offset $04E4, Length 2 // ALT [MCP/FCU Altitude (Read Only) (100 o
Var 0012, Link FSUIPC_OUT, Offset $540A, Length 2 // ALT [MCP/FCU Altitude Set (Write)]
{
V0075 = V0012
}
Var 0013, Link FSUIPC_OUT, Offset $5410, Length 4 // PM Push-buttons-I
Var 0014, Link FSUIPC_OUT, Offset $5414, Length 4 // PM Push-buttons-II
Var 0015, Link FSUIPC_OUT, Offset $5414, Length 4 // MCP Buttons
Var 0016, Link FSUIPC_IN, Offset $04F0, Length 2 // MCP LIGHTS [MCP/FCU Lights (Read Only)]
{
V0040 = TESTBIT V0016 ,11 // A/T
V0041 = TESTBIT V0016 ,12 // F/D
V0042 = TESTBIT V0016 ,10 // THR
V0043 = TESTBIT V0016 ,9 // SPD
V0044 = TESTBIT V0016 ,6 // LNAV
V0045 = TESTBIT V0016 ,14 // VNAV
V0046 = TESTBIT V0016 ,8 // FL CH
V0047 = TESTBIT V0016 ,7 // HDG HOLD
V0048 = TESTBIT V0016 ,2 // V/S
V0049 = TESTBIT V0016 ,3 // ALT HOLD
V0050 = TESTBIT V0016 ,5 // LOC
V0051 = TESTBIT V0016 ,4 // APP
V0052 = TESTBIT V0016 ,0 // AP L
V0053 = TESTBIT V0016 ,1 // AP C
V0054 = TESTBIT V0016 ,13 // AP R
C0 = TESTBIT V0016 ,15 // Modo MATH o IAS ?
IF C0 // MACH MODE
{
V0006 = V0004 // Upload temporary value
V0061 = 1 // Turn on decimal point
CALL V0064 // Display value
}
ELSE // IAS MODE
{
V0013 = V0004 // Upload temporary value
V0061 = 0 // turn off the decimal point
CALL V0064 // Display value
}
}
Var 0017, Value 10000 // ALTITUDE
Var 0020, Link IOCARD_SW, Input 11 // A/T Switch
{
IF V0020 = 1 // If on
{
V0013 = TOGGLE 19 // Toggle bit 19
}
ELSE
{
V0013 = TOGGLE 20 // Toggle bit 20
}
}
Var 0021, Link IOCARD_SW, Input 10 // F/D Switch
{
IF V0021 = 1
{
V0013 = TOGGLE 5
}
ELSE
{
V0013 = TOGGLE 6
}
}
Var 0022, Link IOCARD_SW, Input 14, Type P // THR Button
{
V0013 = CHANGEBIT 21 ,V0022
}
Var 0024, Link IOCARD_SW, Input 13, Type P // MAC/SPD Sel
{
V0013 = CHANGEBIT 23 ,V0024
}
Var 0025, Link IOCARD_SW, Input 12, Type P // LNAV Button
{
V0013 = CHANGEBIT 10 ,V0025
}
Var 0027, Link IOCARD_SW, Input 17, Type P // VNAV Button
{
V0013 = CHANGEBIT 26 ,V0027
}
Var 0028, Link IOCARD_SW, Input 16, Type P // FL CH Button
{
V0013 = CHANGEBIT 24 ,V0028
}
Var 0029, Link IOCARD_SW, Input 58, Type P // HDG SELECT PB [(heading SEL pushbutton 7
{
V0013 = CHANGEBIT 11 ,V0029
}
Var 0030, Link IOCARD_SW, Input 26, Type P // HDG HOLD Button
{
V0013 = CHANGEBIT 25 ,V0030
}
Var 0031, Link IOCARD_SW, Input 9, Type P // V/S Button
{
V0013 = CHANGEBIT 31 ,V0031 // If ignition switch bit 11 to 1 if OFF
}
Var 0032, Link IOCARD_SW, Input 59, Type P // ALT PB Button
{
V0013 = CHANGEBIT 12 ,V0032
}
Var 0033, Link IOCARD_SW, Input 15, Type P // ALT HOLD Button
{
V0013 = CHANGEBIT 30 ,V0033
}
Var 0034, Link IOCARD_SW, Input 22, Type P // LOC Button
{
V0013 = CHANGEBIT 28 ,V0034
}
Var 0036, Link IOCARD_SW, Input 21, Type P // APP Button
{
V0013 = CHANGEBIT 29 ,V0036
}
Var 0037, Link IOCARD_SW, Input 20, Type P // AP L Button
{
V0014 = CHANGEBIT 0 ,V0037
}
Var 0038, Link IOCARD_SW, Input 19, Type P // AP C Button
{
V0014 = CHANGEBIT 1 ,V0038
}
Var 0039, Link IOCARD_SW, Input 25, Type P // DISENGAGE
{
V0014 = CHANGEBIT 10 ,V0039
}
Var 0040, Link IOCARD_OUT, Output 10 // Led A/T
Var 0041, Link IOCARD_OUT, Output 12 // Led F/D
Var 0042, Link IOCARD_OUT, Output 22 // Led THR
Var 0043, Link IOCARD_OUT, Output 18 // Led SPD
Var 0044, Link IOCARD_OUT, Output 14 // Led LNAV
Var 0045, Link IOCARD_OUT, Output 26 // Led VNAV
Var 0046, Link IOCARD_OUT, Output 24 // Led FL CH
Var 0047, Link IOCARD_OUT, Output 20 // Led HDG HOLD
Var 0048, Link IOCARD_OUT, Output 23 // Led V/S
Var 0049, Link IOCARD_OUT, Output 28 // Led ALT HOLD
Var 0050, Link IOCARD_OUT, Output 12 // Led APP
Var 0051, Link IOCARD_OUT, Output 16 // Led LOC
Var 0052, Link IOCARD_OUT, Output 25 // Led AP L
Var 0053, Link IOCARD_OUT, Output 21 // Led AP C
Var 0054, Link IOCARD_OUT, Output 22 // Led AP C
Var 0060, Link IOCARD_DISPLAY, Digit 2, Numbers 3 // IAS/MAC
{
V0003 = V0060 // Send value to PM
}
Var 0061, Link IOCARD_OUT, Output 20 // Led . DECIMAL
Var 0062, Link IOCARD_DISPLAY, Digit 5, Numbers 3 // HDG
{
V0007 = V0062 // Send value to PM
}
Var 0063, Link IOCARD_DISPLAY, Digit 6, Numbers 1 // V/S Minus Sign
{
V0009 = V0063 // Send value to PM
}
Var 0064, Link IOCARD_DISPLAY, Digit 10, Numbers 4 // V/S
Var 0065, Link IOCARD_DISPLAY, Digit 6, Numbers 1 // V/S MINUS SIGN
Var 0066, Link IOCARD_DISPLAY, Digit 15, Numbers 5 // ALT
{
V0011 = V0066 // Send value to PM
V0066 = V0012
}
Var 0070, Link IOCARD_ENCODER, Input 45, Aceleration 4, Type 2 // IAS/MACH Encoder
{
L0 = V0070 * 1
C0 = TESTBIT V0003 ,15 // Indicates MACH or IAS ?
IF C0 // MACH MODE
{
V0006 = LIMIT 25 ,95 ,L0 // Increase or decrease the value of MACH
}
ELSE
{
V0005 = LIMIT 0 ,340 ,L0 // Increase or decrease the value of IAS
}
}
Var 0071, Link IOCARD_ENCODER, Input 55, Aceleration 4, Type 2 // HDG Encoder
{
L0 = V0071 * 1
V0062 = ROTATE 0 ,359 ,L0
}
Var 0072, Link IOCARD_ENCODER, Input 57, Aceleration 4, Type 2 // VS Encoder
{
L0 = V0072 * -100 // Increases from 100 to 100
V0073 = ROTATE -9000 ,9000 ,L0 // Add or subtract the time value of V / S
V0010 = V0073
}
Var 0073 // Temporary value of V/S
Var 0074, Link IOCARD_ENCODER, Input 54, Aceleration 4, Type 2 // ALT Encoder
{
L0 = V0074 * 1
V0066 = LIMIT 0 ,500 ,L0
}
Var 0075, Link IOCARD_DISPLAY, Digit 11, Numbers 3 // COURSE 1
{
V0010 = V0075 // Send value to PM
}
Var 0076, Link IOCARD_DISPLAY, Digit 103, Numbers 3 // COURSE 2
{
V0015 = V0076 // Send value to PM
}
Var 0077, Link IOCARD_ENCODER, Input 192, Aceleration 4, Type 2 // COURSE Encoder
{
L0 = V0034 * 1
V0051 = ROTATE 0 ,359 ,L0 // Roto el valor del COURSE
}
Var 0078, Link IOCARD_ENCODER, Input 190, Aceleration 4, Type 2 // Encoder COURSE 2
{
L0 = V0039 * -1
V0076 = ROTATE 0 ,359 ,L0 // Rotate Course Value
}
Var 0080, Link SUBRUTINE // Pinta V/S
{
C0 = TESTBIT V0002 ,0 // Checks must be turned off if
C0 = NOT C0
IF C0 // Only if lit
{
IF V0080 < 0 // If V/S is negative becomes positive
{
L0 = ABS V0080
V0064 = -999998 // Turn on the minus sign
}
ELSE
{
V0064 = -999999 // Turn off the minus sign
L0 = V0080
}
V0063 = L0 / 100 // Send the adjusted value of V/S to disp
}
}
Var 0081, Link SUBRUTINE // Show IAS / MACH
{
C0 = TESTBIT V0016 ,15 // Mode MACH or IAS ?
IF C0 // MACH MODE
{
V0061 = 1 // Turn on decimal point
V0060 = V0004 // Put MACH value in display
}
ELSE
{
V0061 = 0 // Turn off decimal point
V0060 = V0003 // Put IAS value in display
}
}
Var 0100, name SUB_DH, Link SUBRUTINE // PM_EFIS_DH
{
IF &SUB_DH > 20000
{
&SUB_DH = 20000
}
IF &SUB_DH < 0
{
&SUB_DH = 0
}
L0 = DIV &SUB_DH ,100
&PM_EFIS_DH = L0
}
Var 0101, name SUB_BAR, Link SUBRUTINE // FS_QNH_MB
{
L0 = &SUB_BAR * 16
&FS_QNH_MB = L0
}
Var 0200, name PM_EFIS_DH, Link FSUIPC_OUT, Offset $04FA, Length 2 // PM_EFIS_DH
Var 0201, name FS_QNH_MB, Link FSUIPC_OUT, Offset $0330, Length 2 // FS_QNH_MB
Var 0202, name PM2_RANG, Link FSUIPC_OUT, Offset $5524, Length 2 // PM_EFIS_RANG FO
Var 0203, name PM2_DH, Link FSUIPC_OUT, Offset $5532, Length 2 // PM_EFIS_DH FO
Var 0204, name FS2_QNH, Link FSUIPC_OUT, Offset $552E, Length 2 // FS_QNH_MB FO
Var 0205, name PM_GC_COMMANDS, Link FSUIPC_OUT, Offset $04F4, Length 2 // PM DO EVERYTHING
Var 0206, name PM_EFIS_RANG, Link FSUIPC_OUT, Offset $04F8, Length 2
Var 0209, Link FSUIPC_OUT, Offset $5414, Length 4 // MCP/FCU BUTTONS
Var 0301, Link IOCARD_SW, Input 64 // ROT1_APP
{
IF V0301 = 1
{
&PM_GC_COMMANDS = 5
}
}
Var 0302, Link IOCARD_SW, Input 65 // ROT1_VOR
{
IF V0302 = 1
{
&PM_GC_COMMANDS = 3
}
}
Var 0304, Link IOCARD_SW, Input 67 // ROT1_MAP
{
IF V0304 = 1
{
&PM_GC_COMMANDS = 1
}
}
Var 0305, Link IOCARD_SW, Input 68 // ROT1_PLN
{
IF V0305 = 1
{
&PM_GC_COMMANDS = 4
}
}
Var 0306, Link IOCARD_SW, Input 71, Type I // EFIS MAP CTR
{
IF V0306 = 1
{
&PM_GC_COMMANDS = 6
}
}
Var 0311, Link IOCARD_SW, Input 44 // ROT2_5
{
IF V0311 = 1
{
&PM_GC_COMMANDS = 0
}
}
Var 0312, Link IOCARD_SW, Input 38 // ROT2_10
{
IF V0312 = 1
{
&PM_EFIS_RANG = 1
}
}
Var 0313, Link IOCARD_SW, Input 37 // ROT2_20
{
IF V0313 = 1
{
&PM_EFIS_RANG = 2
}
}
Var 0314, Link IOCARD_SW, Input 38 // ROT2_40
{
IF V0314 = 1
{
&PM_EFIS_RANG = 3
}
}
Var 0315, Link IOCARD_SW, Input 40 // ROT2_80
{
IF V0315 = 1
{
&PM_EFIS_RANG = 4
}
}
Var 0316, Link IOCARD_SW, Input 39 // ROT2_160
{
IF V0316 = 1
{
&PM_EFIS_RANG = 5
}
}
Var 0317, Link IOCARD_SW, Input 44 // ROT2_320
{
IF V0317 = 1
{
&PM_EFIS_RANG = 6
}
}
Var 0318, Link IOCARD_SW, Input 42 // ROT2_640
{
IF V0318 = 1
{
&PM_EFIS_RANG = 7
}
}
Var 0319, Link IOCARD_SW, Input 41, Type P // STD
{
IF V0319 = 1
{
V0320 = 1013
L0 = 1013 * 16
L0 = L0 + 1
&FS_QNH_MB = L0
}
}
Var 0320, Link SUBRUTINE // FS_QNH_MB
{
L0 = 320 * 16
&FS_QNH_MB = L0
}
Var 0321, Link IOCARD_SW, Input 70, Type P // TOGGLE QNH/MILIBARS
Var 0322, Link FSUIPC_OUT, Offset $3110, Length 4 // FS_QNH
Var 0323, Link IOCARD_ENCODER, Input 48, Aceleration 1, Type 2 // BARO_QNH_ENCODER
{
L0 = V0323 // * -1 turning clockwise should be plus
IF L0 > 0
{
V0322 = 65883 // FS Control Kohlsman increment
V0322 = DELAY 0 ,10
}
ELSE
{
IF L0 < 0
{
V0322 = 65884 // FS Control Kohlsman decremen
V0322 = DELAY 0 ,10
}
}
}
Var 0324, Link IOCARD_SW, Input 5 // PB_POS
{
IF V0324 = 1
{
&PM_GC_COMMANDS = 96
}
}
Var 0325, Link IOCARD_SW, Input 6 // PB_DATA
{
IF V0325 = 1
{
&PM_GC_COMMANDS = 95
}
}
Var 0326, Link IOCARD_SW, Input 3 // PB_WXR
{
IF V0326 = 1
{
&PM_GC_COMMANDS = 72
}
}
Var 0327, Link IOCARD_SW, Input 8 // PB_STA
{
IF V0327 = 1
{
&PM_GC_COMMANDS = 90
}
}
Var 0328, Link IOCARD_SW, Input 7 // PB_WPT
{
IF V0328 = 1
{
&PM_GC_COMMANDS = 93
}
}
Var 0329, Link IOCARD_SW, Input 0 // PB_ARPT
{
IF V0329 = 1
{
&PM_GC_COMMANDS = 94
}
}
Var 0330, Link IOCARD_SW, Input 4 // INT_VOR1
{
IF V0330 = 1
{
&PM_GC_COMMANDS = 75
}
ELSE
{
IF V0330 = 0
{
&PM_GC_COMMANDS = 73
}
}
}
Var 0331, Link IOCARD_SW, Input 2 // INT_ADF1
{
IF V0331 = 1
{
&PM_GC_COMMANDS = 74
}
ELSE
{
IF V0331 = 0
{
&PM_GC_COMMANDS = 73
}
}
}
Var 0332, Link IOCARD_SW, Input 63 // INT_VOR2
{
IF V0332 = 1
{
&PM_GC_COMMANDS = 78
}
ELSE
{
IF V0332 = 0
{
&PM_GC_COMMANDS = 76
}
}
}
Var 0333, Link IOCARD_SW, Input 69 // INT_ADF2
{
IF V0333 = 1
{
&PM_GC_COMMANDS = 77
}
ELSE
{
IF V0333 = 0
{
&PM_GC_COMMANDS = 76
}
}
}
Var 0334, Link IOCARD_SW, Input 2 // PUL_FPV
{
IF V0334 = 1
{
&PM_GC_COMMANDS = 14
}
}
Var 0335, Link IOCARD_SW, Input 66 // PUL_STD
{
IF V0335 = 1
{
&SUB_BAR = 1013
L0 = 1013 * 16
L0 = L0 + 1
&FS_QNH_MB = L0
}
}
Var 0336, Link IOCARD_ENCODER, Input 46, Aceleration 6 // MINS - DH -
{
L0 = V0336 * -100
V0337 = V0337 + L0
}
Var 0337, Link SUBRUTINE // PM_EFIS_DH
{
IF V0337 > 20000
{
V0337 = 20000
}
IF V0337 < 0
{
V0337 = 0
}
L0 = DIV V0337 ,100
&PM_EFIS_DH = L0
}
Var 0338, Link IOCARD_ENCODER, Input 48, Aceleration 6 // BARO
{
L0 = V0338 * 1
&SUB_BAR = &SUB_BAR + L0
}
Var 0339, Link SUBRUTINE // FS_QNH_MB
{
L0 = V0339 * 16
&FS_QNH_MB = L0
}
Var 0340, Link IOCARD_SW, Input 28, Type P // EICAS ENG
{
IF V0340 = 1
{
&PM_GC_COMMANDS = 301
}
}
Var 0341, Link IOCARD_SW, Input 29, Type P // EICAS STAT
{
IF V0341 = 1
{
&PM_GC_COMMANDS = 302
}
}
Var 0342, Link IOCARD_SW, Input 30, Type P // EICAS ELEC
{
IF V0342 = 1
{
&PM_GC_COMMANDS = 303
}
}
Var 0343, Link IOCARD_SW, Input 32, Type P // EICAS FUEL
{
IF V0343 = 1
{
&PM_GC_COMMANDS = 303
}
}
Var 0344, Link IOCARD_SW, Input 35, Type P // EICAS ECS
{
IF V0344 = 1
{
&PM_GC_COMMANDS = 306
}
}
Var 0345, Link IOCARD_SW, Input 34, Type P // EICAS HYD
{
IF V0345 = 1
{
&PM_GC_COMMANDS = 304
}
}
Var 0346, Link IOCARD_SW, Input 27, Type P // EICAS DRS
{
IF V0346 = 1
{
&PM_GC_COMMANDS = 307
}
}
Var 0347, Link IOCARD_SW, Input 33, Type P // EICAS GEAR
{
IF V0347 = 1
{
&PM_GC_COMMANDS = 308
}
}
Var 0348, Link IOCARD_SW, Input 23, Type P // EICAS CANC
{
IF V0348 = 1
{
&PM_GC_COMMANDS = 318
}
}
Var 0349, Link IOCARD_SW, Input 27, Type P // EICAS RCL
{
IF V0349 = 1
{
&PM_GC_COMMANDS = 319
}
}
Var 0350, name Landing_Gear, Link FSUIPC_OUT, Offset $0BE8, Length 4
Var 0351, Link IOCARD_SW, Input 96 // Landing Gear Lever
{
IF V0351 = 1
{
&Landing_Gear = 1
}
ELSE
{
&Landing_Gear = 0
}
}
Var 0360, name PM_LND_LTS, Link FSUIPC_OUT, Offset $5642, Length 2
Var 0361, Link IOCARD_SW, Device 1, Input 145 // Outboard Landing Lts L
{
IF V0361 = 1
{
&PM_LND_LTS = SETBIT 4
}
ELSE
{
&PM_LND_LTS = CLEARBIT 4
}
}
Var 0362, Link IOCARD_SW, Device 1, Input 152 // Outboard Landing Lts R
{
IF V0362 = 1
{
&PM_LND_LTS = SETBIT 5
}
ELSE
{
&PM_LND_LTS = CLEARBIT 5
}
}
Var 0363, Link IOCARD_SW, Device 1, Input 148 // Inboard Landing Lts R
{
IF V0363 = 1
{
&PM_LND_LTS = SETBIT 3
}
ELSE
{
&PM_LND_LTS = CLEARBIT 3
}
}
Var 0364, Link IOCARD_SW, Device 1, Input 149 // Inboard Landing Lts L
{
IF V0364 = 1
{
&PM_LND_LTS = SETBIT 2
}
ELSE
{
&PM_LND_LTS = CLEARBIT 2
}
}
Var 0365, Link IOCARD_SW, Device 1, Input 144 // RWY Turnoff Lts L
{
IF V0365 = 1
{
&PM_LND_LTS = SETBIT 0
}
ELSE
{
&PM_LND_LTS = CLEARBIT 0
}
}
Var 0366, Link IOCARD_SW, Device 1, Input 146 // RWY Turnoff Lts R
{
IF V0366 = 1
{
&PM_LND_LTS = SETBIT 1
}
ELSE
{
&PM_LND_LTS = CLEARBIT 1
}
}
Var 0367, name PM_EXT_LIGHTS, Link FSUIPC_OUT, Offset $5643, Length 2
Var 0368, Link IOCARD_SW, Device 1, Input 151 // Taxi Lts
{
IF V0368 = 1
{
&PM_EXT_LIGHTS = SETBIT 3
}
ELSE
{
&PM_EXT_LIGHTS = CLEARBIT 3
}
}
Var 0369, name FS_EXT_LIGHTS, Link FSUIPC_OUT, Offset $0D0C, Length 2
Var 0370, Link IOCARD_SW, Device 1, Input 154, Type T // STROBE SWITCH
{
IF V0370 = 1
{
&FS_EXT_LIGHTS = SETBIT 4
}
ELSE
{
&FS_EXT_LIGHTS = CLEARBIT 4
}
}
Var 0371, Link IOCARD_SW, Device 1, Input 150, Type T // NAV LIGHTS
{
IF V0371 = 1
{
&FS_EXT_LIGHTS = SETBIT 0
}
ELSE
{
&FS_EXT_LIGHTS = CLEARBIT 0
}
}
Var 0372, Link IOCARD_SW, Device 1, Input 161, Type T // WING LIGHTS
{
IF V0372 = 1
{
&FS_EXT_LIGHTS = SETBIT 7
}
ELSE
{
&FS_EXT_LIGHTS = CLEARBIT 7
}
}
Var 0373, name FS_LOGO_LTS, Link FSUIPC_OUT, Offset $0D0D, Length 2
Var 0374, Link IOCARD_SW, Device 1, Input 157, Type T // LOGO LIGHTS
{
IF V0374 = 1
{
&FS_LOGO_LTS = SETBIT 0
}
ELSE
{
&FS_LOGO_LTS = CLEARBIT 0
}
}
Var 0375, name Beacon747, Link FSUIPC_OUT, Offset $5647, Length 2
Var 0376, Link IOCARD_SW, Device 1, Input 147 // B747 BEACON
{
IF V0376 = 1
{
&Beacon747 = 2
}
ELSE
{
&Beacon747 = 1
}
}
Var 0400, name SeatBelts, Link FSUIPC_OUT, Offset $5640, Length 2
Var 0401, Link IOCARD_SW, Input 139, Type I // SEAT BELTS ON
{
IF V0401 = 1
{
&PM_GC_COMMANDS = 425
}
}
Var 0402, Link IOCARD_SW, Input 137, Type I // SEAT BELTS OFF
{
IF V0402 = 1
{
&PM_GC_COMMANDS = 426
}
}
Var 0403, name NoSmoking, Link FSUIPC_OUT, Offset $5641, Length 2
Var 0404, Link IOCARD_SW, Input 132, Type I // NO SMOKING ON
{
IF V0404 = 1
{
&PM_GC_COMMANDS = 422
}
}
Var 0405, Link IOCARD_SW, Input 131, Type I // NO SMOKING OFF
{
IF V0405 = 1
{
&PM_GC_COMMANDS = 423
}
}
Var 0406, Link IOCARD_OUT, Output 203 // FLT DK DOOR LED
Var 0407, Link IOCARD_SW, Input 203, Type I // FLT DK DOOR
Var 0408, name AUTOBRAKE, Link FSUIPC_OUT, Offset $2F80, Length 1
Var 0409, Link IOCARD_SW, Input 126, Type I // AUTOBRAKE_RTO
{
IF V0409 = 1
{
&AUTOBRAKE = 0
}
}
Var 0410, Link IOCARD_SW, Input 133, Type I // AUTOBRAKE_OFF/DISARM
{
IF V0410 = 1
{
&AUTOBRAKE = 1
}
}
Var 0411, Link IOCARD_SW, Input 134, Type I // AUTOBRAKE_1
{
IF V0411 = 1
{
&AUTOBRAKE = 2
}
}
Var 0412, name AUTOBRAKE_2, Link IOCARD_SW, Input 129, Type I
{
IF &AUTOBRAKE_2 = 1
{
&AUTOBRAKE = 3
}
}
Var 0413, Link IOCARD_SW, Input 130, Type I // AUTOBRAKE_3
{
IF V0413 = 1
{
&AUTOBRAKE = 4
}
}
Var 0414, Link IOCARD_SW, Input 128, Type I // AUTOBRAKE_4
{
IF V0414 = 1
{
&AUTOBRAKE = 5
}
}
Var 0415, Link IOCARD_SW, Input 128, Type I // AUTOBRAKE_MAX
{
IF V0415 = 1
{
&AUTOBRAKE = 5
}
}
Var 0416, name PARKING_BRAKE, Link FSUIPC_OUT, Offset $0BC8, Length 2
Var 0417, name PARKING_BKSW, Link IOCARD_SW, Input 95, Type I // PARKING BRAKE SWITCH
{
IF &PARKING_BKSW = 1
{
&PARKING_BRAKE = 32767
}
ELSE
{
&PARKING_BRAKE = 0
}
}
Var 0420, name FUEL_CUTOFF, Link FSUIPC_INOUT, Offset $561A, Length 2
Var 0421, name Cutoff_1_SW, Link IOCARD_SW, Input 73, Type I
{
IF &Cutoff_1_SW = 0
{
&FUEL_CUTOFF = SETBIT 0
}
ELSE
{
&FUEL_CUTOFF = CLEARBIT 0
}
}
Var 0422, name Cutoff_2_SW, Link IOCARD_SW, Input 74, Type I
{
IF &Cutoff_2_SW = 0
{
&FUEL_CUTOFF = SETBIT 1
}
ELSE
{
&FUEL_CUTOFF = CLEARBIT 1
}
}
Var 0423, name Cutoff_3_SW, Link IOCARD_SW, Input 76, Type I
{
IF &Cutoff_3_SW = 0
{
&FUEL_CUTOFF = SETBIT 4
}
ELSE
{
&FUEL_CUTOFF = CLEARBIT 4
}
}
Var 0424, name Cutoff_4_SW, Link IOCARD_SW, Input 75, Type I
{
IF &Cutoff_4_SW = 0
{
&FUEL_CUTOFF = SETBIT 5
}
ELSE
{
&FUEL_CUTOFF = CLEARBIT 5
}
}
Var 0430, name FLAPS, Link FSUIPC_INOUT, Offset $0BDC, Length 4
Var 0431, Link IOCARD_SW, Input 82, Type P // FLAPS UP
{
IF V0431 = 1
{
&FLAPS = 0 // FLAPS UP
}
}
Var 0432, Link IOCARD_SW, Input 83, Type P // FLAPS 1
{
IF V0432 = 1
{
&FLAPS = 2730 // FLAPS 1
}
}
Var 0433, Link IOCARD_SW, Input 85, Type P // FLAPS 5
{
IF V0433 = 1
{
&FLAPS = 5461 // FLAPS 5
}
}
Var 0434, Link IOCARD_SW, Input 84, Type P // FLAPS 10
{
IF V0434 = 1
{
&FLAPS = 8191 // FLAPS 10
}
}
Var 0435, Link IOCARD_SW, Input 89, Type P // FLAPS 15
{
IF V0435 = 1
{
&FLAPS = 8191 // FLAPS 15
}
}
Var 0436, Link IOCARD_SW, Input 88, Type P // FLAPS 20
{
IF V0436 = 1
{
&FLAPS = 10922 // FLAPS 20
}
}
Var 0437, Link IOCARD_SW, Input 81, Type P // FLAPS 25
{
IF V0437 = 1
{
&FLAPS = 13652 // FLAPS 25
}
}
Var 0438, Link IOCARD_SW, Input 87, Type P // FLAPS 30
{
IF V0438 = 1
{
&FLAPS = 16383 // FLAPS 30
}
}
Var 0450, name XPDR_MODE, Link FSUIPC_OUT, Offset $04F4, Length 2
Var 0454, Link IOCARD_SW, Input 120, Type I // TCAS TEST
Var 0455, Link IOCARD_SW, Input 121, Type I // TCAS STBY
{
IF V0455 = 1
{
V0016 = 51
}
}
Var 0456, Link IOCARD_SW, Input 155, Type I // Callsign
{
IF V0456 = 1
{
V0016 = 52
}
}
Var 0457, Link IOCARD_SW, Input 113, Type I // TCAS Ident
{
IF V0457 = 1
{
V0016 = 53
}
}
Var 0458, Link IOCARD_SW, Input 280, Type I // INs/Outs 162
{
IF V0458 = 1
{
&XPDR_MODE = 1
}
}
Var 0459, Link IOCARD_SW, Input 167, Type I
{
IF V0459 = 1
{
&XPDR_MODE = 2
}
}
Var 0499, Link FSUIPC_OUT, Offset $3123, Length 1 // Registry Swap
Var 0500, Link FSUIPC_OUT, Offset $034E, Length 2 // COM1 ACTIVE
Var 0501, Link FSUIPC_OUT, Offset $311A, Length 2 // COM 1 STANDBY
Var 0502 // Primary Digits COM 1
Var 0503 // Decimal Digits COM 1
Var 0504, Link SUBRUTINE // Value of COM 1
{
L0 = V0502 * 100
L0 = L0 + V0503
V0508 = L0
V0501 = TOBCD L0
}
Var 0505, Link IOCARD_ENCODER, Input 145, Aceleration 1 // COM 1 ENCODER PRIMARY DIGITS
{
V0502 = V0502 + V0505
IF V0502 > 36 // Decimal Digits COM 1
{
}
V0502 = 18
IF V0502 < 18 // Decimal Digits COM 1
{
}
V0502 = 36
CALL V0504 // Value of COM 1
}
Var 0506, Link IOCARD_ENCODER, Input 147, Aceleration 1 // COM 1 ENCODER DECIMAL DIGITS
{
L0 = V0506 * 5
V0503 = V0503 - L0
IF V0503 > 95
{
}
V0503 = 0
IF V0503 < 0
{
}
V0503 = 95
CALL V0504
}
Var 0507, Link IOCARD_DISPLAY, Digit 64, Numbers 5 // COM 1 ACTIVE
Var 0508, Link IOCARD_DISPLAY, Digit 69, Numbers 5 // COM 1 STANDBY
Var 0509, Link IOCARD_SW, Input 135 // Swap COM1
{
IF V0509 = 1
{
V0499 = 8
}
ELSE
{
}
V0499 = 0
}
Var 0517, Link IOCARD_DISPLAY, Digit 80, Numbers 5 // COM 2 ACTIVE
Var 0018, Link IOCARD_DISPLAY, Digit 85, Numbers 5 // COM2 STANDBY
Var 0520, Link FSUIPC_OUT, Offset $0350, Length 2 // NAV 1 ACTIVE
Var 0521, Link FSUIPC_OUT, Offset $311E, Length 2 // NAV1 STANDBY
Var 0522 // PRIMARY DIGITS NAV1
Var 0523 // DECIMAL DIGITS NAV1
Var 0524, Link SUBRUTINE
{
L0 = V0522 * 100
L0 = L0 + V0523
V0528 = L0
V0521 = TOBCD L0
}
Var 0525, Link IOCARD_ENCODER, Input 151, Aceleration 1 // NAV1 ENCODER Primary Digits
{
V0522 = V0522 + V0525
IF V0525 > 17
{
}
V0525 = 8
IF V0525 < 8
{
}
V0525 = 17
CALL V0524
}
Var 0526, Link IOCARD_ENCODER, Input 149, Aceleration 1 // NAV1 ENCODER Decimal Digits
{
L0 = V0526 + 5
V0523 = V0523 - L0
IF V0523 > 95
{
}
V0523 = 0
IF V0523 < 0
{
}
V0523 = 95
CALL V0524
}
Var 0527, Link IOCARD_DISPLAY, Digit 90, Numbers 5 // NAV 1 ACTIVE
Var 0528, Link IOCARD_DISPLAY, Digit 127, Numbers 5 // NAV1 STANDBY
Var 0529, Link IOCARD_SW, Input 144, Type P // Swap NAV1
{
IF V0529 = 1
{
V0499 = 2
}
ELSE
{
V0499 = 0
}
}
Var 0530, Link FSUIPC_OUT, Offset $0352, Length 2 // NAV2 ACTIVE
Var 0531, Link FSUIPC_OUT, Offset $3120, Length 2 // NAV2 STANDBY
Var 0532 // PRIMARY DIGITS NAV2
Var 0533 // DECIMAL DIGITS NAV2
Var 0534, Link SUBRUTINE
{
L0 = V0532 * 100
L0 = L0 + V0533
V0538 = L0
V0531 = TOBCD L0
}
Var 0535, Link IOCARD_ENCODER, Input 109, Aceleration 1 // NAV2 ENCODER Primary Digits
{
V0532 = V0532 + V0535
IF V0525 > 17
{
}
V0535 = 8
IF V0535 < 8
{
}
V0535 = 17
CALL V0534
}
Var 0536, Link IOCARD_ENCODER, Input 112, Aceleration 1 // NAV2 DECIMAL DIGITS
{
L0 = V0536 + 5
V0533 = V0533 - L0
IF V0523 > 95
{
}
V0533 = 0
IF V0533 < 0
{
}
V0533 = 95
CALL V0524
}
Var 0537, Link IOCARD_DISPLAY, Digit 95, Numbers 5 // NAV2 ACTIVE
Var 0538, Link IOCARD_DISPLAY, Digit 101, Numbers 5 // NAV2 STANDBY
Var 0539, Link IOCARD_SW, Input 122, Type P // Swap NAV2
{
IF V0539 = 1
{
V0499 = 1
}
ELSE
{
V0499 = 0
}
}
Var 0540, Link FSUIPC_OUT, Offset $0354, Length 2 // XPNDR
Var 0541 // XPNDR HIGH DIGITS
Var 0542 // XPNDR LOW DIGITS
Var 0543, Link SUBRUTINE // XPNDR TEMP VALUE
{
L0 = V0541 * 100
L0 = L0 + V0542
V0544 = L0
V0540 = TOBCD L0
}
Var 0544, Link IOCARD_DISPLAY, Digit 144, Numbers 4 // XPNDR DISPLAY
Var 0545, Link IOCARD_ENCODER, Input 124, Aceleration 1 // HIGH DIGITS ENCODER
{
V0541 = V0541 + V0545
IF V0541 > 99
{
V0541 = 0
}
IF V0541 < 0
{
V0541 = 99
}
CALL V0543
}
Var 0546, Link IOCARD_ENCODER, Input 117, Aceleration 1 // LOW DIGITS ENCODER
{
V0542 = V0542 + V0546
IF V0542 > 99
{
V0542 = 0
}
IF V0542 < 0
{
V0542 = 99
}
CALL V0543
}
-
05-01-2011, 05:19 AM #6
- Join Date
- Jul 2013
- Posts
- 917
Re: Trouble with 2nd USB expansion card
Jerry
This script was originally for Project Magenta and uses their offsets - do you use PM? I ask as PM has its own range of FSUIPC offsets and this script will not work properly without PM
Even so, this script is not in its original form and has been amended, particularly the references to display digits which have duplications eg Var 63 and Var 65. Also Var 75 overwrites the display in Var 64. Additionally, with a total of 5 display cards you would reference them from 0 to circa 79 (depending on whether you are using the last bit for dimming) yet your script has display references beyond this range ie from 80 up to 148. The displays in this range will not work - assuming that the jumper in the display card on mastercard number 2 was in the correct sequential position
You have a total sioc script for many functions, I recommend that you cut it back and only use those sections of code that you currently need then slowly build it back up as you get the displays working correctly. Nico Kaan`s site has a lot of useful references/guidance/examples to help you
http://www.lekseecon.nl/howto.html
I have not worked with display cards across more than one mastercard, however, I believe that my advice is correct. Any corrections/additions are welcome
Regards
David
-
05-01-2011, 09:13 AM #7
- Join Date
- Aug 2008
- Location
- Dallas, Texas
- Posts
- 192
Re: Trouble with 2nd USB expansion card
David
Yes, I am using Project Magenta Boeing PDF, CDU, MCP and pmsYSTEMS. Haven't yet
purchased the First Officer software.
My jumpers are correct. According to the numbering of digits referenced by Nico Kaan
displays on Master Card 1 would number 0-63 and Master Card 2 would be 64-127. Since
I only have 1 display card on Master Card 1, maybe the first display on Master Card 2
Display Card 1 should start with 16. I really wasn't sure. Or maybe I have to put
four Display Cards on Master Card 1 before I can put a fifth one on Master Card 2.
That really wasn't clear to me.
(duplications eg Var 63 and Var 65. Also Var 75 overwrites the display in Var 64)
Were these the only mistakes you found in my script for the displays or were there
more? Thanks for your help.
Jerry
-
05-01-2011, 11:00 AM #8
- Join Date
- Jul 2013
- Posts
- 917
Re: Trouble with 2nd USB expansion card
Hi Jerry
I assumed that your display cards would fill up mastercard 1 then follow on sequentially onto mastercard 2. As your jumpers are correct then you have displays 0 -15 avaiable on master card 1, with displays 64 to 127 available on mastercard 2. In which case your display references within your sioc do not match. For example var 66 will not display fully as you reference digit 15 with 5 displays. Also you are referencing digits outside your range with vars 0528 and 0544.
With regard to the rest of your script, I have only checked the digit referencing as this was your initial problem - it is too large to properly examine
I suggest you move in little steps, initially confirming through controlador that the displays are all working.
Good luck
David
Similar Threads
-
Test USB Expansion Card
By mabderezai in forum OpenCockpits General DiscussionReplies: 4Last Post: 11-10-2011, 12:06 AM -
USB Expansion Card
By Jerrymc3 in forum I/O Interfacing Hardware and SoftwareReplies: 2Last Post: 02-27-2011, 02:25 AM -
Expansion card buggy? Shows "ghost" inputs where there aren't...
By Michael737NG in forum OpenCockpits General DiscussionReplies: 0Last Post: 12-26-2010, 07:02 AM -
Problem with usb Expansion card
By Depth08 in forum OpenCockpits General DiscussionReplies: 4Last Post: 11-03-2010, 03:11 PM -
Im in trouble..card not recognised
By gokhotit in forum Phidgets & Cockpit Simulator BuilderReplies: 4Last Post: 02-24-2005, 06:11 PM
Looking for fun companions for travels and adventures? Authentic Ladies Premier Сasual Dating
Top-notch Сasual Dating -...