Alright, first of all, I've been developing a new cockpit and new systems (atm, finished hydraulics, heating, pneumatics and fuels systems < I mean it, you better start turning on equipment cooling if you don't want your hyd or fuel pumps to overheat and fault) and I just completed a new CDU for the aircraft. I'm not really that good with nasal but I used all I know to make it and it's really quite functional.
I'll have to take a break from FlightGear to study for finals (starting in a week! ) so I though I could leave the CDU to anyone interested in using it... As for the 787, I'll continue it later. (look at the bottom for a pic)
CDU
I'm just uploading the nasal file, so you'll have to make the model yourself. If you don't know how to display 3D text, take a look at some examples from the OSGText folder in the 747-400, or wait for the new 787
DOWNLOAD : http://www.mediafire.com/?0cn50qn7z1ueg3v
This CDU is really simple but also really functional, all the buttons on it take you somewhere / do something. You start up with the IDENT page which just shows you the aircraft, the engines and callsign. Then it has a button/menu to the INDEX.
Note that you have to change the aircraft and engines from the nasal file, search for 787 and RR Trent_1000 in the file and change them.
In the Index page, you have menu links to IDENT, RADIOS, DEP / ARR, ROUTE, TAKEOFF and APPROACH. (Just this for now, I'll update this when I add more)
RADIOS
This page shows all your radio frequencies. Typing the frequency on the keypad and pressing on where you want it to be (only Standby) replaces that value with what you just typed. To swap active and standby, press the active frequency.
DEP / ARR
You can type in your departure airport, runway, destination, runway and flight number here. There's a 'FLIGHT LOG' in the menu here and pressing it will take you to the flight log page. There's also a 'ROUTE' menu here which takes you to the route page and every page has an 'INDEX' menu so you can go back.
FLIGHT LOG
This would be especially good for VA pilots, you can track your fuel consumed and flight time here, and there's also a START / RESET menu to reset the log for a new flight.
TAKE OFF and APPROACH
These pages aren't really complete, atm they just show some values I defined. I'll replace them with formulas to calculate the values by itself, but I'll have to make that computer in the EFB anyway, so I'll just write this script in the EFB and write it into a prop which the CDU calls.
ROUTE
So far, this is the like the most awesome thing in this CDU...
You can enter waypoints (add to the end by clicking on the EXEC/ENTER button on the keypad, insert waypoints by typing them and pressing on the waypoint you want to insert them above, REMOVE waypoints by pressing REMOVE and selecting the WP to remove, CLEAR the route, ACTIVATE the route and JUMP TO a certain waypoint by pressing JUMP TO (only visible when the route is active) and the wp to jump to...
The advantage of this route display over the old CDU's is the ability to display routes in multiple pages, not just the last waypoints. When you exceed 4 waypoints, a new route page is created and a next button appears. If you go to that page, a back button appears for you to come back too. This allows you to edit ALL the waypoints.
Oh, and there's also a marker to show the current waypoint, which you can change using the JUMP TO function.
Aaaand, you can also set VNAV altitudes for each waypoint by either entering the alt and pressing on the right side button (next to the wp) or adding the WP like eg. 'KSFO@3500'.
The 787 will feature a completely functional automatic VNAV to give this feature some company.
> shows active waypoint
The current implementation of this is in a "software CDU", the 787's CDU that appears on the MFDs, so the keypad is touchscreen and so are the menu items, but you can easily implement this for a "hardware CDU" by asking the pick functions in the model as follows :
MENU (l1 to l7 and r1 to r7)
NUMPAD (cdu0 to cdu9, cdu. and cdu@)
ALPHAPAD (a to z, clr, del and exec)
Set these values to the '/controls/cdu/keypress' property.
And, I know this one doesn't have any meny buttons (above the keypad) but it's really easy to add them, model them and ask their pick animations to set the '/controls/cdu/display/page' prop to the pages defined in the nasal file.
Enjoy
P.S. An idea of what's coming up for the new 787 cockpit
All models were created by me in ac3d and textures with GIMP and the amazing A/O baker in blender.
EDIT : Almost forgot this...
The following are the display props to be used with OSGText or whatever method you're using to create your CDU screen.
Page Name : /controls/cdu/display/page
Input Field : /controls/cdu/input
Menu Items
L1 LABEL : /controls/cdu/display/l1-label
L1 VALUE : /controls/cdu/display/l1
L2 LABEL : /controls/cdu/display/l2-label
L2 VALUE : /controls/cdu/display/l2
L3 LABEL : /controls/cdu/display/l3-label
L3 VALUE : /controls/cdu/display/l3
L4 LABEL : /controls/cdu/display/l4-label
L4 VALUE : /controls/cdu/display/l4
L5 LABEL : /controls/cdu/display/l5-label
L5 VALUE : /controls/cdu/display/l5
L6 LABEL : /controls/cdu/display/l6-label
L6 VALUE : /controls/cdu/display/l6
L7 LABEL : /controls/cdu/display/l7-label
L7 VALUE : /controls/cdu/display/l7
R1 LABEL : /controls/cdu/display/r1-label
R1 VALUE : /controls/cdu/display/r1
R2 LABEL : /controls/cdu/display/r2-label
R2 VALUE : /controls/cdu/display/r2
R3 LABEL : /controls/cdu/display/r3-label
R3 VALUE : /controls/cdu/display/r3
R4 LABEL : /controls/cdu/display/r4-label
R4 VALUE : /controls/cdu/display/r4
R5 LABEL : /controls/cdu/display/r5-label
R5 VALUE : /controls/cdu/display/r5
R6 LABEL : /controls/cdu/display/r6-label
R6 VALUE : /controls/cdu/display/r6
R7 LABEL : /controls/cdu/display/r7-label
R7 VALUE : /controls/cdu/display/r7