No1sonuk
Members-
Posts
1404 -
Joined
-
Last visited
About No1sonuk
- Birthday 12/31/1971
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
-
OK. That's the "Hub" version that's no longer supported by its original developer. I'm surprised it works at all now. You should switch to the "Skunkworks" fork (formerly called the Flightpanels Fork). That's actively maintained and updated. https://github.com/DCS-Skunkworks/dcs-bios There's an installation guide here: And a Discord here: https://discord.gg/T3bHedJk
-
F-5E simpit cockpit dimensions and flight controls
No1sonuk replied to Bucic's topic in Home Cockpits
He's a bit annoying. Myself and one of the DCS-BIOS Fork devs have posted a few responses to questions from others on there, but he's deleted them. I can only assume it's to increase his traffic when he finally gets around to making tutorial videos for things we've already done a while ago... -
F-5E simpit cockpit dimensions and flight controls
No1sonuk replied to Bucic's topic in Home Cockpits
If you can, do resistance checks with the leads both ways round. -
No1sonuk started following The Viper Project , Odd issue with homemade rotary encoder panel, using Leobodnar board , A10 Yaw Trim Pot W/DCS Bios Not Working and 2 others
-
Odd issue with homemade rotary encoder panel, using Leobodnar board
No1sonuk replied to Hoirtel's topic in Home Cockpits
Do you have more than one Leo Bodnar device with the same name? -
F-5E simpit cockpit dimensions and flight controls
No1sonuk replied to Bucic's topic in Home Cockpits
The data I have for an Airbus landing gear control lever says the panel lighting power is 5VAC 400Hz or 5VDC. -
using six switches to control 8 inputs - can it be done?
No1sonuk replied to lesthegrngo's topic in Home Cockpits
A digital output Hall effect sensor would be treated as a switch in DCS-BIOS if you get the open-collector or open-drain types. The transistor operates as a switch, shorting the output terminal to ground when the magnetic flux density is higher than the Hall effect sensor ‘on’ point. DCS-BIOS would turn on the internal pullup resistors required for use of open-collector or open-drain outputs, so no additional compenents should be required. Be careful about the type of digital Hall effect sensor too. "There are two types of digital Hall effect sensors: bipolar and unipolar, which differ depending on the type of magnetic field needed to operate them. Bipolar digital Hall effect sensors need a positive magnetic field (which comes from the South pole of a magnet) to operate them, and use the negative field (from the North pole) to release them. Unipolar sensors only need a single magnetic South pole to both operate and release them as they move in and out of the magnetic field." You'll probaly want unipolar if you just want to detect the presence and absence of the magnet. And FYI, this one is available in surface mount form. Not recommending this over others, just the first one that popped up. https://www.ti.com/product/DRV5023#params -
Which version of DCS-BIOS are you using, and what code line?
-
See example 2 here: https://github.com/DCS-Skunkworks/dcs-bios-arduino-library/wiki/RotaryEncoder
-
I'm surprised Hub works at all with the AH-64.
-
UK source GBP 2.39: https://www.active-robots.com/rotary-switch-10-position.html Though the datasheet indicates it's NOT 10 over 360 degrees. Looks like it might be like a 12-way is limited to 10.
-
Series connection would be better then if you need two LEDs - each Arduino pin is only good for 40mA max. The 200mA overall capacity is still a thing, though. That's because of the overall package power tolerance.
-
NP. Just making sure you weren't using the HUB version (you're not ). The latest version of DCS-BIOS Fork doesn't have the "-" character in those locations. WRT names you can't change, there are some: e.g. in input functions: DcsBios::Switch2Pos afcsAlt("AFCS_ALT", PIN); You can't change "AFCS_ALT" because that's what DCS recognises. "DcsBios::Switch2Pos" is part of the function definition, and can't be changed either. "afcsAlt" is a unique name for that instance of the Switch2Pos function, and it CAN be changed. And in LED output functions (if you have one of the recent versions of the DCS-BIOS Arduino library): DcsBios::LED extStrobeLeft(A_10C_EXT_STROBE_LEFT, PIN); "A_10C_EXT_STROBE_LEFT" is a label mapped to address and mask figures that used to be in the reference, but were changed to these names to make updating code easier. When a DCS update requires the address and mask values to change, users that have these labels in their code only need to recompile the code after updating the library files. That line looks like this in the old system: DcsBios::LED extStrobeLeft(0x11bc, 0x4000, PIN); With the new setup, "A_10C_EXT_STROBE_LEFT" is defined as "0x11bc, 0x4000" in the addresses file. If that part needs to change, the "A_10C_EXT_STROBE_LEFT" definition will be updated as part of the library update, meaning the users don't need to track down and change all the addresses and masks that were affected. As before, "DcsBios::LED" is the non-changeable function definition and "extStrobeLeft" is the changeable unique name of that instance. In case you're wondering about why you would want to change the instance name, consider if you want two pins to respond to the same light signal for some reason. This would fail to compile because the names are not unique: DcsBios::LED extStrobeLeft(A_10C_EXT_STROBE_LEFT, 2); DcsBios::LED extStrobeLeft(A_10C_EXT_STROBE_LEFT, 3); This WOULD work because the names are unique: DcsBios::LED extStrobeLeftA(A_10C_EXT_STROBE_LEFT, 2); DcsBios::LED extStrobeLeftB(A_10C_EXT_STROBE_LEFT, 3);
-
NP Ooh. That would help with things like the P51 ASI that has a non-linear scale on the gauge, but a linear value output from DCS.
-
Ah. OK. What you need to do is make the light control a separate function that uses the brightness and enable global variables, and is called every time one of them changes. Don't put the light control in the main loop - it doesn't need to run every loop, only when one of the variables changes. Try this: int StateOutR = 0; int LEDBrightness = 255; const int LEDOutR = 6; // This sets the LEDBrightness variable based on the value of PltSignalL (0-65535) void onPltSignalLChange(unsigned int newValue) { LEDBrightness = map(newValue, 0, 65535, 0, 255); lightControl(); // Call the light control because a variable changed } DcsBios::IntegerBuffer pltSignalLBuffer(0x8734, 0xffff, 0, onPltSignalLChange); //Right Out Board 'ARM' // This sets the StateOutR variable based on the value of PltJettROutboardL (0-1) void onPltJettROutboardLChange(unsigned int newValue) { StateOutR = newValue; lightControl(); // Call the light control because a variable changed } DcsBios::IntegerBuffer pltJettROutboardLBuffer(0x872a, 0x2000, 13, onPltJettROutboardLChange); void setup() { DcsBios::setup(); pinMode(LEDOutR, OUTPUT); } void loop() { DcsBios::loop(); } void lightControl() { // This controls the light based on the variable values if (StateOutR == 1) { analogWrite (LEDOutR, LEDBrightness); } else { analogWrite (LEDOutR, 0); } }
-
A normal Arduino can handle a maximum of about 200mA in LEDs. That's 20 LEDs at 10mA. However, that panel is using 2 LEDs per light for the rectangular ones, so if the LED forward voltage is less than 2.5V (Red LEDs are usually somewhere around 2V but check yours), it's theoretically possible to run them in series to reduce the current load on the Arduino. Basically; 10mA through two LEDs in series is 10mA total. 10mA through each of two LEDs in parallel is 20mA total.