MobiFlight Connector

The MobiFlight Connector allows to read out and write data from and to your flight sim using the MobiFlight Modules and FSUIPC offsets.

Main Window

tl_files/en/documentation/software/mfconnector-main-window.png

The menu bar contains the following items

  • File - allows to load & save configurations and additionally allows quick access to the last five configs loaded by the user.
  • Extras - the following menu items exist
    • Orphaned modules - Opens dialog to manage orphaned serials of arcaze modules in current config
    • Settings - Opens Settings-Dialog.
  • Help -
    • Open help in web - brings you to the current website
    • Check for update - checks on the internet if updates are available
    • Information about current software version

Toolbar

tl_files/en/documentation/software/mfconnector-main-toolbar.png

  • Save - save the current configuration. It is enabled if there are changes made to the current configuration.
  • Run - executes the current configuration. It is only clickable if supported modules are recognized (MobiFlight Board or Arcaze) and your flight sim is running
  • Test - executes the Test Mode. For each configuration item the test mode is toggled. With this function you can check that your configuration is addressing the correct output device. It helps most with LEDs and 7 segment displays
  • Stop - Stops the currently active mode (Run/Test).
  • AutoRun - Can be activated and then runs MF Connector automatically on next start using the last loaded Configuration (Run-Mode). The application minimizes to the taskbar and it waits until the connection to your flight sim becomes available.

    The order of start (MFConnector and flight sim) does not matter. This makes it easy to be started by FSUIPC on automatically during start up of your flight sim.
  • Exit - Closes the application.
    Hint: If there are still unsaved changes, you will see a message that informs you and gives you the possibility to first save your changes or discard them - as you like.

Configuration list - Outputs

tl_files/en/documentation/software/mfconnector-configuration-list-outputs.png

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:

  • Active - the config item is activated. Only active items are updated with FSUIPC values when running the software. Also during Test Mode only the active items are considered.
     
  • Description - You can assign a meaningful name for each config item. Double click on the field in the desired row to activate edit mode.
     
  • FSUIPC Offset - It shows the used FSUIPC offset. It helps for orientation and can be helpful for sorting the rows.
     
  • Module Serial - The serial number or the name of the used module. It helps for orientation and can be helpful for sorting the rows when using various modules.
     
  • FSUIPC Value - Current FSUIPC value which has been read by the software. Only up-to-date if the software is connected to the flight sim and running (Run Mode).
     
  • Output Value - Current value which is used for the output device. This value can vary from the original FSUIPC value according to the rules you configure in the Config Wizard.
     
  • ... - Click on the button to access the Config-Wizard (see. 2.). You can also open the Config-Wizard by double clicking on the row.

Configuration list - Inputs

tl_files/en/documentation/software/mfconnector-configuration-list-inputs.png

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:

  • Active - the config item is activated. Only active items are considered and evaluated when running the software.
     
  • Description - You can assign a meaningful name for each config item. Double click on the field in the desired row to activate edit mode.
     
  • Input - It shows the name of the used input device and the module's name. It helps for orientation and can be helpful for sorting the rows.
     
  • Type - The type of input device. It helps for orientation and can be helpful for sorting the rows.
     
  • ... - Click on the button to access the Input-Config-Wizard (see. 3.). You can also open the Input-Config-Wizard by double clicking on the row.

Statusbar

tl_files/en/documentation/software/mfconnector-main-statusbar.png

  • Modules - shows the status of currently connected modules.
    • gelb - No supported module has been found
       
    • grün - at least one supported module has been recognized on your PC
       
  • FSUIPC Status - indicates the status of your FSUIPC or say flight sim connection.
    • gelb - FSUIPC has not been detected as available - Possible reason: Your flightsimulator has not been started yet, is still loading or FSUIPC is not installed on your computer.
       
    • grün - Software is connected with your Flight Sim through FSUIPC
       
  • Status Info... - Indicates status of your execution mode
    • "Status Info..." - The software is currently not in Run Mode. You stopped it or an have not yet started it. While not running, the FSUIPC values will and attached devices will not be updated.
       
    • "Running..." - Currently MobiFlight Connector is in "Run-Mode". Values are read from and written to FSUIPC, output and input devices are also updated.

      Hint:  As long as the little dots move around, the application is running fine. Should they stop to move it is likely that an error occured and the "Run mode" stopped or the application has to be restarted (latter case happens only very rarely).

Settings dialog

The settings dialog provides access to general and module specific configuration options.

You can access the settings dialogue via the main menu "Extras" > "Settings".

General Tab

tl_files/en/documentation/software/mfconnector-settings-dialog-general.png

The following options can be configured on the general settings tab:

  • Recent files - Set the number of files which are shown in the recent files list. 5 is default.
  • Test mode speed - If you have a larger number of output config items then it makes sense to change this to a faster value. Default is slow (1 second per row).
  • Logging - if you experience problems with the software it might be helpful to enable the logging mode and set the Log level to info or debug. You can later provide the information on the forum so that the cause of the problem can be found more easily.
    Normally you do not need to active logging - it slows down the performance a little and might cause problems e.g. with encoder readings.

Arcaze Modules - Tab

tl_files/en/documentation/software/mfconnector-settings-dialog-arcaze.pngtl_files/en/documentation/software/mfconnector-settings-dialog-arcaze-display-driver.png

tl_files/en/documentation/software/mfconnector-settings-dialog-arcaze-led-driver-2.pngtl_files/en/documentation/software/mfconnector-settings-dialog-arcaze-led-driver-3.png

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"

  • Available Arcaze Modules, a list with currently connected Arcaze modules, that you can configure.
  • Module Settings - In this section you provide the information about the extension modules. This is needed so that the extension modules are initialized correctly and everything works as expected.

    Click on the desired arcaze module in the list on the left and then choose from the following options:
    • Type - InternalIO, DisplayDriver, LedDriver2 oder LedDriver3
    • Count - the number of connected modules at the Arcaze-Board
    • Global Intensity - The globale intensity of the LEDs, only available for Display Driver and LED Driver 3/32

MobiFlight Modules - Tab

tl_files/en/documentation/software/mfconnector-settings-dialog-mobiflight.png

On the "MobiFlight Modules"-Tab you can configure your mobiflight boards. You can:

FSUIPC-Tab

tl_files/en/documentation/software/mfconnector-settings-dialog-fsuipc.png

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.

Config-Wizard

The Config-Wizard let's you to edit your configuration items in a user friendly and convenient way by distributing different aspects of the configuration over different tabs.

You can open the Config Wizard with the following actions:

  • Click on "..."-Button in "Outputs"-configuration list
  • Double click on a configuration item (row) on any cell other than "Description"
  • Use space bar when the focus is set on "..."-Button - e.g. after using the tab-key.

FSUIPC-Tab

tl_files/en/documentation/software/mfconnector-config-wizard-FSUIPC.png

You provide all FSUIPC relevant information on the FSUIPC-Tab:

  • Load preset - Use preset - You can use predefined Settings that come with the MobiFlight Connector. It is the easiest way to use FSUIPC Offsets.
    You load a preset by:
    • Selecting the desired function from the drop down list, you can type the beginning of an item to reduce the number of items in the list
    • Confirm the selection by clicking on the "use"-Button - you will see that all values are set automatically. Have a look at the Tutorials Section for a more practical example.

tl_files/en/documentation/software/mfconnector-config-wizard-FSUIPC-preset.png

  • Base settings - FSUIPC Basis-Einstellungen
    Offset, Value Typeand Byte Size of an Offset are all provided in the FSUIPC documentation that come with your FSUIPC installation.
     
  • More Options - Additional settings that are required for some FSUIPC offsets
    • Mask value with - The default value that is set, when you change the byte size normally is the correct one. The value allows you to explicitly mask certain bits of a value.

      Example: "Lights"-Offset 0x0D0C - hier the various bits represent the states of different lights of an aircraft.
      An example are the "Landing Lights" which are contained as preset.

    • BCD mode - Activates BCD Mode und interprets the value at the offset a little bit different. If you have to enable BCD-Mode or not is mentioned in the FSUIPC-Offset-Documentation.
      An example for BCD encoded values are Offsets regarding NAV-, COM- und SQUAWK-readings.
       
    • Multiply by - You can multiply the FSUIPC value by the given value. The FSUIPC documentation indicates if you need this kind of transformation or not.
      Example:  Autopilot Heading - divide value at offset (65536/360)

      You can also apply more complex mathematical formulas on the comparison tab.

Hint:

All information that is needed to properly configure a FSUIPC offset can be retrieved from the FSUIPC-SDK-Documentation:

  • FSUIPC4 Offsets Status.pdf
  • FSUIPC for Programmers.pdf

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.

Comparison-Tab

tl_files/en/documentation/software/mfconnector-config-wizard-compare.png

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.

Tips & Tricks for comparisons

The following possibilites are availabe for the fields "set it to" and "else set it to":

  • You can leave the field empty to use the currently provided value.
  • You can also use "$" to reference the currently provided number.
  • If you want to blank a 7-segment display module, you can use "SPACES"
  • You can use characters as values for 7-segment displays, e.g. dashes "---"
  • You can have complex calculations by using the supported expression engine syntax

Display-Tab

tl_files/en/documentation/software/mfconnector-config-wizard-display-pin.png

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.

  • Display Type - Definiert Modul und Display-Typ. Aktuell sind folgende Typen auswählbar:
    • Pin - Use an output device of your MobiFlight Board or an arbitrary pin on your Arcaze module.

    • Display Module - Use a 7-segment module configured on your MobiFlight board or one of the Arcaze LED Display Extension boards connected to your Arcaze board.
       
    • Stepper - Use a stepper motor which is connected and configured on your MobiFlight Board.
       
    • Servo - Use a servo motor which is connected and configured on your MobiFlight Board.
       
    • BCD4056 - Erlaubt die Ansteuerung einer 7-Segment-Anzeige unter Verwendung des CMOS-Bausteins (not really tested)
       
  • Display Settings - Depending on the display type different options can be set
    • Pin - Configure desired Output device (MobiFlight) or Port and Pin (Arcaze) via the dropdowns.

      tl_files/en/documentation/software/mfconnector-config-wizard-display-pin.png

      For Arcaze Users:
      If you have configured an LED Driver v3/v32 on your selected Arcaze Board you can also define an indvidual brightness value for ports others than A + B.

      config-wizard-display-ledv3.png

    • Display Module - For 7-segment-modules you sepcify the following settings:

      tl_files/en/documentation/software/mfconnector-config-wizard-display-display-module.png
      • Addr - Select the desired Led-Module-Device (MobiFlight) or the appropriate address (Arcaze)
         
      • Connector - Select a number other than 1 if you have chained your LED Modules (MobiFlight), select the number of the connector on your Arcaze module (Arcaze only)
         
      • Number of digits -  The number of digits of your LED module.

        MobiFlight: Normally you can simply leave it with default "8"

        For Aracze users: This is important so that it works correctly when you use two LED modules on the same Display Driver.
         
      • Use Left Padding - A padding is applied to the left. You can choose between "Zeros" or "Spaces". This is helpful for values like Heading "010" or V/S "  200".
         
      • Use Display - Every checkbox represents on digit where the values are displayed.
      • Set decimal point - You define where a decimal point shall be put.
  • BCD4056 - This type is NOT really SUPPORTED:

    • Strobe - The pins which is connected to the Strobe-Pin of your BCD4056 CMOS
       
    • Pins - The pins / outputs of the four input pins on your BCD4056 CMOS.

config-wizard-display-bcd.png

Precondition-Tab

You can define preconditions which have to be fulfilled so that your configuration is evaluated further. With this, more possibilities come up, like z.B. Multi-Radio-Instrumente, that depending on a switch' position show different readings. This allows to display e.g COM1, COM2, NAV1, NAV2 oder ADF on a common display.

You can define an unlimited number of precondition items and combine them logically with "AND" or "OR".

tl_files/en/documentation/software/mfconnector-config-wizard-precondition.png

Precondition list

In the upper part of the tab panel you see a list of currently defined preconditions. By right clicking on the list you access the context menu. There you have access to
  • Add precondition
     
  • Remove precondition
     
  • Select the logic Operator, which can be "AND" or "OR" - however there is no further grouping possible, the preconditions are evaluated sequentially.

You can also adtivate and deactivate a precondition. Active preconditions are marked with a "tick"

Configure Preconditions

When you select a precondition from the list, you can specify the details of the precondition.

Use type of - Defines the type of precondition

  • Pin (only for Arcaze) - the state of a pin, e.g. switch.
    • Module - The Arcaze-Modul which shall be used
       
    • Pin - The Pin which is used for evaluation
       
    • If current state is - the value for a successful comparison: On or Off
  • Config - You can use the value of another config entry. You can hereby use FSUIPC values from your Flight Simulator as precondition.
    • Choose config - You select the desired config entry from the drop down list
       
    • If current value is  - You select the comparison operator and can define a value.

      Hint:
      The comparison is always performed with the transformed value, the one that you see in the Output Value Column. Hence it is not using the raw value from the FSUIPC Offset.

      It is also possible to use the epxession engine syntax here, where the current value is represented by "$".

Changes must be always confirmed by hitting "Apply", otherwise they won't be saved.

Input-Config-Wizard

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:

  • Click on "..."-Button in "Inputs"-configuration list on the Inputs-Tab
  • Double click on a configuration item (row) on any cell other than "Description"
  • Use space bar when the focus is set on "..."-Button - e.g. after using the tab-key.

Precondition-Tab

You can define preconditions which have to be fulfilled so that your configuration is evaluated further. With this, more possibilities come up, like z.B. Multi-Radio-Instrumente, that depending on a switch' position let's you control different instruments with the same rotary switch or encoder. This allows to control e.g COM1, COM2, NAV1, NAV2 oder ADF with a common input device. In combination with the preconditions for outputs you have nice possiblities.

The precondition panel offers the same option as the panel of the Config Wizard for Outputs.
See this section for further details.

Input-Tab

On the Input-Tab you configure the actions that shall happen when using a defined input device.

tl_files/en/documentation/software/mfconnector-input-config-wizard-input.png

Choose Input

First you select the desired device by choosing the MobiFlight Board (module) and the configured input device from the respective drop down box.

Input Settings

Depending on the type you will see different Input settings options.

Type Button

A button offers two options or say events.

  • On Press - Is evaluated the moment the button is pressed
  • On Release - Is evaluated the moment the button is released

You don't have to assign for both events individual actions but you can.

Type Encoder

An encoder offers four options or say events.

  • On Left - Is evaluated whenever the encoder is turned left, but slowly
  • On Left (Fast)- Is evaluated whenever the encoder is turned left, but quicker
  • On Right - Is evaluated whenever the encoder is turned right, but slowly
  • On Right (Fast)- Is evaluated whenever the encoder is turned right, but quicker

You don't have to assign for every event individual actions but you can.

Action Types

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:

FSUIPC Offset

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.

Key

tl_files/en/documentation/software/mfconnector-input-config-wizard-action-type-key.png

Expression-Engine (complex formulas)

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.

Example "Current Heading"

tl_files/en/documentation/software/mfconnector-config-wizard-expression-example-current-heading.png

Example "Leading 1 for COM/NAV"

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:

tl_files/en/documentation/software/mfconnector-config-wizard-expression-example-com1.png

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.

Advanced formulas

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

tl_files/en/documentation/software/mfconnector-config-wizard-expression-input-com1-left.png

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.