On Thu, Sep 30, 2004 at 04:30:09PM +0200, Boris Koenig wrote:
> So, this is also a Tcl/Tk app ?

Everything on the site is pure Tcl/Tk, except for the odd .dll such as for
the GoFlight panel driver -- those are in C. I stay away from C if possible,
especially under Windows, as it reduces my productivity about 1000 times
while not offering any advantage (to me -- I am not developing rendering
engines!). The site itself is mostly PHP with some Tcl backends. I actually
live and breath on Linux, at home and at work. But the PS1 world tends to be
Windows-based, so I got myself a cross-platform system. Tcl/Tk fitted the

> Why do you call a Boeing 744 CDU a "MCDU" - which is actually
> the name for a Airbus specific implementation of a CDU, even
> with a different layout/keypad ? :-)

Nope! (I consider myself knowledgable about the 744, not about anything
else). The original Boeing CDU comes from the 757/767 series, where it
uniquely interfaced with the FMC as far as I know. When Boeing did the major
upgrade to the 747 design that became the 747-400, the hardware had become
so much more powerful that they could put more functions onto the CDU, so
that it became the Multipurpose Control and Display Unit. It can interface
to the FMC, CMC, ACARS, SATCOM, and various other plane subsystems via a
menu selection. Additionally it serves as a simple route backup in case the
FMS goes belly-up. The 744 does not have fully self-sustained INS, it has
IRS which needs both the laser platforms /and/ the FMS for correct
operation. So Boeing (Honeywell) put a backup in the MCDUs. In the same
fashion, the MCDUs have modes to take over nearly all primary panel
functions, so as the MCP and the EFIS/EICAS controls in case they fail. And
the navigation radios can only be tuned manually via the MCDU. So really,
this thing is called a MCDU  :-)

Now you are right in the sense that my design does not do the backup stuff,
but it definitely can act like the real thing if you start the correct
modules somewhere on the network. It does not need to do the backup, as
PS1's MCDU is programmed for them already and the correct extra prompts
appear if your systems start failing (which they do!).

> I've had a quick look into http://www.hoppie.nl/mcdu/design.html
> Are there already any pre-made designs (logical implementations) ?

SB747 for a start puts the full ACARS there (see the manual of SB747, still
with the old MCDU design though -- but functionally equivalent). In total
about six programs use the MCDU for interfacing, most of them not written by
me. Since PS1 has an excellent FMS by itself, I am not aware of any separate
FMS which interfaces with the MCDU, but if you read the doc you will have
seen that it isn't difficult at all. Beats VT100  :-)

> Okay, I see - so you are basically feeding data from PS1
> into your (M)CDU for the backend (FMC/FMS) logics ?

At first, we did not have a MCDU "mode" which could parallel the PS1 MCDU,
so my MCDU was only used for ACARS and other things. Then Ivan Ngeow of
747IPC fame spent a night coding an OCR routine (!!) to read PS1's display
and since then, we fully support PS1's FMC mode on the MCDU. It parallels
the display and sends back the keystrokes if in FMC mode. This was about the
ugliest hack ever done, but as all good hacks, it is extremely solid and
very reliable. Actually the whole PS1 setup is very reliable, crashes are
confined to the MSFS external view system.


Flightgear-devel mailing list

Reply via email to