

No1sonuk
Members-
Posts
1601 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Everything posted by No1sonuk
-
What exactly do you want and why? The "why" would help with suggesting alternatives.
-
I'm surprised the Hub version of DCS-BIOS still works at all. It hasn't been updated for years.
-
Hollow axle steppers are NOT the solution for continuous rotation. They will only be of any use until your wires get twisted so much they break...
-
The problem with slip rings is electrical noise disrupting USB signals as they rotate. HOWEVER, there IS a possible solution... Only send power through the slip rings, and put a WiFi ESP32 inside the gimbal
-
-
Switch configuration for takeoff and cold and dark
No1sonuk replied to lesthegrngo's topic in Home Cockpits
Probably rotate from left to right. -
This is 3-position code with previous state checking: /* Tell DCS-BIOS to use a serial connection and use interrupt-driven communication. The main program will be interrupted to prioritize processing incoming data. This should work on any Arduino that has an ATMega328 controller (Uno, Pro Mini, many others). */ #define DCSBIOS_IRQ_SERIAL #include "DcsBios.h" int LandLightSWprevState = 1; int LandLightSWstate = 1; #define LandLightPin 3 #define TaxiLightPin 2 /* paste code snippets from the reference documentation here */ void setup() { DcsBios::setup(); pinMode ( LandLightPin, INPUT_PULLUP); pinMode ( TaxiLightPin, INPUT_PULLUP); } void loop() { DcsBios::loop(); LandLightSW(); } void LandLightSW () { LandLightSWstate = 1; if (digitalRead(LandLightPin) == LOW) {LandLightSWstate = 2;} else if (digitalRead(TaxiLightPin) == LOW) {LandLightSWstate = 0;} if (LandLightSWstate != LandLightSWprevState){ char buffer[2]; //the ASCII of the integer will be stored in this char array utoa(LandLightSWstate,buffer,10); //(integer, yourBuffer, base) sendDcsBiosMessage ("LANDING_LIGHTS", buffer); LandLightSWprevState = LandLightSWstate ; } } This is for the A-10 landing/taxi light switch. It has no debouncing code, so be careful if that's a problem.
-
This link doesn't give your post.
-
"0" and "1" are the positions of the switch. A 3-position switch also has "2". "1" is the middle position in that case.
-
I'm pretty sure the "DcsBios::" is not required. I don't remember using it with this function. SendDcsBiosMessage is a bottom level function. IIRC, "SendDcsBiosMessage" will wait until DCS confirms it has received the message, but "tryToSendDcsBiosMessage" doesn't wait.
-
Let me introduce you to SendDcsBiosMessage... This magic function is what's at the bottom of all the other functions like switch2pos, etc. So for example: SendDcsBiosMessage ("CDU_V", "1"); // This tells DCS that CDU button V has been pressed. SendDcsBiosMessage ("CDU_V", "0"); // This tells DCS that CDU button V has been released. You could write your code to use this using switch/case code
-
There's always the LCD or OLED display option.
-
Arduino-code to get the F/A-18C instrument-panels LEDs lit.
No1sonuk replied to Purzel's topic in Home Cockpits
This is likely your problem. Hub is woefully out of date - especially for the F-18. You'll be better off removing it and switch to the "Flightpanels Fork", which is actively updated. https://github.com/DCS-Skunkworks -
I just tested it, and it did nothing. It didn't move any switches in-game.
-
3 pins (single pole) will do.
-
Code and font files attached. Written for Arduino Uno and 3.3 inch TFT shield. NOTE: It is NOT EVEN REMOTELY finished. There are test strings and some things don't work. IIRC, the conclusion is that it may require special code to make it work properly. It's NOT nearly as simple as the CDU. DCS_ARC210_3.3TFT_Test.zip
-
Batch com port initialisation: There's the multi com port .bat as mentioned above, but you might be able to write a version that will also trigger DCS after doing the socat things.
-
The ARC-210 code is a PITA because it has different formats between screens. I don't remember where the devs have left it. I'll look later. I made something that kind of works. I'll post it when I get home.