The MobiFlight Connector allows to read out and write data from and to your flight sim using the MobiFlight Modules and FSUIPC offsets.
The menu bar contains the following items
The configuration list on the output tab shows you all entries of the currently loaded file (see file name in title bar).
The config list items contain the following information:
The configuration list on the inputs tab shows you all entries of the currently loaded file (see file name in title bar) concerning input configuration.
The config list items contain the following information:
The settings dialog provides access to general and module specific configuration options.
You can access the settings dialogue via the main menu "Extras" > "Settings".
The following options can be configured on the general settings tab:
On the "Arcaze Modules"-Tab you can configure extension modules that you use on your aracze modules, like LED Driver v2 / v3 / v32 or Display Driver. If none is connected the Extension Type is called "InternalIO"
On the "MobiFlight Modules"-Tab you can configure your mobiflight boards. You can:
It is possible to adjust the pollin interval - this means the frequency with which the data is updated from and to FSUIPC. The value can be set in the range of 100ms to 500ms. The lower the value the more often data is updated. For servo motors it makes sense to have a lower value so that it runs smoother.
Until now I have not detected any noticable negative impact on the performance of the flight sim.
You can open the Config Wizard with the following actions:
You provide all FSUIPC relevant information on the FSUIPC-Tab:
Hint:
All information that is needed to properly configure a FSUIPC offset can be retrieved from the FSUIPC-SDK-Documentation:
Both PDFs are available in the freely available FSUIPC SDK and also normally ship with you FSUIPC installation files, see Peter Dowson's FSUIPC Website http://www.schiratti.com/dowson.html for up-to-date links.
The Comparison-Tab allows to define simple Comparison rules. By this you can change the value before using it for output. This is quite useful for a broad number of FSUIPC offset values.
Example: The indication of the Flaps Position - the output that drives the LED shall be 1 of the FSUIPC value is exactly 4096. In any other case it shall be 0 (off).
Hint: You can only define one comparison rule. It is not possible to define e.g. a lower and upper limit at the same time. You must use the powerful feature of "Preconditions" for this. With Preconditions you can combine an unlimited number of such conditions.
The following possibilites are availabe for the fields "set it to" and "else set it to":
The Display-Tab allows you to define how the current value is displayed. You specify whether a LED is used or a LED 7 Segment Module or any other supported ouput type. Every output device / type has it's own additional settings.
In the lower part of the tab page you can use the test mode function to verify that your display configuration makes sense. It triggers the same test function as if you run the Test Mode from the Main Window.
BCD4056 - This type is NOT really SUPPORTED:
You can define an unlimited number of precondition items and combine them logically with "AND" or "OR".
You can also adtivate and deactivate a precondition. Active preconditions are marked with a "tick"
When you select a precondition from the list, you can specify the details of the precondition.
Use type of - Defines the type of precondition
Changes must be always confirmed by hitting "Apply", otherwise they won't be saved.
The Input-Config-Wizard let's you to edit your configuration items for your input devices in a user friendly and convenient way by distributing different aspects of the configuration over different tabs.
This dialogue only is available for MobiFlight Devices. Arcaze users define the input functions with the Arcaze Config Tool.
You can open the Input Config Wizard with the following actions:
The precondition panel offers the same option as the panel of the Config Wizard for Outputs.
See this section for further details.
On the Input-Tab you configure the actions that shall happen when using a defined input device.
First you select the desired device by choosing the MobiFlight Board (module) and the configured input device from the respective drop down box.
Depending on the type you will see different Input settings options.
A button offers two options or say events.
You don't have to assign for both events individual actions but you can.
An encoder offers four options or say events.
You don't have to assign for every event individual actions but you can.
Once you have selected your input device you can specify a action type for one of it's events (see above for the different device types and there events).
The following action types exist currently:
You can set a value of an FSUIPC offset. The options are very similiar to the ones that are described in the section of the FSUIPC settings for the (Output) Config Wizard.
The only difference is, that you have the "value"-field where you specify the actual value that shall be written to the FSUIPC offset.
You can reference the current value of the offset "$" and can use the expression engine syntax for complex calculations.
Have a look at the example configuration for default planes that ships with MobiFlight Connector to see how to configure different offsets like for COM and NAV avionics.
With the expression engine syntax you are able to perform more complex calculations in an easy way. Additionally to the original "multiply"-field on the FSUIPC-tab in the Config Wizards you have more freedom for setting and calculating values.
If you have a look at the FSUIPC documentation, there are a bunch of offset values that need to be transformed prior to displaying them, for example on a 7 segment LED Display. One example for such a value is the "Current Heading". If the value is smaller than 0, you have to add 360 degrees. This cannot be achieved with the "multiply".
Formulas that make use of the Expression Engine syntax can be put into the "If-Set-It-To-Else-Set-It-To"-fields on the "Comparison"-Tab.
The current value after the multiply operation can be referenced by using the "$"-symbol. It can appear various times in a formula if needed.
When you read out the Offset value for the, e.g. COM1 you will see that it does not contain the leading "1". So instead of 126.50 you will get 2650 only. Let's simply add 10000 in any case so that we don't have to care about this when displaying the value on a MAX7219 LED Display.
The comparison tab would then look like this:
To the original value in all cases 10000 is added converting 2650 into 12650. For the Display you then add the decimal point and everything works like one expects it.
The expression engine syntax supports more complex stuff. You can use parenthesis as you know it from your math classes ;)and also there are mathematical functions available (Sin, Cos) and logical functions like known from Excel.
The logical functions are used for input in the example configuration, e.g. for the COM1
In the "value"-field the following "if"-expression
if($>1900,$-100,$+1800)
is used. We want to reduce the MHz-part of COM1 reading every time the "On Left" event is triggered. The solution is more or less straight forward and easy to read if you are familiar with Excel.
As long as the current value is greater than 1900 (119.00) we can reduce it by 100 ($-100). If the value of the COM1 reading already is smaller than 1900, e.g. (1850) 118.50, we want to make sure that it "wraps around" going up to 3650 (136.50). Therefore 1800 is added.
A complete documentation can be found on the Website of the expression engine library.
Hint:
Currently no real validation of your formula is performed. If the formula has a problem then an error message will be shown when the configuration is executed.