Development outlines and plans for SimVimCockpit
The SimVimCockpit project is not static, it still has a lot of potential for its further development, and its functionality can be improved and changed during the development process.
Though all main input/output connection principles will mostly stay intact, 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 especially proposing them to the community).
Besides, the SimVim architecture is specially designed the way when anyone can simply buy ready-to-use, cheap modules and breakout boards listed on this website and in the "Components" page, connect them as described on our pages, that's all.
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)
- Direct analog input for any of 16 pins for snalog sensors.
- Additioanl 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.
- 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, 20x2, 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
|Plugin has gauge calibration tool - you can easily set ranges and mapping values for stepper, PWM, and servo gauges inside the plugin, while directly controlling the gauge position.
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
- Assigning output devices to a power bus number, what allows you to make instruments and gauges that work only in specified voltage range accordingly with tech spec and turned off if the voltage drops below specified.
- 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 serial LED drivers to the same extension board with 7-segment displays (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
|Encoders. Further work on the encoders processing algorithm improvement. Additional configuration options - encoder types will be taken into account, possibly the acceleration factor will be included, etc.
(Currently it works correctly with encoder type 2, with type 1 you can see a doubled steps on one detent).
|To be added soon
|Custom. Parameters Converter for custom commands/datarefs included into the plugin. Users can launch X-Plane and convert parameters that are not working by default 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 as refernce for custom data conversion tool.
|tested since v.0.9.28,
will be finished in v.0.9.30
|Matrix. 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)
||Estimated - January
|LEDs. Multple LED output based on MAX7219 (same as for 7-segment displays), 64 LEDs for one module.
Additional (planned) Features
|Gear vibration effect outputs. Plane moving on the ground, touching down all simulate realistic impact and vibration forces.
|Force Feedback outputs, turbulence effect
|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