Dcs bios что это

Обновлено: 07.07.2024

“Module definitions” tell DCS-BIOS which input and output elements exist in an aircraft, how to determine their current state, and how to operate them in the virtual cockpit using Lua scripts in DCS: World. The Control Reference lets you look at everything that is defined in a module definition. In other words, it shows you every dial, toggle switch, push button, indicator light and display that DCS-BIOS knows about.

Module definitions are installed using the plugin manager (see Installing DCS-BIOS ). The exception are the built-in “MetadataStart” and “MetadataEnd” modules, which provide the name of the currently active aircraft and a counter that is increased after every frame.

On the first screen, you can select a module definition, which usually corresponds with an aircraft model.

Once you click on a module definition, you can either select a category of “controls” to browse, or search for a specific control by name or description using the search field.

Tip: each module definition page in the Control Reference has a unique URL, so you can create a bookmark in your browser for the reference page of your favourite aircraft.

Controls, Inputs and Outputs¶

An “input element” or “input” is something that accepts commands, like a toggle switch or rotary knob. An “output element” or “output” is everything that produces a piece of data made available to DCS-BIOS. A “control” is a thing in the cockpit that has a name and can act as an input, output, or both.

Let’s take a look at the Battery Power switch in the A-10C.

  • Open the web interface, navigate to the Control Reference and select the A-10C.
  • Click the “Electrical Power Panel” category and scroll down to the entry for “Battery Power”. You can type a few characters into the “Filter…” text box to help you find the category link. You can also try to use the search function to jump directly to the “Battery Power” entry.

You are now looking at a “control”, the battery power switch on the A-10C. It is identified by a short name (“EPP_BATTERY_POWER”). Since a different module definition could have its own EPP_BATTERY_POWER control, control identifiers can be prefixed with the module definition and a slash to make them unique. The full control identifier is shown in the top right corner.

The black text on the green bar is the description of the control, in this case “Battery Power”.

Below the description and control identifier, we see that this control accepts input commands and has one integer (number) output.

The left side shows some code snippets. In the next section, you will learn how to copy and paste these into a program for an Arduino microcontroller to connect real hardware to DCS: World.

On the right side next to the input code snippets, we see buttons for each command we can send to this control. If DCS: World is running and you enter the cockpit of an A-10C, these buttons will operate the switch in your virtual cockpit. You can use these buttons to verify that the connection to DCS is working correctly and that DCS-BIOS is operating the control in the virtual cockpit correctly.

Next to the output code examples, we see the current value that is being exported. It shows “no data yet” in the screenshot above because DCS: World is not running, so there is no virtual A-10C cockpit to connect to. Looking at live data while DCS is running can be very useful to figure out what range of values to expect from a certain output under different flight conditions.

Output Types¶

An output is either a number (called an “integer output”) or a piece of text (called a “string output”). Most controls have either an integer output or a string output, while some controls have no output at all. A few controls will have both an integer and a string output.

Input Interfaces¶

If this part sounds confusing, don’t worry about it and just continue with the next sections. It is not necessary to fully understand the concept of input interfaces to build custom hardware.

A control in DCS-BIOS can support one or more “input interfaces”. An “input interface” is a set of commands that a particular control can understand.

The set_state input interface is the most common. It means that DCS-BIOS knows how to set a control like a toggle switch to a specific position, independently of its current position. In the control reference, it is represented with a slider and a button. Use the slider to select the value you want, then click the button to send that value to DCS:

_images/input-interface-set-state.jpg

The fixed_step input interface understands the “DEC” and “INC” commands, which decrease or increase the current position of a control by one. A typical example is a dial that lets you change radio presets. The buttons to operate a fixed_step control look like this:

_images/input-interface-fixed-step.jpg

The variable_step input interface is similar to fixed_step, but the “decrement” and “increment” commands have a magnitude from 0 to 65535. A typical example is a volume knob. In the control reference. the variable_step commands are represented by a slider which represents the amount of change you want, and two buttons that let you send a decrement or increment command of the selected magnitude:

_images/input-interface-variable-step.jpg

The action input interface is an arbitrary action. It is represented in the control reference by a button labelled with the name of the action. Any two-position switch supports the “TOGGLE” action. It is rarely used, but can come in handy in some special cases, for example if you want to bind the built-in push button of a physical rotary encoder to toggle the “mute” function of a volume knob.

Arduino hardware did exist when I started this project, however at the time there was no way to interface it with DCS World without an extensive knowledge of programming.

That was until an ED Forum user called FSF Ian dropped his program known as DCS-BIOS. His work has paved the way for many a home cockpit, and I have no doubt mine in its current format would not exist without his contribution to the DCS community.

Arduino is an open-source electronics platform based on easy-to-use hardware and software. It's intended for anyone making interactive projects.

The link above will show you the very basics, straight from the Arduino Website.

For us flight sim builders, it is a very cheap way to get button inputs to, and servo and light outputs from, your PC running DCS World to your hardware cockpit.


Where do I get one?

Arduino is open-source hardware, which means there is no shortage of cheap 'clones' out there to purchase. My advice is this- dont think that more expensive means better- you can spend $12 for a Arduino Nano on eBay that is identical to a $2 clone from China. I know this, because I have purchased both and inspected them in detail. Exactly the same, probably from the same factory.


I souce mine Arduino's in bulk, and while some have failed me along the was, most were killed by me in puffs of blue smoke from wiring them incorrectly through overconfidence and complacency. I think of the twenty I've purchased on Aliexpress- only one has ever been DOA. And for $2 a pop- I wasn't bothered.


The ones I list below are linked to the Arduino page so you can read the exact details and get datasheets, but that is not where I purchased them from.

Google them, ebay them, Aliexpress them, Bangood them BEFORE you click buy!

Below is a list of different things related to Arduino that I used throughout my build.

Arduino Uno

This Arduino Uno was the first one I ever tinkered with, and that same exact card is still in the cockpit today. I use these because there are plenty of tutorials on how to wire them up, they had a decent amount of inputs/output, and there are plenty of shields that push fit straight into them and allow you to expand the connections for easy wiring. There are even LCD's that will push fit onto them.

From eBay these are around $10 AUD each locally, if you dont want to wait a month for shipping.

Aliexpress in a bulk lots they can be found for around $3.69 AUD each.

About the thing:

Arduino Uno is a microcontroller board based on the ATmega328P. It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz ceramic resonator (CSTCE16M0V53-R0), a USB connection, a power jack, an ICSP header and a reset button. It contains everything needed to support the microcontroller; simply connect it to a computer with a USB cable or power it with a AC-to-DC adapter or battery to get started. You can tinker with your Uno without worrying too much about doing something wrong, worst case scenario you can replace the chip for a few dollars and start over again.

Читайте также: