<<< Development outlines and plans for SimVimCockpit
SimVim project is not static project, it still has lots of potential and its functionality can be improved and changed in the process of development.
Even if all main connection principles and basic operations will be stable (mostly but not necessary), the software part, configuration protocol, hardware connections can be changed sometimes, even drastically. Please don't rush to make some kind of PCBs, modules for yourself (and proposing them to the community)
Besides, the SimVim architecture is specially designed the way when anyone can simply buy ready-to-use breakout boards listed in the "Components" page and wire them.
Main Features currently supported
- Direct digital input for any of available 70 pins for switches, buttons, encoders).
- Multiplexed x16 digital input extension for any of available 70 pins (totally up to 500 inputs, can be extended more)
- Direct analog input for any of 16 pins for snalog sensors.
- Multiplexed x16 analog input extension for ONE of available analog pins.
- Axis calibration from the plugin, zero-position (for pitch/roll/rudder) and movement range.
- Non-linear input for pitch and roll axis (Quadratic curve), higher precision near neutral (or zero) position.
- The initial states of all toggle switches and rotary switches connected are sent on start to the plugin for proper synchronization the switches in virtual cockpit.
LED or digital outputs
- Direct digital output (LEDs Relays, control signals) for any of available 70 pins (see limitations .
- Multiple serial LED outputs based on DM13A or similar 16-bit LED drivers
- Support for LED bargraph output (i.e. linear flaps trimmer position indication)
- Universal configurable output for any type of 7-Segment Displays (built around latch registers, LED drivers or complete modules, MAx7219, TM1637)
- Any display can be configured to output several parameter values, each with its own position shift and data display options.
- "Text" output support (custom text, conditional output) for 7-segment displays (Read more here)
- Brightness control for MAX2719 or TM1637 displays from plugin. Any display can be associated with specific regulator. You will be able to link a brightness knob with any display.
- Brightness control for 7-segment displays assembled on DM13A LED drivers. Controlled by separate PWM signal - you need to assign brighness parameter to any PWM output and connect it to your module
PWM outputs (analog output)
(for moving-coil meters, DC motors, adjustable LEDs, other PWM controlled devices)
- 1. Direct PWM outputs (8-bit) can be used with several PWR-ready pins only.
- 2. PWM outputs (12-bit) using one 24-channel PWM driver board -
- Direct LCD display support. Configurable output to 16x2, 16x4, 40x2 etc. character display.
- Any numeric data values can be easily assigned to be displayed in any position along with any custom text. Read more...
- Selecting "LCD conditional text" for annunciator-type parameters is an easier way to assign "conditionally" displayed text to LCD.
Mechanical drives, motors
- Output to the stepper motors using external SimVimStepper controller board. Supported since v 0.9.26
- Direct support for X27.x stepper motors with dedicated controllers as default for SimVimCockpit firmware. Other controllers (EasyDriver etc) and other steppers (28BYJ-48 etc.) should work but need more tests.
- Servo output support, using additional "slave" Nano or Uno controller board connected to the SimVim Master board and used as SimVimServo controller for 18 servos. Supported since v 0.9.27
Modes and conditions
- Unified mode switches and data value conditions functionality for all input and output types
- Any input or output is configurable "by condition" (can be activated/deactivated on specific parameter value conditions), you can define as many conditional states as you need, to use them for programming some input logic or for conditional outputs (like displaying different data on one indicator)
Other features and options
- Some of the input parameters use flight model properties for their range values (plugin reads them from plane flight model on start), such as RPM range for "constant-speed" props in radians per seconds.
- The posiibility to assign different output devices (including serial LEDs) to the same extension board (output multiplexer)
- Some parameter values can be stored in memory stack with memory button (COM radio frequency channels).
- Loading any specified parameter values on startup (frequencies, fuel quantity etc.), section [Start]
Status, work in progress, planned
|Assigning outputs to a power bus, disabling them if below specified voltage. Currently accomplished using conditions, but will introduce a more convenient way to do it, as was planned earlier.
||Included since v.0.9.28
|Plugin menu for gauge calibration - setting ranges and mapping values for stepper, PWM, and servo gauges inside the plugin, while directly controlling the gauge position.
||Included since v.0.9.28
|Converter for custom commands/datarefs included into the plugin. Users can launch X-Plane and convert parameterss that are not working for selected specific plane.
Online shared data "repository" on the SimVim website for custom planes, where users can create and edit the tables with custom commands/datarefs for any specific plane to use them with SimVimCockpit.
|Included since v.0.9.28
|Direct support (included in the plugin database, not external correction file used) for some custom planes, such as X-Plane 11 Laminar planes (B738) etc. Here is the list
|Additional slave Nano (Uno etc) boards with SimVim Key-Matrix firmware. One board can drive 100 - 192 inputs for button matrix, switches. Connected to the Master with serial interface (2 lines)
|Encoder type (1 - 4) option in the cocnfiguration
||To be added soon
|Multple LED output based on MAX7219 (same as for 7-segment displays), 64 LEDs for one module.
|Gear vibration effect outputs. Plane moving on the ground, touching down all simulate realistic impact and vibration forces.
||To be added later
|Force Feedback outputs, turbulence effect
||Postponed, To be added later
|Custom axis mapping curve
|"Digital" axis inputs, using contactless magnetic rotary encoders
||Considered in future
|Head position tracking to emulate far-distance view effect on a closely located screen (not related to a head rotation).
||Considered in future