Broker keys used in communicating with 747IPC.
IPC.scratchpad [string | {string with spaces}]
| inserts the string into the FMC scratchpad.
the FMC keyboard *doesn't* need to be switched on.
maximum length is 23 characters.
|
IPC.fmckeyb [0/1]
| switches on/off the FMC keyboard
|
IPC.keypress {1 xxxx}
| where xxxx = keycode. See keycodes.txt.
|
IPC.pushsw {xx yy}
| where xx = keycode, yy = action. See pushsw.h.
|
IPC.poke {xx dd dd}
| where xxxx is the offset in PS1's data segment of the variable to be poked, in hexadecimal only;
yy is the data to be poked, in decimal;
zz is the size of the data in bytes, decimal.
|
IPC.pokeSust {xx dd dd}
| arguments as above, however 747IPC's behaviour is different. The data will be repeatedly poked at up to 20 Hz, until a cancellation order is received. This takes the form
"IPC.pokeSust {xxxx 0 0}"
where xxxx must be the same value as the previous start order.
Note that you can have up to 8 addresses in the IPC.pokeSust list at any time. You must individually cancel each address that was previously added to the list, as detailed above.
|
IPC.pokeN1 {aa bb cc dd}
| where the 4 arguments are in decimal and represent the "target N1 equivalent"
in percentage units x 10.
eg on the GE-engine configs,
"IPC.pokeN1 {500 500 500 500}"
will set 50.0% N1 on all 4 engines.
On non-GE types, the actual N1 may not be 50.0% but it should be true that
any given value will always correspond to the same thrust lever position in PS1.
|
Output keys:
IPC.latdeg [integer]
- latitude degrees, minus = south
IPC.latmin [integer]
- latitude minutes * 100000, minus = south
IPC.londeg [integer]
- longitude degrees minus = west
IPC.lonmin [integer]
- longitude degrees * 100000, minus = west
IPC.pitch [floating point, rouded to 0.01]
- pitch, minus = down
IPC.bank [floating point, rouded to 0.01]
- bank, minus = left wing down
IPC.talt [floating point, rouded to 0.1]
- true altitude, minus = you are probably a submarine captain :)
IPC.thdg [floating point, rouded to 0.01]
- true heading
IPC.var [integer]
- magnetic variation in airplane vicinity
IPC.elev [integer]
- elevation in airplane vicinity
IPC.mcpalt [integer]
- MCP altitude
IPC.mcpim [integer]
- MCP IAS/MACH window
- it contains the FMC commanded speed when the MCP IAS/MACH window is blank
IPC.mcphdg [integer]
- MCP heading
IPC.ias
- actual IAS
IPC.mcpvs [integer]
- MCP V/S
IPC.vs [floating point, rounded to 0.01]
- IRS V/S
- slightly inaccurate if PS1's frame rate is not 18.2Hz
IPC.dias [floating point, rounded to 0.01]
- PFD IAS
IPC.dalt [floating point, rounded to 0.1]
- PFD altitude
IPC.lspd [boolean, 0/1]
- MCP SPD bar (not) illuminated
IPC.llnav [boolean, 0/1]
- MCP LNAV bar (not) illuminated
IPC.lvnav [boolean, 0/1]
- MCP VNAV bar (not) illuminated
IPC.lflch [boolean, 0/1]
- MCP FLCH bar (not) illuminated
IPC.lhdgh [boolean, 0/1]
- MCP HDG HOLD bar (not) illuminated
IPC.lvs [boolean, 0/1]
- MCP V/S bar (not) illuminated
IPC.lalth [boolean, 0/1]
- MCP ALT HOLD bar (not) illuminated
IPC.lloc [boolean, 0/1]
- MCP LOC bar (not) illuminated
IPC.lapp [boolean, 0/1]
- MCP APP bar (not) illuminated
IPC.baro
IPC.mag
IPC.grid
IPC.warning
IPC.caution