speedbird5 Posted November 12, 2021 Share Posted November 12, 2021 (edited) 6 hours ago, Bailey said: I suggest using this active fork of dcs-bios https://github.com/DCSFlightpanels/dcs-bios The problem with that fork is that I can’t send commands to the cockpit using connect-serial-port.cmd. I can get light status from the virtual cockpit but I can’t send switch commands. With the Hub version I can send and receive data no problem. For the flight-panels version, I have serial port activity and socat is correctly installed but no joy. Edited November 12, 2021 by speedbird5 Link to comment Share on other sites More sharing options...
No1sonuk Posted November 12, 2021 Share Posted November 12, 2021 29 minutes ago, speedbird5 said: The problem with that fork is that I can’t send commands to the cockpit using connect-serial-port.cmd. I can get light status from the virtual cockpit but I can’t send switch commands. With the Hub version I can send and receive data no problem. For the flight-panels version, I have serial port activity and socat is correctly installed but no joy. Are you using the correct command reference? I think the Flightpanels fork uses slightly different naming to the HUB version in some cases. Link to comment Share on other sites More sharing options...
speedbird5 Posted November 13, 2021 Share Posted November 13, 2021 (edited) 11 hours ago, No1sonuk said: Are you using the correct command reference? I think the Flightpanels fork uses slightly different naming to the HUB version in some cases. Yes I am using the command reference from flightpanels and also the flightpanels Arduino library. Also I am getting light status data back to the Arduino using that command reference, but I can’t send switch data I have tested this on two separate systems and get the same problem. Both Windows 11. Could this be a socat compatibility issue with Windows 11? Edited November 13, 2021 by speedbird5 Link to comment Share on other sites More sharing options...
Trigger357 Posted December 22, 2021 Share Posted December 22, 2021 (edited) Hello I'm trying to use a multiplexer for buttons and potentiometers with little to no luck and I think it's because the header files are set up for direct connection I've tried passing each channel as its own variable and assigned them to the PIN for their respective dcs 2 POS switch but as you would guess this does nothing but cause oscillation in the virtual cockpit. I assume because the channels are switching and I can see how in the switch header its being used every pulse as a new state this creating my oscillation. Now that I understand the issue I have to solve it which I have a slight grasp but need a little confirmation. Should I edit the header file to instead of using digitalRead (pin) use something closer to what I would use to read the MUX? like mux.read? And then ofcorase I would need to include the proper struct to pull that off. Switches.cpp I've tried to change the switches header file to accept a pin array and signal pin to use with a Multiplexer this means declaring an empty array the plan is to pass the extra 4pins as binary arguments so when I add the switch to the sketch I can add the binary pointer to each dcs bios switch. Ie mux pins s0,s1,s2,s3 for mux channel one I'm leaving the size empty for now. But the dcs bios instance would look like this DcsBios::Switch2Pos masterCautionBtn("UFC_MASTER_CAUTION", [0,0,0,0] , 10); where [0,0,0,0] represents the mux channel to listen to and 10 is the pin connected to the mux signal pin. Please let me know if I have the right idea. The most I ever coded was ws2812s controlled with a pulse in on 3 inputs and reading IR hex to write a pwm to a separate output all on a pro-mini Edited December 22, 2021 by Trigger357 Added text/files Link to comment Share on other sites More sharing options...
ColdFront_WI Posted February 4, 2022 Share Posted February 4, 2022 I've scoured and can't seem to find an answer...is it possible for DCS-BIOS to execute non-aircraft tasks? If so, is there documentation somewhere? Examples would be pause, active pause, toggle labels, recenter headset, etc. Thanks! ColdFront_WI Home-built Hornet pit, detailed plans available on GitHub Virpil WarBRD base, TM Hornet/Warthog grip, TM Warthog Throttle, Logitech G Pro rudder pedals MSI MPG Z390M, i9-9900k @ 5.0GHz with Noctua NH-D15, RTX 2080ti FE, 32GB DDR4 @ 3200MHz, 1TB NVMe M.2 SSD, HP Reverb [sIGPIC][/sIGPIC] Link to comment Share on other sites More sharing options...
No1sonuk Posted February 4, 2022 Share Posted February 4, 2022 2 hours ago, ColdFront_WI said: I've scoured and can't seem to find an answer...is it possible for DCS-BIOS to execute non-aircraft tasks? If so, is there documentation somewhere? Examples would be pause, active pause, toggle labels, recenter headset, etc. Thanks! Not sure on DCS-BIOS, but you could use a Pro Micro or Leonardo in joystick or keyboard mode and use ordinary binds. Link to comment Share on other sites More sharing options...
bnepethomas Posted February 7, 2022 Share Posted February 7, 2022 On 2/4/2022 at 1:05 PM, ColdFront_WI said: I've scoured and can't seem to find an answer...is it possible for DCS-BIOS to execute non-aircraft tasks? If so, is there documentation somewhere? Examples would be pause, active pause, toggle labels, recenter headset, etc. Thanks! very confident the answer is no - I'm using an Arduino Due for those tasks Link to comment Share on other sites More sharing options...
Rapti Posted February 18, 2022 Share Posted February 18, 2022 On 2/4/2022 at 4:05 AM, ColdFront_WI said: I've scoured and can't seem to find an answer...is it possible for DCS-BIOS to execute non-aircraft tasks? If so, is there documentation somewhere? Examples would be pause, active pause, toggle labels, recenter headset, etc. Thanks! I use a LeoBodnar board for non aircraft commands Link to comment Share on other sites More sharing options...
molevitch Posted February 19, 2022 Share Posted February 19, 2022 On 2/4/2022 at 3:05 AM, ColdFront_WI said: I've scoured and can't seem to find an answer...is it possible for DCS-BIOS to execute non-aircraft tasks? If so, is there documentation somewhere? Examples would be pause, active pause, toggle labels, recenter headset, etc. Thanks! I use VoiceAttack for these kinds of commands. It works beautifully for me. SCAN Intel Core i9 10850K "Comet Lake", 32GB DDR4, 10GB NVIDIA RTX 3080, HP Reverb G2. Custom Mi-24 pit with magnetic braked cyclic and collective. See it here: Molevitch Mi-24 Pit. [sIGPIC][/sIGPIC] www.blacksharkden.com Link to comment Share on other sites More sharing options...
Xenia Posted April 14, 2022 Share Posted April 14, 2022 Hi, I’m new here :). Never thought I’d have to ask advice on a forum, thought I’d somehow manage myself (I’m on first-name basis with electronics and programming, I’d like you to know). As it turns out, I suck at plane-building :D. I’ve tried working with DCS-BIOS by analyzing the data stream sent to the COM-port. It looked simple, packages consisting of “initial address” and some amount of different data stored at said address and following it. Addresses are always even cause DCS-BIOS always transfers data through a 16-bit word (2 bytes). I think DCS-BIOS just transfers data bits from a game’s memory block. What I don’t get is how it cuts up those memory bits for transfer. Some entries looked paradoxical to me. For example, the name of the plane «Su-25T» (it starts from zero point) sometimes get sent starting from 3rd and 5th letters (?!), capturing pointless bytes outside the line. It’d be complete nonsense if DCS-BIOS understood what it even transfers. Otherwise, it'd send not some memory bits, but data related to specific plane instruments. I think it’s obvious that it itself doesn’t know the meaning of these numbers and tries to send the bits of a memory block which data changed since the last transfer. For example, it sends the «time meter» (FFFE) every time when it increases by 1, while the name of the plane is rarely mentioned. My problem is how bind the addresses to specific measuring instruments in the cockpit. Specifically, I'm only interested in two parameters - roll and pitch. At first I hoped that I would recognize the roll and pitch from the changes that occur when flying the aircraft. However, it turned out that even in free flight, when I do not touch any controls with my hands, a lot of the data transmitted by the DCS-BIOS changes over time, some of them quite significantly. In short, I could not identify the roll and pitch in the data. Hence my question to the forum users: does the DCS-BIOS give information about roll and pitch to the COM port, and if so, where can I look for it? Ideally, I would like to be poked with my nose into the information where the binding of devices to addresses would be written, instead of referring to some sketches that supposedly know everything and can do everything :). But in the worst case, I also agree with the sketches. Link to comment Share on other sites More sharing options...
No1sonuk Posted April 14, 2022 Share Posted April 14, 2022 (edited) 2 hours ago, Xenia said: [Stuff about reading data] Why are you trying to re-invent the wheel? Why not just use DCS-BIOS and the Arduino libraries? Have you looked at the Flightpanels Fork Github? I think they have all the code there. https://github.com/DCSFlightpanels/dcs-bios Edited April 14, 2022 by No1sonuk Link to comment Share on other sites More sharing options...
hannibal Posted October 31, 2022 Share Posted October 31, 2022 I am very late to the DCS BIOS game... if someone were to build a Guage panel, and use it for multiplayer with IC (integrity check) will the panel work? I know dcs-bios uses lua exports..I'm just concerned that, joining a server with export limitations will render the Guage panel useless.. find me on steam! username: Hannibal_A101A http://steamcommunity.com/profiles/76561197969447179 Link to comment Share on other sites More sharing options...
CYPHER11 Posted October 31, 2022 Share Posted October 31, 2022 Hey Guys, first of all thank you so much for DCS Bios - all LEDs and Switches are working. My only problem is the servo. i built an Standby Airspeed indicator and with a gear so that 180° of the servo can drive 360 on the scale. But i can´t get the two values work so that the Speed indicator work. Is there by any chance a solution to define different values? So easy to speak - if airspeed in the Sim is 100kt, can i read out the value of dcs bios and define in the Arduino IDE "if speed is 100kt (or whichever value DCS Bios has) then set this amount of steps to match the needle on gauge with the speed in the game? If i set the standard values the Servo will start moving at approx. 100kt, but not before. Any help with that? How can i read out Values from DCS Bios? So the value between 0 and 65535 and can i define at which value how many steps the servo should take? Thanks in advance Link to comment Share on other sites More sharing options...
No1sonuk Posted November 1, 2022 Share Posted November 1, 2022 I found with the P51 that the gauge in the game uses a lookup table to make it non-linear to match the real one The solution is doing the same, with some interpolation maths, or redraw the gauge scale so that it's linear. The absolute speed numbers are available from the "common data" section. Link to comment Share on other sites More sharing options...
CYPHER11 Posted November 3, 2022 Share Posted November 3, 2022 On 11/1/2022 at 11:14 AM, No1sonuk said: I found with the P51 that the gauge in the game uses a lookup table to make it non-linear to match the real one The solution is doing the same, with some interpolation maths, or redraw the gauge scale so that it's linear. The absolute speed numbers are available from the "common data" section. Hmm ok thank you. So there is no code to „align“ the gauge? Where do I found the „common data“? Link to comment Share on other sites More sharing options...
No1sonuk Posted November 3, 2022 Share Posted November 3, 2022 It's where you select the aircraft module. Link to comment Share on other sites More sharing options...
Katalan Posted December 7, 2022 Share Posted December 7, 2022 Hi guys! I made a multiplane desktop pit with a lot of functionalities and use DCS-BIOS to drive all caution lights, but I have a question: With AV-8B we don't have Seat Not Armed Caution light, but DCS-BIOS can read the lever position: 0-dissarmed 1-Armed, but it means that my Caution LED lit up when the seat is armed. ¿There is any way to invert that logic in the code for this specific plane? All others have "Seat Check" lights that lit when they have to. Could be a huge upgrade to write the sentence in the arduino code plus a "-1" value as example to invert that logic where 0=OFF - 1=ON. Link to comment Share on other sites More sharing options...
crash test pilot Posted December 7, 2022 Share Posted December 7, 2022 You can invert a command by adding "true" like this: DcsBios::Switch2Pos starterCover("STARTER_COVER", 3, true); 1 1 Link to comment Share on other sites More sharing options...
No1sonuk Posted December 8, 2022 Share Posted December 8, 2022 I wrote a version of the LED output instruction that accepts the "true" or "false" to invert the LED output. IIRC the Flightpanels fork guys included it in an update recently. 1 1 Link to comment Share on other sites More sharing options...
Katalan Posted December 9, 2022 Share Posted December 9, 2022 On 12/7/2022 at 9:01 PM, crash test pilot said: You can invert a command by adding "true" like this: DcsBios::Switch2Pos starterCover("STARTER_COVER", 3, true); Great to know it!! I will try that way! Link to comment Share on other sites More sharing options...
Katalan Posted December 9, 2022 Share Posted December 9, 2022 After try and fail, the "true-false" option doesn't works on current DCS-BIOS, but I created a new class LEDinv and add this option to the general functions of DCS-BIOS, it runs like a charm. You just need to substitue this two files on actual ones and use in IDE: DcsBios::LEDinv seatSafeLever(adress1, adress2, pin); instead of: DcsBios::LED samLight(adress1, adress2, pin); Easy to do it! LedsInv.h DcsBios.h Link to comment Share on other sites More sharing options...
No1sonuk Posted December 9, 2022 Share Posted December 9, 2022 I've asked the guy that told me it was included if it has been released yet. Link to comment Share on other sites More sharing options...
No1sonuk Posted December 11, 2022 Share Posted December 11, 2022 New release of the Flightpanels fork has the inverting LED code support. https://github.com/DCSFlightpanels/dcs-bios-arduino-library/releases/tag/0.3.8 Link to comment Share on other sites More sharing options...
Katalan Posted December 11, 2022 Share Posted December 11, 2022 Good to know the project is alive with the fork! Link to comment Share on other sites More sharing options...
No1sonuk Posted December 11, 2022 Share Posted December 11, 2022 1 hour ago, Katalan said: Good to know the project is alive with the fork! The Flightpanels fork is very much alive. Link to comment Share on other sites More sharing options...
Recommended Posts