AEROWINX NETWORK DOCUMENTATION - for add-on developers - Document version 7 (updated 3 July 2022) (If you have specific questions or inquiries, please post a message in the "Networkers" section of the 744 forum at aerowinx.com) Contents: BASICS GENERAL NETWORK KEYWORDS Q VARIABLES NETWORK MODES NETWORK SYNCHRONIZATION MD & T - MASTER DIM & TEST SYSTEM CONTROL DISPLAY UNITS BIG ALTERNATE ACTION SWITCHES BIG MOMENTARY ACTION SWITCHES MCP MOMENTARY ACTION SWITCHES GUARDED MOMENTARY ACTION TOGGLE SWITCHES TYPE 2 270 DEGREE POTENTIOMETERS INFINITE ROTARY SELECTORS OTHER VARIABLES ================================================================================ BASICS ================================================================================ The Aerowinx network uses TCP/IP. The network synchronizes multiple Precision Simulators, and connects add-ons with Precision Simulator. There are two independent types of servers: the main server, and the boost server. The main server provides all data required to synchronize multiple Precision Simulators. This includes data that flight deck hardware interfaces require. The main server also provides aerodynamic data which may be useful for scenery generator add-ons, but the main server updates aerodynamic data only at 5 Hz. For Precision Simulator clients, this is not a problem: they receive the 5-Hz aerodynamic data stream and refine it internally to a high speed stream, using the same aerodynamic model the main server uses. Add-ons, however, cannot convert this 5-Hz aerodynamic data stream to a high speed stream so easily since they do not incorporate the required aerodynamic model. The boost server provides the solution: it sends the aerodynamic data at high speed to the add-on. Do not send the boost server's data stream over the Internet. This would be highly uneconomic. Instead, connect a main server and a main client via the Internet. Then activate a boost server on the main server, and another boost server on the main client, so that each Precision Simulator provides a local boost server to drive a local scenery generator add-on. If such an add-on is not in use locally, deactivate that local boost server. In the main network, one Precision Simulator is the main server, and all other Precision Simulators are main clients. Add-ons are main clients as well. All main clients connect to the same main server. Additionally, every Precision Simulator, including every main client, can be a boost server. A boost server can connect to just one boost client. The following documentation discusses the main network only. The word "main" is no longer used from here on. "Server" and "client" refer to "main server" and "main client", unless the term "boost" is explicitly used. When a client sends data to the server (a switch event, for example), the server applies the data in its internal model, and forwards the data to all other clients, so that all network components are synchronized. You need not hack any offsets or memory addresses. The Precision Simulator server transmits all variables by text messages. Add-ons just need to start a network socket, in any programming language, connect to the server's address and port number (which is always 10747), and read the incoming messages. Vice versa, they can also send messages to the server. ================================================================================ GENERAL NETWORK KEYWORDS ================================================================================ id=... Client ID given by server on initial connection; for example, id=1 version=... Precision Simulator version, sent by server; for example, version=10.0.0 load1 Situation loading starts, simulation pauses (add-ons must not send this keyword) load2 Simulation processes the loaded model data (add-ons must not send this keyword) load3 Situation loading ends, simulation unpauses (add-ons must not send this keyword) metar=... METAR feeder status line on Instructor (add-ons must not send this keyword) cduL=... CDU L subsystem interface cduR=... CDU R subsystem interface cduC=... CDU C subsystem interface layout=... Sent by server; indicates which layout number is selected on the server bang May be sent by add-on; requests the current values of all non-DELTA variables start May be sent by router software; requests the current values of all START variables exit Network exit, sent by server and client (and should be sent by add-on too) On initial connection, the server will send a list of items which all start with the letter "L". This is a lexicon function. You may ignore it. This function was used during the development of the simulator; it is still included because some existing add-ons keep reading it. ================================================================================ Q VARIABLES ================================================================================ Variables are transmitted by ASCII text messages. A message starts with the letter Q, and ends with a line feed. There are three Q categories: Qi, Qh, Qs. Qi and Qh variables are 32-bit integers. Qh refers to human-actuated inputs, such as flight deck switch events, for example. Qi refers to internal functions. Qs variables are strings and may refer to switches or internal functions. Each Q category is an array of variables. All in all, a message consists of the Q category, followed by an array index, followed by an equal sign, and the current value of the variable. For example: Qi205=9999 Qh34=-1 Qs76=___ACARS_OOOI_STATUS____ The Q category and the Q index together are the Q code. "Qh34", for example, is a Q code. To view a list of all networkable variables, open the file Variables.txt. The file indicates for each Q code the associated internal variable name, its respective network mode, and the allowed value range of the Qh or Qi integer; respectively, the allowed string length of the Qs. For example: Qs1="CfgSelcal"; Mode=ECON; Min=0; Max=8; This is the SELCAL label displayed on the flight deck below the gear lever. The allowed string length may be 0 to 8 characters (Min=0; Max=8;). When a situation file or model file is loaded, or when the network is initially connected, the server sends, for example: Qs1=MS-CG The connected add-on will receive this message, and can parse it accordingly. If the second character is an "s", it is a Qs variable, meaning that the part after the "=" is a string. In this example, the add-on can find out that the aircraft's SELCAL code is "MS-CG". When the add-on sends Qs1=XY to the server, the SELCAL label under the gear lever will change to "XY". Another example from the file Variables.txt: Qh58="McpAtArm"; Mode=ECON; Min=0; Max=1; This is the autothrotte arm switch on the MCP. The value ranges from 0 to 1. The value is 0 when the switch is set to OFF, and is 1 when set to ARM. Whenever the value changes, add-ons receive the respective message from the server: Qh58=0 Qh58=1 Qh58=0 As this is a Qh variable, the add-on can parse the value after the "=" directly to a 32 bit integer. Add-ons can also send messages to the server; in this example, they can transmit the respective hardware switch event to the server. Precision Simulator will then move its internal virtual autothrotte arm switch, and compute the respective consequences in the aircraft systems. IMPORTANT: Do not try to compute the internal aircraft system status on your own. This is not necessary. And it may cause disagreements. The system status is always computed inside Precision Simulator, for all hardware events! Just actuate the related switch in Precision Simulator. The server will then send the respective consequences in form of Q messages back into the network. These will inform the add-on about the new status of a system light or digital display, for example. ================================================================================ NETWORK MODES ================================================================================ The network mode of a variable indicates what update schedule is used for that variable, or what kind of extra features are encoded in the variable value. Here are some examples from the list in Variables.txt: Qi182="NoseCargo"; Mode=START;... Qs121="PiBaHeAlTas"; Mode=CONT;... Qi33="McpWdoHdg"; Mode=ECON;... Qh36="EcpWxrFo"; Mode=DELTA;... Qh197="ApuGen1"; Mode=BIGMOM;... Qh65="McpPshLnv"; Mode=MCPMOM;... Qh342="FieldGen1"; Mode=GUAMOM2;... Qh293="PassOxygen"; Mode=GUAMOM4;... Qh401="KeybCduL"; Mode=CDUKEYB;... Qh407="SwitchesRcpL"; Mode=RCP;... Qh410="SwitchesAudioL"; Mode=ACP;... Qh415="PrinterPush"; Mode=MIXED;... Qh0="DeltaStbyIasBug1"; Mode=XDELTA;... Qs325="ApServo"; Mode=XECON;... START variables are only sent during situation file loading or during network start. Qi182, for example, sets the nose cargo door to a certain initial position. Thereafter, each Precision Simulator will smoothly animate the door position on its own without running a high speed position data stream through the network. Each simulator uses the same door model and the same networked door control commands, thus the door position will remain synchronized. ECON variables are only sent to the network when their value has changed or during network start. DELTA variables are only sent to the network when their value has changed from zero to non-zero. They are used for relative motion events of momentary action switches and infinite rotary knobs; for example, when the heading bug selector is rotating. Whenever the client has received such an event, the client must process the relative motion instantly and then stop it on its own since DELTA events never send stop (zero) events. When the event is processed, the client is ready for the next event. DELTA events may occur at a rate up to 20 Hz. Do not use a higher rate when sending such events to Precision Simulator. DELTA variables are not stored in situ files. BIGMOM stands for BIG MOMENTARY ACTION SWITCH. This refers to the big black squared momentary action pushbuttons with in-built lights. Such a variable stores a bitmask in a 32-bit integer. The bit for the momentary button push runs in DELTA mode, the other bits (for in-built lights and so on) run in ECON mode. In other words, the BIGMOM mode is a mix of ECON and DELTA modes. MCPMOM stands for MCP MOMENTARY ACTION SWITCH. This refers to the black squared MCP pushbuttons with in-built lights. It is similar to the BIGMOM mode, but the MCP switches include less features. GUAMOM2 and GUAMOM4 are guarded momentary action toggle switches. They use a mix of ECON and DELTA modes. CDUKEYB stands for CDU keyboard. It uses a mix of ECON and DELTA modes. RCP stands for radio control panel (or radio tuning panel, RTP). It uses a mix of ECON and DELTA modes. ACP stands for audio control panel. It uses a mix of ECON and DELTA modes. MIXED uses a mix of DELTA and ECON modes in a special way; it does not belong to any of the general mixed modes mentioned above. XDELTA is the same as DELTA, but is a special service for add-ons. The server does not send XDELTA variables, but add-ons may send them to the server. (Used for the relative motion of the plastic speed bugs on the standby airspeed indicator.) XECON is the same as ECON, but is a special service for add-ons. The server does not read XECON variables, but add-ons may read them from the server. (For example, to read the elevator feel pressure to feed hydraulic hardware.) XECON variables are not stored in situ files. DEMAND is the same as ECON, but is a special service for add-ons. This service is only active when it has been demanded by an add-on. For example, to demand the activation of Qs491, the add-on needs to send the message "demand=Qs491" to the server. One demand message is sufficient; the service will remain active until the demander disconnects from the network. DEMAND variables are not stored in situ files. ================================================================================ NETWORK SYNCHRONIZATION ================================================================================ Whenever your add-on has received a Q message from the server, containing a variable relevant to your hardware, your add-on should do this: If the message contains a Qh bitmask storing hardware dependent bits (switch-pressed status) and electronics dependent bits (lamp contact status, and so on): - Apply a bitmask operation that sets the hardware dependent bits according to your present hardware status; for example, if the switch is pressed, set bit 1 and do not change the other bits. - Then resend this bitmask to the server. If it is a Qs string storing hardware dependent values (selector positions, and so on) and electronics dependent values (display status, and so on): - Set the hardware dependent values according to your present hardware status; for example, if a selector is in position -1, set it to -1, and do not change the other values in the Qs string. - Then resend this string to the server. Why is this necessary? There may be cases where two Q messages are running through the network pipelines at the same time, one towards the hardware (for example, a lamp contact status update from the server), and another one towards Precision Simulator (a switch move command from the hardware). This could cause a disagreement between what the hardware is displaying and what Precision Simulator is displaying. Resending Q receiptions assures that Precision Simulator is always the winner in terms of electronics, and that the hardware is always the winner in terms of mechanical movements. Resending a Q message will not cause an infinite loop. The server will not send injections back to the injector, it will only distribute injections to its other clients. Note also that your Q reading and processing system must be thread safe (in Java use "synchronized"). ================================================================================ MD & T - MASTER DIM & TEST SYSTEM ================================================================================ The term MD & T will often appear in this documentation. This is a feature of the 744 avionics. For operational details, refer to the Aerowinx Operations Manual, chapter "Aircraft General", section "Indicator Lights". ================================================================================ CONTROL DISPLAY UNITS ================================================================================ 1. CDU Screen: Q Variables: Each text line on each CDU screen has a dedicated Qs variable. The names of these variables are: LcduTitle LcduLine1s LcduLine1b LcduLine2s LcduLine2b LcduLine3s LcduLine3b LcduLine4s LcduLine4b LcduLine5s LcduLine5b LcduLine6s LcduLine6b LcduScrPad CcduTitle CcduLine1s ... through ... CcduLine6b CcduScrPad RcduTitle RcduLine1s ... through ... RcduLine6b RcduScrPad For the associated Qs indices, refer to the file Variables.txt. Screen Characters: The following characters (case sensitive) can be read: A through Z 0 through 9 < > . , : / % + - = * _ ( ) # o b u d l r t Those lower case letters represent special symbols: o : degrees b : box u : up arrow d : down arrow l : left arrow r : right arrow t : triangle Line Formats: Each Qs string (except for the scratchpad string) must have a length of 24 characters, or higher, max. 48. The characters 1 to 24 are screen text; characters 25 to 48 indicate font sizes: char 25 refers to char 1, char 48 refers to char 24. Size symbols are: - (minus) means small font + (plus) means big font Example 1: Qs102=747-400_SOX_SOX______UVW++++++++---+++++++++++++ This will be displayed on the screen as: 747-400 sox SOX UVW Example 2: Qs102=747-400_SOX_SOX______UVW++++++++-+- The simulator fills the remaining chars up to 48 with the last given char. This will be displayed on the screen as: 747-400 sOx sox uvw Example 3: Qs102=747-400_SOX_SOX______UVW+ Again, the simulator fills the remaining chars beyond 24 up to 48 with the last given char. This will be displayed on the screen as: 747-400 SOX SOX UVW Example 4: Qs102=747-400_SOX_SOX______UVW If the line contains no size info; that is, if the line length after "=" is exactly 24, the simulator uses the following default sizes: Title line, scratchpad line and the six LSK lines use big font, the other lines use small font. The scratchpad string length may be 0 to 24. CDU screen blanking: There are three Qi variables called BlankTimeCduL (Qi89), BlankTimeCduC (Qi90), BlankTimeCduR (Qi91); one for each CDU. As long as the value is non-zero, the CDU screen is blank (due to an FMC blank command or CDU power loss or warm-up). Hardware CDUs that model blanking should read this value and blank their screens whenever the value is not zero. Note that the momentary blanking is an FMC feature and is typically not used by other subsystems like ACARS etc.; the FMC sends a blank command to the CDU to give the pilot a visual feedback that the key press has been received. This effect is not related to the computing time of an FMC entry; it is normal that the CDU page text may change a few seconds after an FMC entry, after the screen is unblanked. 2. CDU Keyboard: Q Variables: Each CDU keyboard has a dedicated Qh variable: KeybCduL (Qh401) KeybCduC (Qh402) KeybCduR (Qh403) Each Qh integer refers to an entire CDU keyboard. The integer ranges from -1 to 68. The following values are assigned to the keys: 0 .. 9 : 0 .. 9 A .. CLR : 10 .. 39 EXEC : 40 LSKs L : 41 .. 46 MENU : 47 NAV RAD : 48 PREV PG : 49 NEXT PG : 50 LSKs R : 51 .. 56 INITREF .. VNAV : 57 .. 61 FIX .. PROG : 62 .. 66 . : 67 +/- : 68 In the event of a hardware CDU keypress, the add-on should send the respective value higher than -1. The simulator will receive the value, copy it to its corresponding internal keypress variable and process it, and will reset its internal value to -1 after a fraction of a second in order to release its animated momentary action key. The simulator will not send this -1 value back to the network. However, the ATC key (60) and the CLR key (39) are not automatically reset to -1. The add-on can hold one of these two keys, and must send -1 when it is released by the user. 3. CDU indicator lights: Q Variables: Each CDU keyboard has a dedicated Qi bitmask for its five lights: LightsCduL (Qi86) LightsCduC (Qi87) LightsCduR (Qi88) bit 0001 : EXEC light contact closed by CDU bit 0002 : DSPY light contact closed by CDU bit 0004 : FAIL light contact closed by CDU bit 0008 : MSG light contact closed by CDU bit 0016 : OFST light contact closed by CDU bit 8192 : all light contacts closed by MD & T 4. CDU screen brightness knob: Q Variables: Each CDU has one potentiometer: BrtCduL (Qh404) BrtCduC (Qh405) BrtCduR (Qh406) Each Qh integer ranges from 0 to 4713. It represents radians * 1000; that is, 4713 corresponds to 270 degrees. ================================================================================ BIG ALTERNATE ACTION SWITCHES ================================================================================ Variable names (refer to Variables.txt for Qh indices): AltnFlap, AltnGearNsBd, AltnGearWing, FlapOvrd, GearOvrd, TerrOvrd, HydEng1, HydEng2, HydEng3, HydEng4, UtilL, UtilR, Battery, BusTie1, BusTie2, BusTie3, BusTie4, GenCont1, GenCont2, GenCont3, GenCont4, Eec1, Eec2, Eec3, Eec4, NaiPush1*, NaiPush2*, NaiPush3*, NaiPush4*, WaiPush*, WdoHeatL, WdoHeatR, FuelXfeed1, FuelXfeed2, FuelXfeed3, FuelXfeed4, FuelMain1Fwd, FuelMain1Aft, FuelOvrd2Fwd, FuelOvrd2Aft, FuelMain2Fwd, FuelMain2Aft, FuelMain3Fwd, FuelMain3Aft, FuelOvrd3Fwd, FuelOvrd3Aft, FuelMain4Fwd, FuelMain4Aft, FuelAuxL, FuelAuxR, FuelCtrL, FuelCtrR, FuelStabL, FuelStabR, IgnitCon, AutoStart**, JettNozzL, JettNozzR, FireArmFwd, FireArmAft, FireArmMain***, FuelXfer, YawDamperUpr, YawDamperLwr, OutflowManL, OutflowManR, FltDeckFan***, TrimAir, RecircUpr^, RecircLwr^, HighFlow, Gasper, Humid, AftCargoHeat^, IslnValveL, IslnValveR, ApuValve, EngBleed1, EngBleed2, EngBleed3, EngBleed4. * Aircraft specific, may be replaced by auto anti-ice system with 3-way toggle ** Aircraft specific, may be replaced by 4 individual autostart 2-way toggles *** Freighter only ^ Pax and combi only The bits of the integer describe the mechanical status of the entire switch component. Voltages for the lights are not included (these are stored in separate variables: refer to MdtVoltages). bit 0001 : switch pushed bit 0002 : upper (or left) light: first bulb broken bit 0004 : upper (or left) light: second bulb broken bit 0008 : lower (or right) light: first bulb broken bit 0016 : lower (or right) light: second bulb broken bit 0032 : covered bit 0064 : wired bit 0128 : upper (or left) light contact closed by system other than MD & T bit 0256 : lower (or right) light contact closed by system other than MD & T bit 8192 : all light contacts closed by MD & T The MD & T bit is necessary because when the test ends, the simulation needs to remember the light status before the test began, i.e. the light contact may have been commanded to close by a system other than the MD & T. Systems other than the MD & T use bit 128 or 256. For a reading add-on, this means: if ( ( value & ( 128 + 8192 ) ) != 0 ) then upper (or left) light contact closed if ( ( value & ( 256 + 8192 ) ) != 0 ) then lower (or right) light contact closed Virtual plastic guards and virtual guard wires protect against mouse clicks only. Network injectors can set any status directly, they need not open any guards before pushing a switch body. When handling a guarded switch with the mouse, the first click tears the copper wire from the guard, the second click opens the guard, the third click pushes the switch. Shortly thereafter, the guard closes automatically. ================================================================================ BIG MOMENTARY ACTION SWITCHES ================================================================================ Variable names (refer to Variables.txt for Qh indices): MastWarnCp, MastWarnFo, GsInhb, ApuGen1, ApuGen2, ExtPow1, ExtPow2, DriveDisc1, DriveDisc2, DriveDisc3, DriveDisc4, FireCargoDisch, ZoneReset, PackReset, RudderCtr. The bits of the integer describe the mechanical status of the entire switch component. Voltages for the lights are not included (these are stored in separate variables: refer to MdtVoltages). Momentary action switches are similar to alternate actions switches (ECON mode), except that bit 1 runs in DELTA mode. In DELTA mode, values are automatically reset in Precision Simulator after reading, and the server will not send the reset value back into the network. bit 0001 : switch pushed (server will internally delete this bit after a short delay) bit 0002 : upper (or left) light: first bulb broken bit 0004 : upper (or left) light: second bulb broken bit 0008 : lower (or right) light: first bulb broken bit 0016 : lower (or right) light: second bulb broken bit 0032 : covered bit 0064 : wired bit 0128 : upper (or left) light contact closed by system other than MD & T bit 0256 : lower (or right) light contact closed by system other than MD & T bit 8192 : all light contacts closed by MD & T The MD & T bit is necessary because when the test ends, the simulation needs to remember the light status before the test began, i.e. the light contact may have been commanded to close by a system other than the MD & T. Systems other than the MD & T use bit 128 or 256. For a reading add-on, this means: if ( ( value & ( 128 + 8192 ) ) != 0 ) then upper (or left) light contact closed if ( ( value & ( 256 + 8192 ) ) != 0 ) then lower (or right) light contact closed Virtual plastic guards and virtual guard wires protect against mouse clicks only. Network injectors can set any status directly, they don't need to open any guards before pushing a switch body. When handling a guarded switch with the mouse, the first click tears the copper wire from the guard, the second click opens the guard, the third click pushes the switch. Shortly thereafter, the guard closes automatically. ================================================================================ MCP MOMENTARY ACTION SWITCHES ================================================================================ Variable names (refer to Variables.txt for Qh indices): McpPshThr, McpPshSpd, McpPshLnv, McpPshVnv, McpPshFlc, McpPshHdgHld, McpPshVs, McpPshAltHld, McpPshLoc, McpPshApp, McpPshCmdL, McpPshCmdC, McpPshCmdR. The bits of the integer describe the mechanical status of the entire switch component. Voltages for the lights are not included (these are stored in separate variables: refer to MdtVoltages). MCP momentary action switches are similar to big momentary actions switches, they just have less features. bit 0001 : switch pushed (server will internally delete this bit after a short delay) bit 0002 : first light bulb broken bit 0004 : second light bulb broken bit 0008 : light contact closed by AFDS bit 8192 : light contact closed by MD & T The MD & T bit is necessary because when the test ends, the simulation needs to remember the light status before the test began, i.e. the light contact may have been commanded to close by the AFDS which uses bit 8. For a reading add-on, this means: if ( ( value & ( 8 + 8192 ) ) != 0 ) then light contact closed ================================================================================ GUARDED MOMENTARY ACTION TOGGLE SWITCHES TYPE 2 ================================================================================ Variable names (refer to Variables.txt for Qh indices): FieldGen1, FieldGen2, FieldGen3, FieldGen4, FieldApu1, FieldApu2, SplitSysBr. The bits of the integer describe the mechanical status of the guard (ECON) and the switch (DELTA). bit 0001 : guard closed bit 0002 : switch towards guard hinge (server will internally delete this bit after a short delay) If bit 0002 is not set, the switch sits opposite of the guard hinge. The guard hinge may be located north or south depending on whether the airline option "toggle switches up=ON" is set or not. ================================================================================ 270 DEGREE POTENTIOMETERS ================================================================================ Variable names (refer to Variables.txt for Qh indices): LcpPanelCp, LcpFloodCp, LcpMapCp, LcpPvdCp, LcpWxrCp, LcpNdCp, LcpOutbdCp, LcpPanelFo, LcpFloodFo, LcpMapFo, LcpPvdFo, LcpWxrFo, LcpNdFo, LcpOutbdFo, EicasBrtUpr, EicasBrtLwrInner, EicasBrtLwrOuter, LtOvhd, LtDome, LtGlrshPanel, LtGlrshFlood, LtAislePanel, LtAisleFlood, BrtCduL, BrtCduC, BrtCduR. The value ranges from 0 to 4713. It represents radians * 1000; that is, 4713 corresponds to 270 degrees. ================================================================================ INFINITE ROTARY SELECTORS ================================================================================ Variable names (refer to Variables.txt for Qh indices): McpTurnSpd, McpTurnHdg, McpTurnVs, McpTurnAlt, EcpMinsCp, EcpBaroCp, EcpMinsFo, EcpBaroFo. The value may range from -6000 to 6000 and is sent in DELTA mode. These knobs can rotate infinetely. Non-zero values can exist only momentarily. The values represent relative rotation angles per rotation event. When the server has read an incoming non-zero value, the server rotates its virtual mechanical knob and then resets its value to zero, otherwise the knob wouldn't stop turning. The server does not send the reset zero back to the network. The delta value represents rotary clicks; the server converts 1 click for the respective display (1 knot, 1 degree, 100 fpm, 100 feet, or whatever). Reading speed: the server reads incoming delta data at the server's current frame rate which may vary, up to 72 frames per second. Injectors should not inject at a faster rate. Recommended are 20 fps or less. Too many delta events per second would just cause superfluous network traffic and the server would not get all injections anyway. It may happen that the server misses some injected rotary clicks, but that is not a problem as the hardware displays are driven by the server, and the server's displays are synchronized through the network. ================================================================================ OTHER VARIABLES ================================================================================ The following part of the documentation is formatted in a consistent way so that it is machine-readable. Each Qh, Qi, and Qs information block starts with >>> and ends with <<<. If referring to a Qs variable, "Length:" indicates the allowed string length minimum and maximum. Otherwise, "Length:" is replaced by "Range:" which indicates the integer minimum and maximum value. An "Example:" is provided for Qs variables only. Overview: ---------------------------------------------------------------------- >>> Indicator lights power sources (MD & T - master dim & test) >>> Panel lights power sources >>> Indicator lights not integrated in switches >>> Flight deck door indicator lights >>> Green squib pushbuttons >>> ELT panel >>> Engine & APU fire switches >>> Passenger oxygen switch >>> Outflow valves status >>> Landing altitude selector >>> Jettison fuel-to-remain selector >>> MCP SPD window >>> MCP HDG window >>> MCP V/S window >>> MCP ALT window >>> MCP LCD power and test control >>> COM radios frequency settings and HF modes >>> RCP indicator lights >>> RCP LCD >>> RCP pushbuttons >>> RCP rotary selectors >>> COM transmissions on VHF and HF >>> Power status of all ACPs >>> ACP - green LEDs >>> ACP rotary selectors >>> ACP switches >>> ACP MIC and CALL lights >>> Call panel display on passenger and combi aircraft >>> Transponder panel - pushbuttons >>> Transponder panel - selectors >>> Transponder panel - indications >>> Transponder status >>> Text to be printed by the flight deck printer >>> EVAC light >>> EVAC push buttons >>> EVAC command switch >>> Rudder trim switch >>> Aileron trim switches >>> Stabilizer trim indicators status >>> Stabilizer surface angle >>> Elevator stick, aileron control wheel, rudder pedals >>> Toe brake pedals >>> Thrust levers >>> Autothrottle disconnect switch pair >>> TOGA switch pair >>> Fuel cutoff switches >>> Stab trim cutout switches >>> Alternate stab trim switch pair >>> Flap lever >>> Commanding a CDU to display its MENU page >>> Simulated earth time >>> Pilot clocks left and right >>> Elapsed time counters and chronographs integrated in left and right pilot clocks >>> Stick shaker >>> Hydraulic brake pressure accumulator indicator >>> Circuit breaker panel sections on panel P7 >>> Circuit breaker panel sections on panels P6-1 through P6-4 >>> Circuit breaker panel sections on panels P6-5 and P6-6 >>> Physical status of air conditioning devices >>> WXR - weather radar panel pushbuttons >>> WXR - weather radar panel rotary selectors >>> Active runway predicted by EGPWS >>> Weather data injection slow transit command >>> D-ATIS request and reply >>> ETA at destination in active FMC route >>> Electrical power status of some specific devices >>> Printer status >>> Touchdown data >>> True spoiler surface positions >>> True aileron, elevator, and rudder surface positions >>> Flame out/on status and N1 RPM % >>> Miscellaneous engine parameters >>> Miscellaneous flight data >>> Standby RMI data (The current documentation does not discuss all available variables, but nearly all for flight deck hardware interfaces. If you like to see further descriptions of certain other variables, please post a message in the "Networkers" section of the 744 forum at aerowinx.com, and I will extend this documentation from time to time. Thank you. Regards, Hardy Heinlin.) -------------------------------------------------------------------------------- >>> Indicator lights power sources (MD & T - master dim & test) Code: Qs323 Name: MdtVoltages Mode: XECON Length: 32 .. 80 Add-ons can: Read only Example: 1000;999;1001;999;0;999;1001;0;0;999;1001;0;1000;999;1001;1000 Description: Each indicator light that is powered, tested or dimmed through the MD & T module, is connected to one specific MD & T output. There are 16 different outputs. Add-ons may use these output voltages to control the brightness of external hardware lamps. The 16 voltages are separated by semicolons. Each integer in between contains a value from 0 to circa 1000. 1000 is equivalent to 28 volt (maximum brightness). From left to right the following outputs are provided. There is no semicolon at the end. 1 : nonDimC358 2 : nonDimC614 3 : nonDimC122 4 : nonDimC17 5 : directTowBatLt 6 : directIrsBatLt 7 : dimRelayK2a 8 : dimRelayK2b 9 : dimRelayK4a 10 : dimRelayK4b 11 : dimRelayK6a 12 : dimRelayK6b 13 : dimRelayK8a 14 : dimRelayK8b 15 : extAvailTest1 16 : extAvailTest2 Add-on developers need not learn any details about these outputs and their names. Important is only that the outputs are distinguished and connected to the respective lamps as shown on the table in the file "Power Sources for Indicator Lights.txt". <<< >>> Panel lights power sources Code: Qs324 Name: LtVoltages Mode: XECON Length: 43 .. 110 Add-ons can: Read only Example: 0;0;0;787;704;0;831;831;831;831;831;831;682;682;682;682;894;597;530;530;530;640 Description: Each panel backlight, flood light, and display is powered and dimmed by a specific power source. There are 22 different sources. Add-ons may use these sources to control the brightness of external hardware lamps. The 22 voltages are separated by semicolons. Each integer in between contains a value from 0 to circa 1000. 1000 is equivalent to maximum brightness. From left to right the following sources are provided. There is no semicolon at the end. 1 : domeLight 2 : mapLightL 3 : mapLightR 4 : aisleFlood 5 : mainFloodL 6 : mainFloodR 7 : gT38 8 : gT40 9 : gT44 10 : gR8098ab 11 : gR8098c 12 : gR8098d 13 : gR7737ab 14 : gR7737d 15 : gDivAislePnlT144 16 : gDivAislePnlT951 17 : gT137 18 : gT961 19 : gR7736 20 : gT77 21 : gHydInd 22 : gT102 Add-on developers need not learn any details about these sources and their names. Important is only that the sources are distinguished and connected to the respective lamps as shown on the table in the file "Power Sources for Panel Lights.txt". <<< >>> Indicator lights not integrated in switches Code: For Qi indices, refer to Variables.txt. Name: HydValveLtTail1, HydValveLtTail2, HydValveLtTail3, HydValveLtTail4, HydValveLtWing1, HydValveLtWing2, HydValveLtWing3, HydValveLtWing4, FieldLtGen1, FieldLtGen2, FieldLtGen3, FieldLtGen4, FieldLtApu1, FieldLtApu2, SsbOpenLt, TowOnBatLt, IrsOnBatLt, HydSysFaultLt1, HydSysFaultLt2, HydSysFaultLt3, HydSysFaultLt4, HydDemPressLt1, HydDemPressLt2, HydDemPressLt3, HydDemPressLt4, EngBleedSysFaultLt1, EngBleedSysFaultLt2, EngBleedSysFaultLt3, EngBleedSysFaultLt4. Mode: ECON Range: 0 .. 8199 Add-ons can: Read only (but may write bulb-broken bits) Description: Every Qi indicator light variable is a bitmask: bit 0001 : light contact closed by system other than MD & T bit 0002 : first light bulb broken bit 0004 : second light bulb broken bit 8192 : light contact closed by MD & T <<< >>> Flight deck door indicator lights Code: Qi117 Name: FltDkDoorStat Mode: ECON Range: 0 .. 8195 Add-ons can: Read only Description: This is a bitmask related to the flight deck door indicator lights on the aisle stand on passenger and combi aircraft. These bulbs cannot fail. bit 0001 : LOCK FAIL light contact closed bit 0002 : AUTO UNLK light contact closed bit 8192 : light contact closed by MD & T <<< >>> Green squib pushbuttons Code: For Qh indices, refer to Variables.txt. Name: SquibEng1, SquibEng2, SquibEng3, SquibEng4, SquibApu, SquibA, SquibB, SquibC, SquibD, SquibE, SquibF, SquibAH, SquibBJ, SquibCK, SquibDL, SquibEM, SquibFN, SquibGP. Mode: ECON Range: 0 .. 7 Add-ons can: Read & write Description: Squib pushbutton installations are aircraft specific. Each squib pushbutton is a Qh bitmask: bit 0001 : button pushed bit 0002 : light bulb broken bit 0004 : light power on So if ( bitmask & 2 ) == 0 && ( bitmask & 4 ) != 0 then the light is illuminated <<< >>> ELT panel Code: Qh224 Name: Elt Mode: ECON Range: 0 .. 8207 Add-ons can: Read & write Description: Qh224 is a bitmask: bit 0001 : guard closed bit 0002 : switch up bit 0004 : switch centered else : switch down bit 0008 : LED contact closed by system other than MD & T bit 8192 : LED contact closed by MD & T <<< >>> Engine & APU fire switches Code: Qh275, Qh276, Qh277, Qh278, Qh279 Name: FireEng1, FireEng2, FireEng3, FireEng4, FireApu. Mode: ECON Range: 0 .. 4095 Add-ons can: Read & write Description: Each fire switch is a Qh bitmask: bit 0001 : pulled bit 0002 : first light bulb broken bit 0004 : second light bulb broken bit 0008 : third light bulb broken bit 0016 : fourth light bulb broken bit 0032 : override lock pushed bit 0064 : light contact closed bit 0128 : handle angle -22 degrees bit 0256 : handle angle -15 degrees bit 0512 : handle angle +15 degrees bit 1024 : handle angle +22 degrees bit 2048 : handle is unlocked by solenoid <<< >>> Passenger oxygen switch Code: Qh293 Name: PassOxygen Mode: GUAMOM4 Range: 0 .. 15 Add-ons can: Read & write Description: The bits of the integer describe the mechanical status of the guard, the wire (ECON) and the switch (DELTA). bit 0001 : guard closed bit 0002 : switch towards guard hinge bit 0004 : switch center (when bit deleted, server sets this bit internally after a short delay) bit 0008 : guard wired If bit 0004 is set, bit 0002 is ignored. The center is the relaxed position. If bit 0004 is set, the switch is centered, else if bit 0002 is set, the switch is on the guard hinge side, else it is on the opposite side. The guard hinge may be located north or south depending on whether the airline option "toggle switches up=ON" is set or not. <<< >>> Outflow valves status Code: Qs431 Name: OutFloCabAlt Mode: ECON Length: 3 .. 15 Add-ons can: Read only Example: 9999;9999;2000 Description: From left to right, separated by semicolons: Outflow valve L, outflow valve R, cabin altitude. To reduce network traffic, the valve data are target valve positions, not actual valve positions. 9999 : closed 0 : open When the valve moves, it moves at a constant rate: In manual mode: 0.477507 units per millisecond In auto mode: 1.2733519 units per millisecond When you read 0, the valve moves to the OPEN position; when you read 9999, the valve moves to the CLOSED position. When the valve motion stops and your external animation rate has been exact so far, your final position will be nearly equal to the received value. It may happen that you then need to drive it a bit further to make it exactly equal. In other words, always keep your hardware needle moving until it agrees with the received value. <<< >>> Landing altitude selector Code: Qh297 Name: LdgAltTurn Mode: ECON Range: 0 .. 62830 Add-ons can: Read & write Description: This potentiometer can make 10 full circles. The position value represents radians * 1000; that is, 62830 corresponds to 3600 degrees. <<< >>> Jettison fuel-to-remain selector Code: Qh273 Name: JettRemain Mode: ECON Range: 0 .. 62830 Add-ons can: Read & write Description: This potentiometer can make 10 full circles. The position value represents radians * 1000; that is, 62830 corresponds to 3600 degrees. <<< >>> MCP SPD window Code: Qi32 Name: McpWdoSpd Mode: ECON Range: 0 .. 1950 Add-ons can: Read only Description: When the value is greater than 950, the SPD window is blanked by the AFDS. The SPD window may also be blanked by the MD & T test. The Mach word and the Mach dot should disappear when the value is below 400. <<< >>> MCP HDG window Code: Qi33 Name: McpWdoHdg Mode: ECON Range: 0 .. 359 Add-ons can: Read only Description: The HDG window may be blanked by the MD & T test. <<< >>> MCP V/S window Code: Qi34 Name: McpWdoVs Mode: ECON Range: -80 .. 60 Add-ons can: Read only Description: The value represents hundreds of feet. When the value is 0, the hardware display should indicate "0000". In all other cases, leading zeroes should not be indicated on the display. Non-zero values should be preceded by - and + signs. The V/S window should be blank when the V/S mode is not engaged. Mode engagement can be checked by reading the variable McpPshVs (Qh69). This is the V/S switch with the in-built light. If the light contact is closed by the AFDS, the V/S window is not blank: If ( McpPshVs & 8 ) == 0 then window is blank. The V/S window may also be blanked by the MD & T test. <<< >>> MCP ALT window Code: Qi35 Name: McpWdoAlt Mode: ECON Range: 0 .. 500 Add-ons can: Read only Description: The value represents hundreds of feet. When the value is 0, the hardware display should indicate "00000". In all other cases, leading zeroes should not be indicated on the display. The ALT window may be blanked by the MD & T test. <<< >>> MCP LCD power and test control Code: Qi36 Name: McpLcd Mode: ECON Range: 0 .. 2 Add-ons can: Read only Description: When the value is 0, all four MCP windows should be blank. This may be the case when the MCP is unpowered or when a MD & T test is running. When the value is 1, all four windows should be in normal operating mode. When the value is 2, all four windows should show all their segments. When the MD & T test runs, the server sends Qi36 with an alternating value of 0, 2, 0, 2 and so on. This means, all four hardware displays should flash by alternating between blank and all-segments-on. <<< >>> COM radios frequency settings and HF modes Code: Qs106, Qs107, Qs108 Name: MemRcpL, MemRcpC, MemRcpR Mode: ECON Length: 71 .. 77 Add-ons can: Read & write Example: 128300;133800;137000;119000;121730;132500;22786;22607;23999;18701;100;100;0;0 Description: The string stores the following variables of the respective RCP memory, separated by semicolons (there must be a semicolon at the end): 1 : Active frequency VHF L 2 : Standby frequency VHF L 3 : Active frequency VHF C 4 : Standby frequency VHF C 5 : Active frequency VHF R 6 : Standby frequency VHF R 7 : Active frequency HF L 8 : Standby frequency HF L 9 : Active frequency HF R 10 : Standby frequency HF R 11 : Sensitivity HF L 12 : Sensitivity HF R 13 : AM active on HF L (zero=inactive) 14 : AM active on HF R (zero=inactive) <<< >>> RCP indicator lights Code: Qi92, Qi93, Qi94 Name: IndicatorsRcpL, IndicatorsRcpC, IndicatorsRcpR. Mode: ECON Range: 0 .. 62463 Add-ons can: Read only Description: Each IndicatorsRcp variable is a bitmask: bit 0001 : VHF L light contact closed bit 0002 : VHF C light contact closed bit 0004 : VHF R light contact closed bit 0008 : HF L light contact closed bit 0032 : HF R light contact closed bit 0064 : Offside tuning light contact closed bit 0128 : FAIL displayed on the LCDs * bit 0256 : INOP displayed on the LCDs * bit 0512 : Panel is on bit 4096 : LCDs are blank * bit 8192 : MD&T test is on (all light contacts closed, all LCD segments on *) AM L light contact is closed if HF L light contact closed and AM L active. AM R light contact is closed if HF R light contact closed and AM R active. (For AM status refer to MemRcpL, MemRcpC, MemRcpR.) * To read what is shown on the display, get the Qs RcpDispL, RcpDispC, RcpDispR. <<< >>> RCP LCD Code: Qs458, Qs459, Qs460 Name: RcpDispL, RcpDispC, RcpDispR. Mode: XECON Length: 15 .. 15 Add-ons can: Read only Example: 18.700 SEN 85 ; Description: An RcpDisp string is always 15 characters long. The last one is a semicolon. The first 7 characters represent the active display, the next 7 characters are for the standby display. <<< >>> RCP pushbuttons Code: Qh407, Qh408, Qh409 Name: SwitchesRcpL, SwitchesRcpC, SwitchesRcpR Mode: RCP Range: -1 .. 76 Add-ons can: Read & write Description: The integer value refers to the momentary action push buttons: 0 : OFF button (ECON) 1 : VHF L button (DELTA) 2 : VHF C button (DELTA) 3 : VHF R button (DELTA) 4 : HF L button (DELTA) 5 : AM button (DELTA) 6 : HF R button (DELTA) 7 : Act/Stby swap button (DELTA) For example, when the VHF R hardware button is pressed, the add-on should inject the value 3 into the server. Just a single injection is required. There should be no repetitions while the button is pressed. The server's virtual VHF R button will automatically release after a fraction of a second. The OFF button, however, is a special case because this button can, and must, be held for two seconds in order to shut down the RCP. The server will not release the OFF switch automatically. The hardware must send -1 to the server when the hardware OFF button is released. Note that the Act/Stby swap button is intentionally inoperative for one second after the last swap (real-world design). Add-ons need not care about it; it is modeled inside Precision Simulator. But users should be aware that this 1-second inhibit is intentional. Another intentional delay (2 seconds) is applied when swapping a DATA display with a normal frequency display. <<< >>> RCP rotary selectors Code: Qs109, Qs110, Qs111 Name: RotSelRcpL, RotSelRcpC, RotSelRcpR Mode: DELTA Length: 5 .. 8 Add-ons can: Read & write Example: 0;-1;0 Description: There are three values sperarated by semicolons; one rotation event value for each infinite rotary selector. There is no semicolon at the end. The values can be non-zero only momentarily. When the server receives a non-zero injection, the server reads it and then resets the value to zero. The zero is not returned to the network. The values from left to right: HF sens knob, big frequency knob, small frequency knob. A one-click rotation on the hardware should be injected into the server by -1 (left turn) or 1 (right turn). A quick, great rotation event should typically send -8 or 8. Rotation events should be injected at a rate not higher than 20 Hz. <<< >>> COM transmissions on VHF and HF Code: Qs112 Name: FreqsAntenna Mode: ECON Length: 9 .. 37 Add-ons can: Read only Example: 118000;-136000;121500;0;12345 Description: These are five frequency values separated by semicolons. The sequence is: VHF L, VHF C, VHF R, HF L, HF R. These are the actually tuned frequencies. Do not read the frequencies stored in the radio tuning panels, they may be inactive. When a transmission is running on a frequency, the frequency value is negative. When a radio is inoperative, its frequency value is zero. <<< >>> Power status of all ACPs Code: Qi175 Name: AcpPwrBits Mode: XECON Range: 0 .. 7 Add-ons can: Read only Description: Qi175 is a bitmask: bit 0001 : ACP L is powered bit 0002 : ACP R is powered bit 0004 : ACP C is powered When an ACP is not powered, its green LEDs cannot illuminate, even when the contacts are closed by the MD & T. <<< >>> ACP - green LEDs Code: Qi106, Qi107, Qi108 Name: ReceiverSelL, ReceiverSelC, ReceiverSelR. Mode: ECON Range: 0 .. 16383 Add-ons can: Read only Description: Every ReceiverSel variable is a bitmask: bit 0001 : VHF L light contact closed by ACP bit 0002 : VHF C light contact closed by ACP bit 0004 : VHF R light contact closed by ACP bit 0008 : FLT light contact closed by ACP bit 0016 : CAB light contact closed by ACP bit 0032 : PA light contact closed by ACP bit 0064 : HF L light contact closed by ACP bit 0128 : HF R light contact closed by ACP bit 0256 : SAT L light contact closed by ACP bit 0512 : SAT R light contact closed by ACP bit 1024 : SPKR light contact closed by ACP bit 2048 : VOR/ADF light contact closed by ACP bit 4096 : APP/MKR light contact closed by ACP bit 8192 : all ACP light contacts closed by MD & T The LEDs are powered by the respective ACP. During MD & T test, the respective MD & T relay closes the contacts for the LED test, but the LEDs are powered by the ACP. <<< >>> ACP rotary selectors Code: Qs113, Qs114, Qs115 Name: RotSelAudioL, RotSelAudioC, RotSelAudioR. Mode: ECON Length: 31 .. 44 Add-ons can: Read and write Example: 99;99;99;99;99;99;99;99;99;99;99;99;99;3;2;3 Description: The string stores the position values of the volume potentiometers and of the three white rotary selectors. Volume values range from 0 to 99. All values are separated by semicolons. There must be no semicolon at the end. The string sequence from left to right: 1 : VHF L 2 : VHF C 3 : VHF R 4 : FLT 5 : CAB 6 : PA 7 : HF L 8 : HF R 9 : SAT L 10 : SAT R 11 : SPKR 12 : VOR/ADF 13 : APP 14 : VOR/ADF audio source selector (range 0 .. 3) 15 : Voice/Both/Radio filter selector (range 0 .. 2) 16 : APP audio source selector (range 0 .. 3) <<< >>> ACP switches Code: Qh410, Qh411, Qh412 Name: SwitchesAudioL, SwitchesAudioC, SwitchesAudioR. Mode: ACP Range: -1 .. 27 Add-ons can: Read & write Description: The integer value indicates which of the momentary action switches is currently pushed: 0 : MIC pushbutton VHF L 1 : MIC pushbutton VHF C 2 : MIC pushbutton VHF R 3 : MIC pushbutton FLT 4 : MIC pushbutton CAB 5 : MIC pushbutton PA 6 : MIC pushbutton HF L 7 : MIC pushbutton HF R 8 : MIC pushbutton SAT L 9 : MIC pushbutton SAT R 10 : Volume pushbutton VHF L 11 : Volume pushbutton VHF C 12 : Volume pushbutton VHF R 13 : Volume pushbutton FLT 14 : Volume pushbutton CAB 15 : Volume pushbutton PA 16 : Volume pushbutton HF L 17 : Volume pushbutton HF R 18 : Volume pushbutton SAT L 19 : Volume pushbutton SAT R 20 : Volume pushbutton SPKR 21 : Volume pushbutton VOR/ADF 22 : Volume pushbutton ILS/Marker (APP) 23 : Unused 24 : Unused 25 : Unused 26 : Talk toggle switch in R/T position 27 : Talk toggle switch in INT position Switches 0 through 22 are momentary action pushbuttons (DELTA mode), switches 26 and 27 can be held (ECON mode). For example, when the SPKR hardware button is pressed, the add-on should inject the value 20 into the server. Just a single injection is required. There should be no repetitions while the button is pressed. The server's virtual SPKR button will automatically release after a fraction of a second. The talk toggle switch (for R/T and INT), however, is a special case because this switch can, and must, be held while talking. The server will not release this switch automatically. The hardware must send -1 to the server when the hardware switch is released. <<< >>> ACP MIC and CALL lights Code: Qi109, Qi110, Qi111 Name: MicSelectL, MicSelectC, MicSelectR Mode: ECON Range: -1 .. 9 Add-ons can: Read only Description: This Qi indicates which MIC light contact is closed. -1 means all MIC lights are off. Only one MIC light can illuminate at a time unless the MD & T test is running in which case all MIC light contacts are closed (for MD & T status refer to ReceiverSelL, ReceiverSelC, ReceiverSelR). The value of each MIC light is: 0 : VHF L 1 : VHF C 2 : VHF R 3 : FLT 4 : CAB 5 : PA 6 : HF L 7 : HF R 8 : SAT L 9 : SAT R Call lights are activated by other avionic components. When a call is made, the respective call is indicated on all three ACPs. The following Qi variables need to be monitored: CallCargoStat (freighter only) CallFrVhfL CallFrVhfC CallFrVhfR CallFrIntph CallFrCabin CallFrHfL CallFrHfR CallCargoStat is a bitmask: if ( CallCargoStat & 7 ) != 0 then CAB CALL light contact is closed. For all CallFr... variables: if value > 0 then respective CALL light contact is closed. When the MD & T test is running, all CALL light contacts are closed (for MD & T status refer to ReceiverSelL, ReceiverSelC, ReceiverSelR). Note that the CABIN READY call signal will not illuminate any CALL light. <<< >>> Call panel display on passenger and combi aircraft Code: Qs457 Name: CallPanelDisp Mode: XECON Length: 1 .. 16 Add-ons can: Read only Example: U/D CREW REST P3 Description: When the display is on, the string is always 16 characters long (including blank spaces). When the display is off, the string consists of just one underscore character. <<< >>> Transponder panel - pushbuttons Code: Qh414 Name: TcasPanPush Mode: MIXED Range: -1 .. 11 Add-ons can: Read & write Description: The integer value refers to the following momentary action pushbuttons: 0 : "0" button (DELTA) 1 : "1" button (DELTA) 2 : "2" button (DELTA) 3 : "3" button (DELTA) 4 : "4" button (DELTA) 5 : "5" button (DELTA) 6 : "6" button (DELTA) 7 : "7" button (DELTA) 8 : "CLR" button (DELTA) 9 : "IDNT" button (DELTA) 10 : "TEST" button (ECON) 11 : "F/L" button (ECON) For example, when the CLR hardware button is pressed, the add-on should inject the value 8 into the server. Just a single injection is required. There should be no repetitions while the button is pressed. The server's virtual CLR button will automatically release after a fraction of a second. The TEST and F/L buttons, however, are special cases because they can be held down. The server will not release them automatically. The hardware must send -1 to the server (just once, no repetitions) when the hardware TEST or F/L button is released. <<< >>> Transponder panel - selectors Code: Qs117 Name: TcasPanSel Mode: ECON Length: 7 Add-ons can: Read & write Example: 1;0;1;3 Description: Four selector position values are separated by semicolons. There is no semicolon at the end. From left to right: - OFF/ON selector (range 0 .. 1) - L/R selector (range 0 .. 1) - TCAS Above/Norm/Below selector (range 0 .. 2) - Mode selector (range 0 .. 3) <<< >>> Transponder panel - indications Code: Qs118 Name: TcasPanStat Mode: ECON Length: 11 Add-ons can: Read only Example: 77007700NNN Description: There are no semicolons. The digits at position 1 through 4 are the active squawk (but ATC add-ons should read Qi204 instead of Qs118). The digits at position 5 through 8 are the ones that are displayed on the LCD; those should be used by hardware panel add-ons. The displayed value may be cleared and is not necessarily equal to the the active squawk. Another example: 77005___NNF In this example, only the first digit of the tansponder code should be displayed on the LCD, the "5" in this case. The other three digits are blank on the LCD (an underscore indicates a blank digit). The last three characters refer to certain system modes: Character at position 9: L : MD & T test on (all LCD segments on and XPDR FAIL light on) N : MD & T test off Character at position 10: B : Blank display P : PASS displayed N : Normal display Character at position 11 (this is not relevant to add-ons): F : F/L mode on N : F/L mode off <<< >>> Transponder status Code: Qi204 Name: Xpndr Mode: ECON Range: 10000 .. 317777 Add-ons can: Read only Description: 1 : Transponder OFF 2 : Transponder ON, and ALT RPTG OFF 3 : Transponder ON, and ALT RPTG ON The second digit is 1 when the ident is on, else it is 0. Once started, the ident mode remains on for 20 seconds and then deactivates automatically; the ident key need not be held. The last four digits are the active transponder code. <<< >>> Text to be printed by the flight deck printer Code: Qs119 Name: PrinterText Mode: ECON Length: 0 .. 24576 Add-ons can: Read & write Example: Hello world,^this is the second line.^This is the third line. Description: This feature is a screen animation and not a real paper print. Use ASCII characters. Insert ^ before a line feed. Do not use more than 40 characters per line. Before sending a text, check that the printer is not busy: when the string transmitted by Qs119 is empty, the printer is not busy. When the server has printed your text successfully, the server resets the length of the string to zero. If several Precision Simulators are running in a network, it might be reasonable to let just one Precision Simulator make a printout animation. Go to Instructor > Preferences > Basics and uncheck "Allow paper sheet simulation" in all Precision Simulators but one. The animated paper is intentionally blank (for performance reasons). The text occurs only when the paper is torn off. <<< >>> EVAC light Code: Qh424 Name: EvacLight Mode: ECON Range: 0 .. 31 Add-ons can: Read & write Description: Qh424 is a bitmask: bit 0001 : EVAC signal commanded on by pilot bit 0002 : light contact closed by flasher bit 0004 : light contact closed by test push button bit 0008 : EVAC signal commanded on by flight attendant <<< >>> EVAC push buttons Code: Qh423 Name: EvacPush Mode: MIXED Range: 0 .. 3 Add-ons can: Read & write Description: Qh423 is a bitmask: bit 0001 : Horn shutoff button is momentarily pushed (server deletes this bit after a short delay) bit 0002 : Yellow test button is pressed <<< >>> EVAC command switch Code: Qh422 Name: EvacArm Mode: ECON Range: 0 .. 15 Add-ons can: Read & write Description: Qh422 is a bitmask: bit 0001 : Guard closed bit 0002 : switch set to OFF bit 0004 : switch set to ARM <<< >>> Rudder trim switch Code: Qh416 Name: RudderTrim Mode: DELTA Range: -2 .. 2 Add-ons can: Read & write Description: The rudder trim switch sets the following trim speeds and directions: -2 : Fast left -1 : Slow left 0 : Centered 1 : Slow right 2 : Fast right Note: The mode is actually ECON as it also sends zero values, but being DELTA it is not stored in situ files, and therefore a situ always starts with the value zero (switches centered) so that a situ cannot accidentally start with an inadvertant rudder trim runaway. <<< >>> Aileron trim switches Code: Qh418 Name: AileronTrim Mode: DELTA Range: 0 .. 15 Add-ons can: Read & write Description: Qh418 is a bitmask: Bit 0001: Upper switch is set to left Bit 0002: Lower switch is set to left Bit 0004: Upper switch is set to right Bit 0008: Lower switch is set to right If zero : Both switches are centered Note: The mode is actually ECON as it also sends zero values, but being DELTA it is not stored in situ files, and therefore a situ always starts with the value zero (switches centered) so that a situ cannot accidentally start with an inadvertant aileron trim runaway. <<< >>> Stabilizer trim indicators status Code: Qi226 Name: StbTrmBits Mode: XECON Range: 0 .. 2147483647 Add-ons can: Read only Description: Qi226 is a bitmask: Bit 0001: L indicator powered Bit 0002: R indicator powered Bit 0004: Greenband nose down illuminated Bit 0008: Greenband nose up illuminated The OFF flag appears when the respective indicator is unpowered. The OFF flag is part of the white-black tape. The tape rolls beyond the nose down limit at which the tape starts to be black, and then a bit further and the orange OFF flag rolls in at the other end of the glass. <<< >>> Stabilizer surface angle Code: Qi119 Name: StabTrim Mode: ECON Range: 0 .. 15000 Add-ons can: Read only (may write for situation setup, but not for flight control) Description: 15000 corresponds to 15 degrees, which is the maximum nose up position. <<< >>> Elevator stick, aileron control wheel, rudder pedals Code: Qs120 Name: FltControls Mode: ECON Length: 5 .. 14 Add-ons can: Read & write Example: 0;999;-999 Description: The string is separated by two semicolons. There must be no semicolon at the end. Each value is an integer ranging from -999 to 999. The sequence is elevator, aileron, rudder. <<< >>> Toe brake pedals Code: Qs357 Name: Brakes Mode: ECON Length: 3 .. 9 Add-ons can: Read & write Example: 0;1000 Description: There is a single semicolon in the middle, separating the left and right toe brake pedal angles. The values are scaled so that the full range is 0 to 1000. <<< >>> Thrust levers Code: Qs436 Name: Tla Mode: ECON Length: 7 .. 23 Add-ons can: Read & write Example: 5000;5000;4999;5000 Description: This variable contains data for all four forward thrust lever angles and all four reverser lever angles. If an engine's value is zero, its forward lever is at idle and its reverser lever is stowed. If the value is negative, the forward lever is at idle and the reverser lever is not stowed. If the value is positive, the forward lever is out of idle and the reverser lever is stowed. The values represent hundredths of a degree; that is, 5000 means 50 degree TLA (thrust lever angle). Each value is an integer ranging from 5000 to -8925. The four values are separated by semicolons. There must be no semicolon at the end of the string. If you run autothrottle servo hardware, you may do this: When the autothrottle mode annunciation is not blank and not HOLD, feed your servo with the TLA values sent by Precision Simulator, and re-inject your current hardware TLA values into Precision Simulator every 1 second. Every re-injection must contain the latest TLA (not a value from 1 second ago). These re-injections allow pilot interventions on the levers. The 1-second delay is necessary to allow the autothrottle to move freely between each re-injection. When the autothrottle mode annunciation is blank or HOLD, just inject your current hardware TLA values into Precision Simulator whenever they have changed, and do not read the TLA values from Precision Simulator. The current autothrottle mode can be read from the variable Afds (Qs434). <<< >>> Autothrottle disconnect switch pair Code: Qh386 Name: ThrustDisc Mode: DELTA Range: 0 .. 3 Add-ons can: Read & write Description: Qh386 is a bitmask: bit 0001 : left switch momentarily pushed (server deletes this bit after a short delay) bit 0002 : right switch momentarily pushed (server deletes this bit after a short delay) <<< >>> TOGA switch pair Code: Qh387 Name: ThrustToga Mode: DELTA Range: 0 .. 3 Add-ons can: Read & write Description: Qh387 is a bitmask: bit 0001 : left switch momentarily pushed (server deletes this bit after a short delay) bit 0002 : right switch momentarily pushed (server deletes this bit after a short delay) <<< >>> Fuel cutoff switches Code: Qh392, Qh393, Qh394, Qh395 Name: FuelCutoff1, FuelCutoff2, FuelCutoff3, FuelCutoff4. Mode: ECON Range: 0 .. 7 Add-ons can: Read & write Description: Each fuel cutoff switch is a bitmask: bit 0001 : switch set to RUN bit 0002 : light bulb broken bit 0004 : light contact closed <<< >>> Stab trim cutout switches Code: Qh390, Qh391 Name: StabTrimCut2, StabTrimCut3. Mode: ECON Range: 0 .. 7 Add-ons can: Read & write Description: Each cutout switch variable is a bitmask: bit 0001 : Guard closed bit 0002 : switch set to ON bit 0004 : switch set to AUTO if zero : guard is open and switch is OFF <<< >>> Alternate stab trim switch pair Code: Qh396 Name: AltnStabTrim Mode: ECON Range: 0 .. 15 Add-ons can: Read & write Description: Qh396 is a bitmask: bit 0001 : left switch set to nose down bit 0002 : left switch set to nose up bit 0004 : right switch set to nose down bit 0008 : right switch set to nose up <<< >>> Flap lever Code: Qh389 Name: FlapLever Mode: ECON Range: 0 .. 6 Add-ons can: Read & write Description: Flap lever angles or resolver pot angles are not used in the network. Instead, flap lever positions are used, ranging from 0 to 6. For example, when the add-on injects 6, Precision Simulator's flap lever will smoothly ride to the flap 30 notch. The lever animation never stops between the notches. 0 : UP 1 : Flaps 1 2 : Flaps 5 3 : Flaps 10 4 : Flaps 20 5 : Flaps 25 6 : Flaps 30 <<< >>> Commanding a CDU to display its MENU page Code: Qi230 Name: SelCduMenu Mode: DELTA Range: 0 .. 7 Add-ons can: Write only Description: This Qi is useful for add-ons that are subsystems of a CDU. Using this Qi, the add-on can command a CDU to return to its MENU page; for example, when an active subsystem just wants to inhibit the access to itself, without disconnecting from the server. The injected value may consist of three bits: bit 0001 : Command CDU L to display its MENU page bit 0002 : Command CDU R to display its MENU page bit 0004 : Command CDU C to display its MENU page <<< >>> Simulated earth time Code: Qs123 Name: TimeEarth Mode: ECON Length: 1 .. 21 Add-ons can: Read & write Example: 1496530534364 Description: The string contains just one 64 bit integer (therefore it is not stored as a Qi which is for 32 bit only). The variable stores the milliseconds passed since 1 JAN 1970, 00:00 UTC. Year, month etc. can be derived by using a Calendar class in the respective programming language. The value refers to the astromonical position and rotation angle of the simulated earth and influences the simulation of the daylight intensity, the weather, the GPS satellite times, and the date display of the simulated inactive nav database on the FMC IDENT page. The value also sets the time sliders on Instructor > Situation > Time. (The earth time is independent of the pilot clocks, but -- vice versa -- when the sliders are moved by the mouse, the sliders also set the pilot clocks.) <<< >>> Pilot clocks left and right Code: Qs124, Qs125 Name: TimeClockL, TimeClockR Mode: ECON Length: 1 .. 21 Add-ons can: Read & write Example: 1496530534364 Description: The string contains just one 64 bit integer (therefore it is not stored as a Qi which is for 32 bit only). The variable stores the milliseconds passed since 1 JAN 1970, 00:00 UTC. Year, month etc. can be derived by using a Calendar class in the respective programming language. When the respective clock electronics are unpowered, the value 788918400000 is sent which corresponds to 1 January 1995. <<< >>> Elapsed time counters and chronographs integrated in left and right pilot clocks Code: Qs126, Qs127, Qs128, Qs129 Name: ElapMillisL, ElapMillisR, ChroMillisL, ChroMillisR Mode: ECON Length: 1 .. 21 Add-ons can: Read & write Example: 4266534 Description: The string contains just one 64 bit integer (therefore it is not stored as a Qi which is for 32 bit only). The variable stores the milliseconds passed since the respective counter has been started. <<< >>> Stick shaker Code: Qi237 Name: StickShake Mode: XECON Length: 0 .. 3 Add-ons can: Read & write Description: The value indicates which stick shaker is running: 0 : Both stick shakers are stopped 1 : Left stick shaker is running 2 : Right stick shaker is running 3 : Both stick shakers are running <<< >>> Hydraulic brake pressure accumulator indicator Code: Qi239 Name: HydBrakeAccuInd Mode: XECON Length: 0 .. 4000 Add-ons can: Read only Description: This is the pressure the indicator needle points at. When the indicator is unpowered, the needle moves to zero even if the accumulator is pressurized. <<< >>> Circuit breaker panel sections on panel P7 Code: Qs4 .. Qs21 Name: P71A .. P72J Mode: ECON Length: 13 .. 13 Add-ons can: Read & write Example: yxxxxnnnnRxnx Description: Each character refers to a CB. There are 13 CBs from left to right on the respective P7 section. x : No CB installed n : CB without a collar, pushed IN N : CB without a collar, pulled OUT y : CB with a yellow collar, pushed IN Y : CB with a yellow collar, pulled OUT b : CB with a blue collar, pushed IN B : CB with a blue collar, pulled OUT R : CB with a red security ring, pulled OUT (cannot be pushed in) Note that CB panel layouts are aircraft specific. <<< >>> Circuit breaker panel sections on panels P6-1 through P6-4 Code: Qs22 .. Qs57 Name: P61C .. P64L Mode: ECON Length: 9 .. 9 Add-ons can: Read & write Example: nnnyxxxnn Description: Each character refers to a CB. There are 9 CBs on the respective, upper P6 section. x : No CB installed n : CB without a collar, pushed IN N : CB without a collar, pulled OUT y : CB with a yellow collar, pushed IN Y : CB with a yellow collar, pulled OUT b : CB with a blue collar, pushed IN B : CB with a blue collar, pulled OUT R : CB with a red security ring, pulled OUT (cannot be pushed in) Note that CB panel layouts are aircraft specific. <<< >>> Circuit breaker panel sections on panels P6-5 and P6-6 Code: Qs58 .. Qs61 Name: P65A .. P66B Mode: ECON Length: 18 .. 18 Add-ons can: Read & write Example: xnxxnnnnnnnxxnxxnn Description: Each character refers to a CB. There are 18 CBs on the respective, lower P6 section. x : No CB installed n : CB without a collar, pushed IN N : CB without a collar, pulled OUT y : CB with a yellow collar, pushed IN Y : CB with a yellow collar, pulled OUT b : CB with a blue collar, pushed IN B : CB with a blue collar, pulled OUT R : CB with a red security ring, pulled OUT (cannot be pushed in) Note that CB panel layouts are aircraft specific. <<< >>> Physical status of air conditioning devices Code: Qi241 Name: AirconSources Mode: XECON Range: 0 .. 127 Add-ons can: Read only Description: The value is a bitmask: bit 0001 : Pack 1 is operating bit 0002 : Pack 2 is operating bit 0004 : Pack 3 is operating bit 0008 : Recirculation fan lower left is running bit 0016 : Recirculation fan lower right is running bit 0032 : Recirculation fan upper left is running bit 0064 : Recirculation fan upper right is running <<< >>> WXR - weather radar panel pushbuttons Code: Qs104 Name: WxRdrPanelPush Mode: ECON Length: 13 .. 13 Add-ons can: Read & write Example: FWTmGareFWTmG Description: Each character in the string from left to right indicates the "pushed"-status of a certain button. Lower case means "pushed". The order from left to right: 1 : TFR captain 2 : WX captain 3 : WX+T captain 4 : MAP captain 5 : GC captain 6 : AUTO 7 : L/R 8 : TEST 9 : TFR F/O 10 : WX F/O 11 : WX+T F/O 12 : MAP F/O 13 : GC F/O <<< >>> WXR - weather radar panel rotary selectors Code: Qs105 Name: WxRdrPanelTurn Mode: ECON Length: 7 .. 15 Add-ons can: Read & write Example: 4713;3;2197;0 Description: The string stores the position values of the two gain rotary selectors and the two tilt potentiometers. All values are separated by semicolons. There must be no semicolon at the end. All values are integer values. The string sequence from left to right: 1 : Tilt captain (range 0 .. 4713) 2 : Gain captain (range -6 .. 3) 3 : Tilt F/O (range 0 .. 4713) 4 : Gain F/O (range -6 .. 3) <<< >>> Active runway predicted by EGPWS Code: Qs444 Name: ActRwy Mode: ECON Length: 11 .. 200 Add-ons can: Read only Example: 6;0.9126175;0.082681336;-11;-4;5785;EHAM;820; Description: This data refers to the runway the EGPWS calculates to be the active runway. The EGPWS is not linked with the FMC. The EGPWS uses its own runway database and a special algorithm to determine the anticipated runway. The calculation is based on aircraft track, aircraft distance to surrounding database runways, aircraft altitude etc. The EGPWS then uses the detected runway location for certain, additional terrain clearance functions and alerts. The data may be useful for some add-ons as well. The sequence of the parameters from left to right: 1 : Runway identfier, e.g. 6, 18, 18R, 9L 2 : Landing threshold latitude radians (32 bit float, negative=south) 3 : Landing threshold longitude radians (32 bit float, negative=west) 4 : Landing threshold elevation in feet (32 bit integer) 5 : Runway slope in degrees x 1000 (32 bit integer, negative=downhill) 6 : Runway heading in degrees x 100 referring to true North (32 bit integer) 7 : Airport ICAO code 8 : Takeoff threshold threshold displacement in feet (32 bit integer) <<< >>> Weather data injection slow transit command Code: Qi243 Name: WxSlowTransit Mode: XDELTA Range: 0 .. 9999 Add-ons can: Write only Description: When a new METAR text is injected, the simulation will slowly transit the old weather values to the new values. This slow transit is not automatically applied when data is injected without using a METAR text (e.g. when injecting microburst parameters or tropopause data). Add-ons can force a slow transit by sending a Qi243 value shortly before injecting new weather data. Qi243 is a timeout function in milliseconds. E.g. when sending Qi243=2000 the simulation will force a slow transit for all weather data that are being injected within the next 2 seconds. This timeout value is not the transit time itself. E.g. if a new barometric pressure has been injected before the 2 second timeout has passed: After the timeout the pressure transit in the simulation remains slow (may take several minutes). <<< >>> D-ATIS request and reply Code: Qs485 Name: AcarsAtis Mode: XDELTA Length: 4 .. 500 Add-ons can: Read & write Example: VHHH Description: This is a special service for add-ons. Inject one airport ICAO code. After some seconds the simulation will send a D-ATIS text for that airport based on the current weather simulation mode (real-world weather from the Internet or user defined weather). <<< >>> ETA at destination in active FMC route Code: Qi247 Name: ActDestEta Mode: XECON Range: -1 .. 2359 Add-ons can: Read only Description: Indicates the FMC computed estimated time of arrival at the destination airport. If -1 is sent, ETA data is not available; else if the integer consists of less than 4 digits, add leading zeros to it until the 4-digit HHMM format is complete. <<< >>> Electrical power status of some specific devices Code: Qi246 Name: PowerBits Mode: XECON Range: 0 .. 2147483647 Add-ons can: Read only Description: Qi246 is a bitmask indicating the power status of some devices that are not indicated elsewhere. It may be extended in the future; it currently provides the following bits: Bit 1 : Clock displays are powered (P6 H17) Bit 2 : Worktable light power is available (P6 F22) Bit 3 : Map & utility light power is available (P6 F23) Bit 4 : Standby RMI L is powered Bit 5 : Standby RMI R is powered Bit 6 : Rudder trim indicator is powered Bit 7 : Pilot seat L is powered Bit 8 : Pilot seat R is powered Bit 9 : EVAC light power is available (P6 G8) -- added in PSX 10.2 Bit 10 : MCP L is powered -- added in PSX 10.30 Bit 11 : MCP R is powered -- added in PSX 10.30 Bit 12 : PFD L is powered -- added in PSX 10.31 Bit 13 : ND L is powered -- added in PSX 10.31 Bit 14 : EICAS UPR is powered -- added in PSX 10.31 Bit 15 : EICAS LWR is powered -- added in PSX 10.31 Bit 16 : ND R is powered -- added in PSX 10.31 Bit 17 : PFD R is powered -- added in PSX 10.31 Bit 18 : ATC L is powered -- added in PSX 10.56 Bit 19 : ATC R is powered -- added in PSX 10.56 Bit 20 : CDU L is powered -- added in PSX 10.134 Bit 21 : CDU R is powered -- added in PSX 10.134 Bit 22 : CDU C is powered -- added in PSX 10.134 <<< >>> Printer status Code: Qi115 Name: PrinterStat Mode: ECON Range: 0 .. 7 Add-ons can: Read only Description: This is a bitmask indicating the status of the flight deck printer: Bit 1 : Powered Bit 2 : Feeding Bit 3 : Busy <<< >>> Touchdown data Code: Qs488 Name: Touchdown Mode: ECON Length: 21 .. 60 Add-ons can: Read only Example: 1iwu;0;0;-23;913;25;2;25;6; Description: Character 1 : Continuation digit; add-ons may ignore it. Character 2 : "S" when the nose wheel is scrubbing, else "i". Character 3 : "L" when the left wing is touching the ground, respectively "R" for right wing, "1" for pod 1, "4" for pod 4, and "w" when all is normal. Character 4 : "T" when the tail is touching the ground, else "u". The remaining variables after the first semicolon are integers separated by semicolons. There is always a semicolon at the end. The sequence is: 1 : Nose sinkrate. If negative, make it positive and interprete it as a nose fuselage strike; else interprete it as a nose gear touchdown. Whenever the value changes from zero to non-zero, a ground contact has occured. 2 : Main sinkrate. If negative, make it positive and interprete it as a belly landing; else interprete it as a main gear touchdown. Whenever the value changes from zero to non-zero, a ground contact has occured. 3 : Runway centerline abeam offset in feet. Negative if left. 9999 if invalid data. 4 : Along-centerline distance from threshold in feet. Negative if before threshold. Reads 99999 if invalid. 5 : Pitch x 10 in degrees. Negative if nose down. 6 : Bank x 10 in degrees. Negative if left bank. 7 : Crab x 10 in degrees. Negative if left crab. 8 : Speed bug deviation in knots, recorded when descending through 25 ft AGL. <<< >>> True spoiler surface positions Code: Qs479 Name: SurfSpoilers Mode: DEMAND Length: 22 Add-ons can: Read only Example: 0000424227132742420000 Description: The output service for this variable can be activated by sending the message "demand=Qs479" to the server. One demand message is sufficient; the service will remain active until the demander disconnects from the network. If an add-on does not require this service, the add-on should not demand it (relieve the network). The server will send data whenever any spoiler surface position has changed, but at an update rate not higher than 10 Hz. The string incorporates 11 integer values, indicating the true (EICAS independent) spoiler surface angles in degrees. A value is never negative, and it always consists of a 2-digit pair, hence it may contain a leading zero. The pairs from left to right are: 1 : Spoiler No. 1 2 : Spoiler No. 2 3 : Spoiler No. 3 4 : Spoiler No. 4 5 : Spoiler No. 5 6 : Spoiler No. 6 and 7 7 : Spoiler No. 8 8 : Spoiler No. 9 9 : Spoiler No. 10 10 : Spoiler No. 11 11 : Spoiler No. 12 <<< >>> True aileron, elevator, and rudder surface positions Code: Qs480 Name: SurfAilEleRud Mode: DEMAND Length: 20 Add-ons can: Read only Example: 15221815151717153232 Description: The output service for this variable can be activated by sending the message "demand=Qs480" to the server. One demand message is sufficient; the service will remain active until the demander disconnects from the network. If an add-on does not require this service, the add-on should not demand it (relieve the network). The server will send data whenever any aileron, elevator, or rudder surface position has changed, but at an update rate not higher than 10 Hz. The string incorporates 10 integer values, indicating true (EICAS independent) surface position angles in degrees. A value is never negative, and it always consists of a 2-digit pair, hence it may contain a leading zero. The pairs from left to right are: 1 : Aileron outboard left (neutral at 15) 2 : Aileron inboard left (neutral at 20) 3 : Aileron inboard right (neutral at 20) 4 : Aileron outboard right (neutral at 15) 5 : Elevator outboard left (neutral at 15) 6 : Elevator inboard left (neutral at 17) 7 : Elevator inboard right (neutral at 17) 8 : Elevator outboard right (neutral at 15) 9 : Rudder upper (neutral at 32) 10 : Rudder lower (neutral at 32) <<< >>> Flame out/on status and N1 RPM % Code: Qs481 Name: EngFlameN1 Mode: DEMAND Length: 12 .. 24 Add-ons can: Read only Example: LLxL987;983;27;986; Description: The output service for this variable can be activated by sending the message "demand=Qs481" to the server. One demand message is sufficient; the service will remain active until the demander disconnects from the network. If an add-on does not require this service, the add-on should not demand it (relieve the network). The server will send data whenever any parameter has changed, but at an update rate not higher than 0.3 Hz. The string includes the following values from left to right: 1. character : Engine 1 flame status (x=out, L=on) 2. character : Engine 2 flame status (x=out, L=on) 3. character : Engine 3 flame status (x=out, L=on) 4. character : Engine 4 flame status (x=out, L=on) The remaining string includes N1% x 10 (integer) for engine 1, 2, 3, and 4, separated by semicolons. <<< >>> Miscellaneous engine parameters Code: Qs482 Name: EngParam Mode: DEMAND Length: 50 .. 300 Add-ons can: Read only Example: 973;1055;1055;1055;1055;0;0;0;0;680;... etc. Description: The output service for this variable can be activated by sending the message "demand=Qs482" to the server. One demand message is sufficient; the service will remain active until the demander disconnects from the network. If an add-on does not require this service, the add-on should not demand it (relieve the network). The server will send data whenever any parameter has changed, but at an update rate not higher than 0.3 Hz. The string includes the following integers from left to right, all separated by semicolons: 1 : FMC thrust limit reference 2 : Engine 1 command EPR (on GE: command N1) 3 : Engine 2 command EPR (on GE: command N1) 4 : Engine 3 command EPR (on GE: command N1) 5 : Engine 4 command EPR (on GE: command N1) 6 : Engine 1 EPR (on GE: 0) 7 : Engine 2 EPR (on GE: 0) 8 : Engine 3 EPR (on GE: 0) 9 : Engine 4 EPR (on GE: 0) 10 : Engine 1 EGT 11 : Engine 2 EGT 12 : Engine 3 EGT 13 : Engine 4 EGT 14 : Engine 1 N2 (on RR: N3) 15 : Engine 2 N2 (on RR: N3) 16 : Engine 3 N2 (on RR: N3) 17 : Engine 4 N2 (on RR: N3) 18 : Engine 1 FF (always in kg/h) 19 : Engine 2 FF (always in kg/h) 20 : Engine 3 FF (always in kg/h) 21 : Engine 4 FF (always in kg/h) 22 : Engine 1 oil pressure 23 : Engine 2 oil pressure 24 : Engine 3 oil pressure 25 : Engine 4 oil pressure 26 : Engine 1 oil temperature 27 : Engine 2 oil temperature 28 : Engine 3 oil temperature 29 : Engine 4 oil temperature 30 : Engine 1 oil quantity 31 : Engine 2 oil quantity 32 : Engine 3 oil quantity 33 : Engine 4 oil quantity 34 : Engine 1 highest vibration 35 : Engine 2 highest vibration 36 : Engine 3 highest vibration 37 : Engine 4 highest vibration <<< >>> Miscellaneous flight data Code: Qs483 Name: MiscFltData Mode: DEMAND Length: 12 .. 300 Add-ons can: Read only Example: 315;-71;-40;309;10;-14; Description: The output service for this variable can be activated by sending the message "demand=Qs483" to the server. One demand message is sufficient; the service will remain active until the demander disconnects from the network. If an add-on does not require this service, the add-on should not demand it (relieve the network). The server will send data whenever any related value has changed, but at an update rate not higher than 0.3 Hz 1 Hz. The string includes the following integers from left to right, all separated by semicolons: 1 : Physical IAS x 10 (avionic independent) 2 : Physical OAT x 10 (avionic independent) 3 : Physical TAT x 10 (avionic independent) 4 : Computed wind direction (captain's selected ADC/IRU) 5 : Computed wind speed (captain's selected ADC/IRU) 6 : Magnetic variation x 10 <<< >>> Standby RMI data Code: Qs491, Qs492 Name: RmiL, RmiR Mode: DEMAND Length: 8 .. 17 Add-ons can: Read only Example: hrg3590;9000;2700 Description: The output service for this variable can be activated by sending the message "demand=Qs491" for the captain's RMI, or "demand=Qs492" for the F/O's RMI. One demand message is sufficient; the service will remain active until the demander disconnects from the network. If an add-on does not require this service, the add-on should not demand it (relieve the network). The server will send data whenever any parameter has changed, but at an update rate not higher than 2.5 Hz. The string includes the following values from left to right: 1. character : HDG failure flag status (H=visible, h=hidden) 2. character : Red needle failure flag status (R=visible, r=hidden) 3. character : Green needle failure flag status (G=visible, g=hidden) After 3. character to 1. semicolon : Compass rose angle in degrees x 10 After 1. semicolon to 2. semicolon : Red needle angle in degrees x 10 After 2. semicolon to end of string : Green needle angle in degrees x 10 <<< >>> Ground speed Code: Qi271 Name: GroundSpeed Mode: DEMAND Length: 0 .. 99999 Add-ons can: Read only Description: The output service for this variable can be activated by sending the message "demand=Qi271" to the server. One demand message is sufficient; the service will remain active until the demander disconnects from the network. If an add-on does not require this service, the add-on should not demand it (relieve the network). The server will send data whenever the ground speed has changed by 1 knot, but at an update rate not higher than 1 Hz. The data contains the rounded, true ground speed in knots and does not include any avionic effects or malfunctions. <<< >>> Baro altitude and STD altitude shown on captain's PFD Code: Qs562 Name: LeftPfdAlt Mode: DEMAND Length: 5 .. 15 Add-ons can: Read only Example: s20000;19999; Description: The output service for this variable can be activated by sending the message "demand=Qs562" to the server. One demand message is sufficient; the service will remain active until the demander disconnects from the network. If an add-on does not require this service, the add-on should not demand it (relieve the network). The server will send data whenever any related value has changed, but at an update rate not higher than 1 Hz. The string contains from left to right: 1 : The first letter indicates the captain's baro mode: b = QNH, s = STD 2 : The value before the first semicolon indicates the rounded QNH altitude in feet referring to the captain's QNH setting which may be preset (on PFD in small font or hidden) or active (on PFD in large font) 3 : The value after the first semicolon and before the second semicolon indicates the rounded pressure altitude in feet referring to 1013.25 hPa When the first letter is "b", the PFD is indicating the QNH altitude, else the pressure altitude. But the string always shows both values. Note that even in ISA conditions both values will disagree by circa 3 feet; this is because the QNH selector sets 1013.00 (rounded) while the STD mode sets 1013.25 (exact ISA value). <<< - end of file (further descriptions on request) -