Jump to content

No1sonuk

Members
  • Posts

    1594
  • Joined

  • Last visited

Everything posted by No1sonuk

  1. The FlightPanels Fork control reference only shows these: Gear status 0-1 Weight ON Wheels Left Gear 0-1 Weight ON Wheels Nose Gear 0-1 Weight ON Wheels Right Gear 0-1 Left Speed Brake 0-65535 Right Speed Brake 0-65535 The numbers are the possible values. There's no flaps value I can see.
  2. I just tried again after a few Windows updates, and although it seemed to be a little bit jumpy in the test app, it worked OK with Opentrack in DCS.
  3. 3d print in transparent or white PLA and paint/engrave as for sheet construction.
  4. When I said some mods can't be used with Hub, I meant that modules, etc. added after Hub was "stalled" couldn't be compiled using the Hub version of DCS-BIOS as the code for them wouldn't be there. However, it looks like you found an interesting combination... The arduino library is used to code your text into something the arduino's processor can read. It appears that once you've done that (by compiling your code using the Flightpanels library), the easier to use Hub interface can then be used to connect the arduino to DCS. Nice find.
  5. Has anyone else suddenly had problems with a PS3 Eye camera randomly freezing? I've tried several different drivers and ports. With the only driver that works at all (CL-Eye-Driver-5.3.0.0341-Emuline), the image freezes randomly. This problem is independent of the OpenTrack software. Are there any proper Win10-compatible cameras that can do the job?
  6. You can add backlit buttons to any panel...
  7. I believe you'll just need to change the TX enable pin defines.
  8. I have the Latest Flightpanels arduino library, and there's no T suffix I can see. All my hub code works OK in FP. There are a few differences, but that is because of the one thing Hub is missing - maintenance. Hub is not currently updated, so new aircraft and some modifications can't be used with Hub. Flightpanels is actively updated, so even though it may have a lower "version number" than Hub, it is actually more recently updated. For example: I don't think Hub can do this: DcsBios::SwitchWithCover2Pos pltLaunchbarAbort("PLT_LAUNCHBAR_ABORT", "PLT_LAUNCHBAR_ABORT_COVER", 6);
  9. They're on the reddit link.
  10. AFAIK there's no added T. Are you looking at a test version?
  11. LOL You're welcome.
  12. The Flightpanels fork of DCS-BIOS has a function added recently that opens the cover and presses the button with a single input.
  13. Not sure on DCS-BIOS, but you could use a Pro Micro or Leonardo in joystick or keyboard mode and use ordinary binds.
  14. As I said in the other thread where you asked, try without the "Serial.begin(9600);" line. I think that's probably interfering with the DCS-BIOS setup of the serial port.
  15. Try taking out the "Serial.begin(9600);". I think that's probably interfering with the DCS-BIOS setup of the serial port.
  16. I just downloaded the latest DCS-BIOS FP version from Github and tried the Master Caution example sketch on the A-10CII. It worked perfectly.
  17. I've not tried anything for a while. I'll have a look after work (it's 1:15am Tuesday right now). Poke me if I forget and don't respond by Wednesday.
  18. No. There is a "standard" Arduino library as well. One that is more up to date than the "Hub" version you are using. Flightpanels is also actively updated. Hub currently isn't.
  19. Try this: // These need to be at the top of the code int CannonRoundState = 0; // Global variable for checking the state of the light const int CannonRoundLEDpin = 13; // The pin that the LED is attached to // This needs to be in the void setup section: pinMode(CannonRoundLEDpin, OUTPUT); // This goes with the DCS-BIOS code: void onWeaponsCannonRoundChange(unsigned int newValue) { if (newValue != CannonRoundState) { if (newValue==1){ // If the value is 1, set the LED off digitalWrite (CannonRoundLEDpin, LOW); // I'd suggest using pin labels like this to keep track easier } // Just declare them as constants at the beginning of the code else{ // If the value is not 1, set the LED on digitalWrite (CannonRoundLEDpin, HIGH); } } CannonRoundState = newValue; } DcsBios::IntegerBuffer weaponsCannonRoundBuffer(0x1886, 0x0008, 3, onWeaponsCannonRoundChange); I've added previous state checking and the other lines needed to make it work.
  20. It might be pulsing because there's no previous state detection in that code I posted. OR Did you remove the original LED code line? If you didn't, one is trying to turn it on and the other is trying to turn it off. BTW, I looked in the DCS-BIOS Flightpanels Fork source code, and there doesn't appear to be a "true" or "false" type option in it.
  21. For that code to work, your LED needs to be wired as in the "active high" drawing in my earlier post. Can you draw how yours is connected?
  22. At work we use a hobby airbrush for doing minor touch-up to paintwork where the big spray gun is too much. That's 3-part exterior paint for commercial aircraft...
  23. Have a look here: http://robojax.com/node/912 There's a version of the schematic with the diode in place. Just remember that it's placed "the wrong way round" - pointing up. This is so that it won't conduct when the coil is turned on, but it will basically short-circuit the back-EMF when the coil is turned off. The switches thing is a bit more complicated. I've been grappling with a similar thing WRT the bomb, gear and flaps levers of the Mosquito. The problem is that DCS-BIOS overrides the game's control of switches - if it's held on by DCS-BIOS, the game can't override it. This is a problem for switches and controls that the game needs to change automatically. So, my current plan is a kind of hybrid device. My THEORY so far (untested): The Pro Micro and Leonardo can act as joystick devices. You can program them so that the computer sees them as a keyboard or joystick, then you bind the buttons in DCS. A Leo Bodnar board could also be used for the switch input. Then you use DCS-BIOS to read the game's position of the switch and turn on the holding coil. Theoretically, this should make the coil automatically hold the switch when you turn it on, and then release it when the game wants to. So how to read the switches? Switch the control reference view to "advanced" and you'll see output code lines. For the F-18 APU, you get this: void onApuControlSwChange(unsigned int newValue) { /* your code here */ } DcsBios::IntegerBuffer apuControlSwBuffer(0x74c2, 0x0100, 8, onApuControlSwChange); Or this: DcsBios::LED apuControlSw(0x74c2, 0x0100, PIN); Now I THINK you could use the "LED" code line to drive this switch's coil as it only has one position. The 3-position crank one has this: void onEngineCrankSwChange(unsigned int newValue) { /* your code here */ } DcsBios::IntegerBuffer engineCrankSwBuffer(0x74c2, 0x0600, 9, onEngineCrankSwChange); and further up it says the expected values are "0 = held left/down, 1 = centered, 2 = held right/up" You then put some code where it says "/* your code here */" that interpret the number. e.g: void onEngineCrankSwChange(unsigned int newValue) { switch (newValue) { case 0: // Held left/down digitalWrite (CrankLeftHold, HIGH); // Turn on left hold coil digitalWrite (CrankRightHold, LOW); // Turn off right hold coil break; case 1: // centred digitalWrite (CrankLeftHold, LOW); // Turn off left hold coil digitalWrite (CrankRightHold, LOW); // Turn off right hold coil break; case 2: // Held right/up digitalWrite (CrankLeftHold, LOW); // Turn off left hold coil digitalWrite (CrankRightHold, HIGH); // Turn on right hold coil break; default: // failsafe digitalWrite (CrankLeftHold, LOW); // Turn off left hold coil digitalWrite (CrankRightHold, LOW); // Turn off right hold coil break; } } DcsBios::IntegerBuffer engineCrankSwBuffer(0x74c2, 0x0600, 9, onEngineCrankSwChange); NOTEs: My code is written without testing - I am no arduino expert and I don't have the F-18. The DCS-BIOS code comes from the Flightpanels fork control reference, and so some parts may not work in Hub.
  24. OK Try this instead of that LED line: void onWeaponsCannonRoundChange(unsigned int newValue) { if (newValue==1){ // If the value is 1, set the LED off digitalWrite (CannonRoundLEDpin, LOW); // I'd suggest using pin labels like this to keep track easier } // Just declare them as constants at the beginning of the code else{ // If the value is not 1, set the LED on digitalWrite (CannonRoundLEDpin, HIGH); } } DcsBios::IntegerBuffer weaponsCannonRoundBuffer(0x1886, 0x0008, 3, onWeaponsCannonRoundChange); Don't forget to leave the LED connected as normal.
  25. OK... Let's assume I have no idea about what any of the KA-50 switches or LEDs do. I'll be more specific... What is the name of the switch and/or LED in the DCS-BIOS control reference? Edit: Or even post your code snippet for what you have working.
×
×
  • Create New...