# External MFDs for Orbiter

#### Urwumpe

##### Not funny anymore
Addon Developer
Donator
I wonder if it would be possible to turn an Raspberry Pi into an MFD client.... it is just a bit problematic finding a proper LCD display quickly to turn this into a single MFD package.

#### kamaz

##### Unicorn hunter
Addon Developer
Hey guys!
First off, I wanna thank kamaz for his great job!
I've been starting to thing about a simpit so I took your scheme as a start point:

I have a few questions about external mfd's
1) I'm a noob in programming and orbiter addon developing :facepalm:, so I wanna ask you is there a readme file some sort with step-by-step instructions how properly create external mfd's using VNCMFD (now I create external ones via ExtMFD) and how to send them via wi-fi on my tablet?
2) Do I need a wi-fi dongle on my master PC if it's hooked to the internet router via LAN cable and all wi-fi devices wireless contented to this router? (see diagram in the attachment section)

Some words about my Orbiter setup (all these items are installed and all modules are enabled):
Orbiter 2010 [100830] with Orbiter sound;
OrbConnect-3.19;
Permanent ExtMFD;
VNCMFD-rev36.

Very appreciate any help!
Cheers!

Ad. 1.
- install and enable vncmfd
- start orbiter
- make sure that your firewall is not blocking connections from tablet to VNC ports (first MFD is 5900, second 5901 etc.)
- on tablet install android-vnc-viewer via google play
- run it, enter the ip address of the computer running orbiter and port number (see above) press connect
- after you have that running edit vncmfd.ini to customize your setup (change panel layout, add and remove mfds etc.)

Ad. 2. No need for extra dongles the tablets and pc just need to be connected somehow.

Last edited:

#### Phil Smith

##### Donator
Donator
Dziękuję bardzo!))
I tried it with my Samsung Galaxy phone and Asus 8" tablet - it works great!
One more question - when I start the Orbiter there are 2 mfd's by default with 5900 and 5901 ports respectively - so how can I create more mfd's (5902, 5903, etc) for example for 4 or 6 mfd setup?

PS now waiting for my Thrustmaster cougar mfds and Saitek x52 pro joystic

#### Attachments

• DSC04738.JPG
315.9 KB · Views: 94

#### kamaz

##### Unicorn hunter
Addon Developer
Dziękuję bardzo!))
I tried it with my Samsung Galaxy phone and Asus 8" tablet - it works great!
One more question - when I start the Orbiter there are 2 mfd's by default with 5900 and 5901 ports respectively - so how can I create more mfd's (5902, 5903, etc) for example for 4 or 6 mfd setup?

By adding more [MFD] stanzas to VNCMFD.ini, i.e.:

[MFD3]
VNCPort = 5902
XSize = 560
YSize = 480
LeftButtons = 6
RightButtons = 6
ScreenX = 80
ScreenY = 0
ScreenWidth = 400
ScreenHeight = 400
UpdateFrequency = 9

Change the bolded parts for each display.

Or, if you want to use a layout which is more friendly for Cougars, paste this (changing the bolded parts):

; This is a layout for the Thrustmaster Cougar MFD frame
[MFD3]
UpdateFrequency = 9
VNCPort = 5902
XSize = 560
YSize = 480
LeftButtons = 5
RightButtons = 5
ScreenX = 20
ScreenY = 0
ScreenWidth = 520
ScreenHeight = 440
ButtonDefaultWidth = 20
Button5X = 540
Button6X = 540
Button7X = 540
Button8X = 540
Button9X = 540

; PWR
Button100Disable=1

; HZ
Button103Height=40
Button103Width=80
Button103Y=440
Button103X=60

; SEL
Button101Height=40
Button101Width=80
Button101Y=440
Button101X=150

; MNU
Button102Height=40
Button102Width=80
Button102Y=440
Button102X=240

Format of VNCMFD.ini is documented in comments inside the file. If you have questions, just ask.

NB You should set XSize and YSize to the physical resolution of the tablet display, and set ScreenWidth and ScreenHeight accordingly. My examples use XSize=560 and YSize=480, because it is for a tablet with an 800x480 display.

Handling of Cougars is done using [Joy] stanzas -- again, adjust the bolded parts as needed:

[Joy1]
Joystick=F16 MFD 1
Panel=MFD1
Button19=0
Button18=1
Button17=2
Button16=3
Button15=4
Button5=5
Button6=6
Button7=7
Button8=8
Button9=9
Button10=11
Button11=10
Button12=102
Button13=101
Button14=103

This will cause the events from joystick F16 MFD 1 (i.e. the first Cougar frame) to be routed to the MFD defined in stanza [MFD1]. The button mapping matches the panel layout used by the previous example.

Last edited:

#### Phil Smith

##### Donator
Donator
Roger understand! Thank you!

Last edited:

#### Martijn

##### New member
Hello,

I have a question/problem about/with VNCMFD.

The thing is that when i press 'connect' in VNC- viewer, on my Android tablet, after i entered the IP-adress(and portnumber) of the computer running Orbiter, i get the message 'the connection attempted timed out'. Also: in the VNCMFD.log - file no connection attempt is mentioned, nothing is mentioned at all. So it looks like there is no connection activity whatsoever.

I put the VNCMFD.dll- file in the Orbiter/Modules/Plugin- folder and enabled it in the Launchpad. The Orbiter.log- file tells me that the module is running with Orbiter ('Module WebMFD.dll ............ [Build 120620, API 100830]').
I also created a new 'Rule' in Windows Firewall(Windows 8.1 64 bit) to be sure that the the ports VNC uses are not blocked.
I also can easily make a remote desktop connection.

Can someone tell me why the connection fails?

Martijn.

#### kamaz

##### Unicorn hunter
Addon Developer
Honestly, looks like a firewall problem. If the VNC server was not running, you'd be getting a "Connection refused" message.

Does your antivirus have firewall functionality and have you added exception in there?

#### sitha241

##### Member
Hi Kamaz could you sent me that beta version to test?tnx for this!

Addon Developer
Check your PM

Tnx

#### mtwomey

##### Addon Developer
Addon Developer
Thanks for the great work kamaz, may I also test the newer beta version?

Addon Developer
Check you PM.

#### kamaz

##### Unicorn hunter
Addon Developer
Genius panel design:

...basically posting as a note to myself for the next release

#### TachyonDriver

##### Donator
Donator
That's the I.C.E sorted then: In Capsule Entertainment system

#### ZXS2000

##### Donator
Donator
RASBERRY PI

Start by saying great work Kamaz on the external MFD work you've been doing for the past few years. I got my simpit avionics sorted out with a few MIMO monitors and an old laptop as the MFD controller. Boxed them all up together whilst I started on building the simpit, unfortunatley I got distracted building a new house...in the meanwhilst I purchased a 3D Printer and also they brought out those Rasberry PI thingi's and as a result I'm feeling like it might be worth re-configuring the avionics... my questions are...

1. Have you tried these MDF modules in the new orbiter2015 beta yet?
2. Anyone tried these with touch screens running off a rasberry Pi yet?

#### kamaz

##### Unicorn hunter
Addon Developer
1. Have you tried these MDF modules in the new orbiter2015 beta yet?

The version posted in this thread should work with 2015 (feel free to try it). The version which I distribute as a closed beta (because I still don't have time to finish it) must be adapted to 2015 because it does runtime patching of the core.

BTW, if you want the beta send me a PM.

2. Anyone tried these with touch screens running off a rasberry Pi yet?

I have thought about it an concluded that it makes no sense economy-wise.

A 7" tablet is perfectly capable of working as an MFD display and costs about $50. A 7" touch screen for Raspi costs$50 by itself, plus another \$50 for the Raspi itself. So you place 2x as much per screen and are left with device which has not too many alternate applications. In contrast, repurposing or reselling a tablet is no problem.

My long term goal is to integrate VNCMFD with Orb::Connect::Web so you can see both MFDs and panels in a web browser. This will let you use practically anything in the simpit (laptops, tablets, phones, Raspis).

#### GodAtum

##### Member
All hail the Probe!

I have solved the dialog box problem. Here is an addon which allows you to enter the needed values through a network socket instead.

The reason I used a socket, is that (1) you cannot easily tell which MFD triggered the dialog box, so you don't know which client you should render the dialog box to; (2) I did not feel like writing a code which would render the dialog boxes to VNC framebuffer, (3) although VNC can take keyboard input, keyboard input on tablets is not very convenient and (4) by separating this functionality from VNCMFD, you can use it with another display solution (such as WebMFD).

But you can now write a "Mission Control" application which uses a VNC client component for displaying the MFD screen and pops up dialog boxes when it receives data from this add-on.

Usage description (short): install & enable the addon, use e.g. PuTTY to connect to port 31337 (TCP) and have fun

Thanks to:

- Martin Schweiger for Orbiter and for having no objections to this add-on

- cjp, who first reverse engineered the dialog code in Orbiter 2006 ( http://www.orbiter-forum.com/showthread.php?p=57223&postcount=55 ) and the published the FreeOrbit MFD, which made my disassembly efforts much easier

- Hex-Rays SA for the excellent IDA Pro disassembler / debugger, and providing the freeware version

- Microsoft Research for the excellent Detours Express library which I used for patching the orbiter core

- Microsoft for the excellent Visual Studio Express compiler

Readme file is below; the add-on (source & DLL) is atatched.

Thanks for making this. How do I use it? I tried connecting Putty to 127.0.0.1:31337 but it cannot make the connection.

#### kamaz

##### Unicorn hunter
Addon Developer
A dumb question, did you enable the module?

That said, it makes no sense to use this module now, as it has been integrated into beta VNCMFD... check your PM

#### GodAtum

##### Member
A dumb question, did you enable the module?

That said, it makes no sense to use this module now, as it has been integrated into beta VNCMFD... check your PM

Thanks for the beta link :thumbup:

I tired to connect to 127.0.0.1:5900 once I enabled it and loaded orbiter, but an error can up saying "Server refused connection". I am using VNC Viewer. The old VNCMFD connects fine however. I tried changing the .ini to a static port of 5900 and 5901 but no luck.

#### kamaz

##### Unicorn hunter
Addon Developer
Because the beta version starts the VNC servers dynamically on request.

You must use the client supplied with the beta (ORC for Windows or the android app). That also gives you dialog boxes on the MFD display device instead of on the main screen.