Jump to content

DCS-BIOS: Overview and Announcements


FSFIan

Recommended Posts

I'm still trying to piece the facts together.

Not heard anything from official sources, they seem to have gone radio silent over the last few years..

 

It seems that the official / original DCS bios github is still occasionally active, in particular adding / updating the modules (Viper, Tomcat etc..).

 

As far as support and maintenance outside of modules goes it's complete silence.

 

DCS BIOS core has a latest release of Nov 13 2019 - not all that old or unreasonable.

Unresponded issue go back to Jan 2019

 

DCS BIOS Arduino Library latest release April 30 2017

There are multiple unresponded pull requests for it going back to 2017

 

Far as the Arduino Library goes, Talbot McInnis (https://github.com/talbotmcinnis/dcs-bios-arduino-library) has been making strides.

Latest code is a week old at the time of this post.

 

Have also been advised that Flightpanels is also looking after some DCS BIOS code.

https://github.com/DCSFlightpanels/dcs-bios

 

My current situation, just had a massive cleanup, need to put back together my workbench.

Will be a thing i do in about 2 weeks.

At that point I'll be right on to testing the Arduino library that includes STM32 support using an STM Blue Pill.

Not everyone's cup of tea, but a ~$3 micro with more performance than Arduino could be handy.

After this I'll be looking to test some STM dev boards with higher pin counts.

 

Kudos to DCS BIOS people for their time and effort.

Might just be taking a well deserved break?

 

Edit to add.. Dead might be and exaggeration.. as mentioned above there are multiple forks and others are continuing the work.
There was talk of the DCS BIOS guys wanting to ditch Arduino and go with some kind of RS485 solution, not my bag baby, i already have Arduinos and similar coming out my ears.


Edited by v81

R7 3800X - 32Gig RAM -- All SSD -- GTX1070 -- TM Warthog, MFG Crosswinds & TiR

Link to comment
Share on other sites

  • 3 weeks later...

Hi,

I will start very soon my first connection of a Teensy card with DCS-BIOS.
The goal is to connect the SPU-7 of the HIP.

There seems to be a conflict in the export.lua file when playing multiplayer with the use of SRS.
Has anyone experienced this problem before and is there a solution?
Thank you in advance...

 

Link to comment
Share on other sites

  • 3 weeks later...

OLED with DCS-BIOS works fine. The beginning was a little confused. When all parameters are okay, the result looks perfect. The 20 x 2 OLED comes with a very large backplate. I elongated the wires. This was tricky. If you like it, my arduino code is below. I also used OLED on UHF and Total Fuel Gauge on my A-10 Mainpanel. The special characters are included! Important: the Reset on OLED-Board must be everytime on hight 3.3V level.

Now I'm looking for a nice solution for the CDU-screen.

Michael


code for Arduino Uno

//#define DCSBIOS_IRQ_SERIAL
#define DCSBIOS_DEFAULT_SERIAL
#include <DcsBios.h>
#include "I2cCharDisplay.h"
#include "Wire.h"

///////////////////////// SETUP //////////////////////////////////////////////////////////////
#define OLEDADDRESS    0x3c                    // i2c address for the oled display
I2cCharDisplay oled(OLED_TYPE, OLEDADDRESS, 2); // create an oled object for a 2 line display
#define TESTNUM

  


void setup() {
  Wire.begin();                     // initialize i2c

  uint8_t mm[8]  = {0x11,0x1b,0x15,0x11,0x11,0x00,0x1F,0x00}; // m
  uint8_t ss[8]  = {0x0e,0x10,0x0e,0x01,0x1e,0x00,0x1F,0x00}; // s
  uint8_t aa[8]  = {0x04,0x0a,0x11,0x1f,0x11,0x00,0x1F,0x00}; // a
  uint8_t xx[8]  = {0x11,0x0a,0x04,0x0a,0x11,0x00,0x1F,0x00}; // x
  oled.createCharacter(0, mm);
  oled.createCharacter(1, ss);
  oled.createCharacter(2, aa);
  oled.createCharacter(3, xx);
  
  oled.begin();                     // initialize the oled
  oled.clear();
  oled.setBrightness(255);
  
  oled.cursorMove(1,1);
  oled.print("OFF     ");
  oled.cursorMove(1,13);
  oled.print("X---X---");
  oled.cursorMove(2,1);
  oled.print("     OFF");
  oled.setBrightness(1);  

  
  
DcsBios::setup();
}




////////////////////////////Config Display ///////////////////////////////////////////////////////
void onCmscTxtJmrChange(char* newValue) {
     oled.setBrightness(255);
     
     oled.cursorMove(1,1);
     oled.print(newValue);
     oled.setBrightness(1);
}
DcsBios::StringBuffer<8> cmscTxtJmrBuffer(0x1096, onCmscTxtJmrChange);


void onCmscTxtChaffFlareChange(char* newValue) {
     oled.setBrightness(255);
     oled.cursorMove(1,13);
        oled.print(newValue[0]);
        oled.print(newValue[1]);
        oled.print(newValue[2]);
        oled.print(newValue[3]);
        if     (newValue[4] == 'm') oled.write(0);
        else if(newValue[4] == 's') oled.write(1);
        else if(newValue[4] == 'a') oled.write(2);
        else if(newValue[4] == 'x') oled.write(3);
        else oled.print(newValue[4]);
        oled.print(newValue[5]);
        oled.print(newValue[6]);
        oled.print(newValue[7]);
     
     oled.setBrightness(1);
}
DcsBios::StringBuffer<8> cmscTxtChaffFlareBuffer(0x108e, onCmscTxtChaffFlareChange);


void onCmscTxtMwsChange(char* newValue) {
     oled.setBrightness(255);
     cleanUpCom (newValue);
     oled.cursorMove(2,1);
     oled.print(newValue);
     oled.setBrightness(1);
}
DcsBios::StringBuffer<8> cmscTxtMwsBuffer(0x12b0, onCmscTxtMwsChange);

char* cleanUpCom(char* newValue) {
for(int i;i<8;i++){
switch (newValue[0]) {
case 'm':
newValue[i]= "\mm";
break;
case 's':
newValue[i]= "\x01";
break;
case 'a':
newValue[i]= "\x02";
break;
case 'x':
newValue[i]= "\x03";
break;
}
}
return newValue;
}




/////////////////////////// LOOP ////////////////////////////////////////////////////////
void loop() {
DcsBios::loop();
}

 

20210306_124651.jpg


Edited by Heling
Link to comment
Share on other sites

Am 6.3.2021 um 13:05 schrieb Heling:

...

Now I'm looking for a nice solution for the CDU-screen.

...

 

 

Starting from here: https://github.com/RobinMLi/DCS-CDU-Display

I ended up with a 4 inch TFT, driven by an USB powered NANO.

 

Regards, Vinc

 

 

IMG_20200108_135343a.jpg

IMG_20200108_135319a.jpg

IMG_20200322_134732a.jpg


Edited by Vinc_Vega
  • Like 3

Regards, Vinc

real life: Royal Bavarian Airforce

online: VJS-GermanKnights.de

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

  • 4 weeks later...
  • 1 month later...

Hi!

 

I would like to include to the lib :

LG_LIGHT_HANDLE = 107 (I think this is the light on the gear lever)

for the JF-17, but how can I do?

 

I use : https://github.com/DCSFlightpanels/dcs-bios

 

Thanks a lot! 

 

[Edit] I have add this in JF-17.json and .pjson but when I launch the game with the aircraftn the game delete this code, why? 😞 :

 

"LED_LEVER": {
                                                                              "category": "Warning, Caution and IndicatorLights",
                                                                          "control_type": "led",
                                                                           "description": "LEVER LED (red)",
                                                                            "identifier": "LED_LEVER",
                                                                                "inputs": [  ],
                                                                               "outputs": [ {
                                                                                                  "address": 18568,
                                                                                              "description": "0 if light is off, 1 if light is on",
                                                                                                     "mask": 1,
                                                                                                "max_value": 1,
                                                                                                 "shift_by": 0,
                                                                                                   "suffix": "",
                                                                                                     "type": "integer"
                                                                                          } ]
                                                                      },

 

 

[Edit2] Found it! Just need to add 

 

defineIndicatorLight("LED_LEVER", 107, "Warning, Caution and IndicatorLights", "Landing Lever (red)") 

 

In the .lua file 🙂

 


Edited by Roger01
Link to comment
Share on other sites

Hi I'd like to contribute with a pull request to add some additional lamp indicators to the module-ajs37 plugin. I can see that adding the following to AJS37.lua:

defineIndicatorLight("MASTER_CAUTN_LH_LAMP", 444, "Front Panel Lights", "Master Caution (HUVUDVARNING) Left Lamp")
defineIndicatorLight("MASTER_CAUTN_RH_LAMP", 445, "Front Panel Lights", "Master Caution (HUVUDVARNING) Right Lamp")
defineIndicatorLight("ALT_WARNING_LAMP", 450, "Front Panel Lights", "Altitude Warning Lamp")
defineIndicatorLight("FALLD_LAST_LAMP", 461, "Front Panel Lights", "Falld Last (Stores Released) Lamp")
defineIndicatorLight("REV_TRANSONIC_LAMP", 462, "Front Panel Lights", "Revadvr Transonic Lamp")

will call the BIOS.Util.defineIndicatorLight() function which adds documentation info to the moduleBeingDefined.documentation, but I'm unsure how to inspect this information (particularly the assigned memory address) to populate the corresponding AJS37.json file in the plugin folder.

 

Any advice on what's the process one would take to properly add fields? I found an older DCS-BIOS Developer Guide doc, but it's not clear to me if the json's were just autogenerated in the dcs-bios version that doc describes, and it doesn't account for the plugin method of modules. Thanks.

Link to comment
Share on other sites

  • 1 month later...

HI, I've been trying to setup a rotary encoder and I'm currently seeing it increase/decrease by 4 channel numbers each detent. I was thinking this might be a bouncing issue as it can be a little erratic, but as there seems to be a function to change the steps per detent, I thought I would give that a go first (grasping at straws as I don't know if this is even related or would fix this issue)


Each of the examples I've found though fail to compile 

 

Examples:

DcsBios::RotaryEncoder<2> ufcComm1ChannelSelect("UFC_COMM1_CHANNEL_SELECT", "DEC", "INC", 18, 19)

DcsBios::RotaryEncoder ufcComm1ChannelSelect("UFC_COMM1_CHANNEL_SELECT", "DEC", "INC", 18, 19, 2)

DcsBios::RotaryEncoder ufcComm1ChannelSelect("UFC_COMM1_CHANNEL_SELECT", "DEC", "INC", 18, 19, DcsBios::TWO_STEPS_PER_DETENT)

 

Current sketch line:

DcsBios::RotaryEncoder ufcComm1ChannelSelect("UFC_COMM1_CHANNEL_SELECT", "DEC", "INC", 18, 19);

 

Current dcs-bios library:

dcs-bios-arduino-library-0.3.5

 

If I look in the Encoders.h source file I can see that the capability must be there, but I can't seem to work out where I'm going wrong. I'm not very experienced with writing sketches, so I'm sure I'm doing something wrong.

 

Any help or a simple kick in the right direction, would be much appreciated

 

Cheers

MSI Z170X-Gaming 5, Intel 6700K, 32G RAM, RTX2080ti, Samsung SSD gaming drive, Samsung SSD System drive, RIFT CV1, TM Warthog Hotas, TPR peddles, Gamtrix Jetseat

Link to comment
Share on other sites

Scratch that, no sooner had I posted the above, I found my solution within the examples of the dcs-bios-arduino-library.

 

RotaryAcceleratedEncoder

DcsBios::RotaryAcceleratedEncoder ufcComm1ChannelSelect("UFC_COMM1_CHANNEL_SELECT", "DEC", "INC", "FAST_INC", "FAST_DEC", 19, 18);

 

Work a treat!!

 

Cheers

  • Like 1

MSI Z170X-Gaming 5, Intel 6700K, 32G RAM, RTX2080ti, Samsung SSD gaming drive, Samsung SSD System drive, RIFT CV1, TM Warthog Hotas, TPR peddles, Gamtrix Jetseat

Link to comment
Share on other sites

  • 1 month later...

new Release of FlightPanel Fork DCS-BIOS:  https://github.com/DCSFlightpanels/dcs-bios/releases/tag/0.7.41

 

+All planes stand 2.7.4.9847 - https://www.digitalcombatsimulator.com/en/news/changelog/openbeta/2.7.4.9847/

This version works also with the latest Stable of DCS!

+Add Mi-24 Hind (For DCSFlightpanels Users needs latest Version)
+Add Extra 330SR Mod (uses Edge540.lua)
+Add VNAO_T-45 Mod
+Add VSN F104S Mod (for Common readouts)

-Hercules MOD still deactivated because send inputs not possible (under investigation)

#AJS37 - fix for #56
#F-14 - cleanup; new Switches (Display Filter); STBY ADI Fix
#F-16 - EHSI Knobs fixed; add Eject command by BuzzKillington
#FW 190's - Fuel Selector fix
#M-2000 - PCN Fix by Espresso29470
#Mi-8 - cleanup
#Mig-19 - fix for #57

+Internal Java script updates
+Add some new Infos to the documentary


Edited by BlackLibrary
  • Thanks 1
Link to comment
Share on other sites

Hi Rump,

 

update rate is not the best, I think it`s caused by the DCS-BIOS protocol.

Speed is round about half a second per page if connected via USB.

But I like that kind of vintage style when lines are refreshed from top to down   🙂

If you want faster refresh, you have to export the monitor display from your GPU.

 

Regards, Vinc

Regards, Vinc

real life: Royal Bavarian Airforce

online: VJS-GermanKnights.de

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

  • 1 month later...
6 hours ago, crash test pilot said:

I know blacklibrary is fast on updating the flightpanel fork, but not that fast. Give him a week. As far as I know the hub version does not get that much love.

Yeah, I didn't expect it to be there today. 😜
But I'm also curious about the process itself.

3 hours ago, Sting57 said:

So I am just starting to build my pit, should I be using the Flightpanel fork?  Is the orginal fork dead?   I know I had to update the orginal one to fix the ECM panel for the hornet.

 

I switched to Flight panels as it's currently actively maintained.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...