Jump to content

Yngwie84

Members
  • Posts

    21
  • Joined

  • Last visited

Posts posted by Yngwie84

  1. Hi!

     

    I've been able to export lights and do all kind of weird things with switches and encoders. Now I've decided to move forward and started experimenting with LCDs.

     

    My first attempt was with the Huey UHF radio. I was partially successful since I was able to export channel preset, and the first part of the frequency

     

     

     

    This is what I have, if anyone can help me figure out what i'm putting wrong!!! THANKS A LOT!!

     

     

     

     

    /*

    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 <LiquidCrystal.h>

    #include "DcsBios.h"

     

    LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

     

     

    /* paste code snippets from the reference documentation here */

     

     

    void onUhfFreqChange(char* newValue) {

    lcd.setCursor(0, 1);

    lcd.print(newValue);

    }

    DcsBios::StringBuffer<6> uhfFreqBuffer(0x14e0, onUhfFreqChange);

     

     

    void setup() {

    DcsBios::setup();

    lcd.begin(0,1);

    lcd.clear();

    }

     

    void loop() {

    DcsBios::loop();

    }

     

     

     

     

     

    I would also like to know how can I have more space between Preset channel and freq because when i reach 10 the don't have any room and you get a 5 digit number, which is rather difficult to read and understand.

     

    Thanks for your help!

     

    Hi. You are not defining how big you screen is. lcd.begin(16, 2); in setup.

    I have two lcs, one 16,2 same as yours. but also one 20,4.

    I made a program for you, with a 16,2 display.

    It will always display "Pre:" on the first row and "UHF" on the second line, what you type in setup will be set once when the display starts.

     

    Play around with the numbers in lcd.setCursor(5, 1); and see what happens if you increase it.

     

    Hope this helps you.

     

     

     

    // ------------------------------------------------------------------

    // HUEY

    // ------------------------------------------------------------------

    // Yngwie84 27 MARCH 2019

    // ------------------------------------------------------------------

    // DCS BIOS DCS BIOS DCS BIOS DCS BIOS

    // ------------------------------------------------------------------

    #define DCSBIOS_IRQ_SERIAL

    #include "DcsBios.h"

    #include <LiquidCrystal.h>

    const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;

    LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

     

    // ------------------------------------------------------------------

    // LCD DISPLAY LCD DISPLAY LCD DISPLAY

    // ------------------------------------------------------------------

    void onUhfPresetChange(char* Preset) {

    lcd.setCursor(5, 0);

    lcd.print(Preset);

    }

    DcsBios::StringBuffer<2> uhfPresetStrBuffer(0x14de, onUhfPresetChange);

     

    void onUhfFreqChange(char* UHFValue) {

    lcd.setCursor(5, 1);

    lcd.print(UHFValue);

    }

    DcsBios::StringBuffer<6> uhfFreqBuffer(0x14e0, onUhfFreqChange);

     

    // ------------------------------------------------------------------

    // SETUP SETUP SETUP SETUP SETUP

    // ------------------------------------------------------------------

     

    void setup() {

    DcsBios::setup();

    // set up the LCD's number of columns and rows:

    lcd.begin(16, 2);

    // Print a message to the LCD.

    lcd.print("Pre:");

    lcd.setCursor(0, 1);

    lcd.print("UHF:");

    }

     

    void loop() {

    DcsBios::loop();

    }

     

  2. Hi! Is there any way to export the Huey Clock to a digital format? To use an LCD

     

    Yes.

     

    I did it 11 days ago.

    Seconds act a bit wierd after a cycle.

     

    There is more stuff in the code but you will find the clock in there.

    I can clean the code after work if you like. Just let me know.

     

     

    // ------------------------------------------------------------------

    // HUEY

    // ------------------------------------------------------------------

    // Yngwie84 15 MARCH 2019

    // Hardware:

    // Arduino Mega 2560.

    // ROTARY ENCODER 20P WITH SWITCH

    // 10KOHM POTENTIOMETER

    // ------------------------------------------------------------------

    // DCS BIOS DCS BIOS DCS BIOS DCS BIOS

    // ------------------------------------------------------------------

    #define DCSBIOS_IRQ_SERIAL

    #include "DcsBios.h"

    #include <LiquidCrystal.h>

    const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;

    LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

    // ------------------------------------------------------------------

    // ROTARY ENCODERS ROTARY ENCODERS ROTARY ENCODERS

    // ------------------------------------------------------------------

    // ENCODER 1 = PINA/B 45, 21);

    // ENCODER 2 = PINA/B 43, 20);

    // ENCODER 3 = PINA/B 41, 19);

    // ENCODER 4 = PINA/B 39, 18);

    // ------------------------------------------------------------------

    // PUSH BUTTONS PUSH BUTTONS PUSH BUTTONS

    // ------------------------------------------------------------------

    // ENCODER BUTTON 1 = PIN 53

    // ENCODER BUTTON 2 = PIN 51

    // ENCODER BUTTON 3 = PIN 49

    // ENCODER BUTTON 4 = PIN 47

    // JOYSTICK BUTTON 1 = PIN 2

    // ------------------------------------------------------------------

    // POTENTIOMETER POTENTIOMETER POTENTIOMETER

    // ------------------------------------------------------------------

    // POT 1 = PIN A3

    // POT 2 = PIN A2

    // POT 3 = PIN A1

    // POT 4 = PIN A0

    // SLIDER 1 = PIN A5???

    // JOYSTICK X = PIN A8

    // JOYSTICK Y = PIN A9

    // ------------------------------------------------------------------

    // LCD DISPLAY LCD DISPLAY LCD DISPLAY

    // ------------------------------------------------------------------

    void onUhfFreqChange(char* UHFValue) {

    lcd.setCursor(5, 0);

    lcd.print(UHFValue);

    }

    DcsBios::StringBuffer<6> uhfFreqBuffer(0x14e0, onUhfFreqChange);

     

    void onVhfcommFreqChange(char* VHFValue) {

    lcd.setCursor(5, 1);

    lcd.print(VHFValue);

    }

    DcsBios::StringBuffer<7> vhfcommFreqBuffer(0x14d2, onVhfcommFreqChange);

     

    void onVhfnavFreqChange(char* VHFNavValue) {

    lcd.setCursor(5, 2);

    lcd.print(VHFNavValue);

    }

    DcsBios::StringBuffer<6> vhfnavFreqBuffer(0x14ee, onVhfnavFreqChange);

     

    void onRaltDisplayChange(unsigned int Radar) {

    int val1= map(Radar,0,65000,0,65000); // max radar range.

    lcd.setCursor(5, 3);

    lcd.print(val1);

    }

    DcsBios::IntegerBuffer raltDisplayBuffer(0x14aa, 0xffff, 0, onRaltDisplayChange);

     

    void onClockHChange(unsigned int Timmar) {

    int val2= map(Timmar,0,65535,0,12); // max radar range.

    lcd.setCursor(12, 3);

    lcd.print(val2);

    }

    DcsBios::IntegerBuffer clockHBuffer(0x1478, 0xffff, 0, onClockHChange);

     

    void onClockMChange(unsigned int Minuter) {

    int val3= map(Minuter,0,65535,0,59); // max radar range.

    lcd.setCursor(15, 3);

    lcd.print(val3);

    }

    DcsBios::IntegerBuffer clockMBuffer(0x147a, 0xffff, 0, onClockMChange);

     

    void onClockSChange(unsigned int Sekunder) {

    int val4= map(Sekunder,0,65535,0,59); // max radar range.

    lcd.setCursor(18, 3);

    lcd.print(val4);

    }

    DcsBios::IntegerBuffer clockSBuffer(0x147c, 0xffff, 0, onClockSChange);

     

    // ------------------------------------------------------------------

    // SETUP SETUP SETUP SETUP SETUP

    // ------------------------------------------------------------------

     

    void setup() {

    DcsBios::setup();

    // set up the LCD's number of columns and rows:

    lcd.begin(20, 4);

    // Print a message to the LCD.

    lcd.print("VHF:");

    lcd.setCursor(0, 1);

    lcd.print("UHF:");

    lcd.setCursor(0, 2);

    lcd.print("NAV:");

    lcd.setCursor(0, 3);

    lcd.print("ALT:");

    lcd.setCursor(14, 3);

    lcd.print(":");

    lcd.setCursor(17, 3);

    lcd.print(":");

    }

     

    void loop() {

    DcsBios::loop();

    }

     

  3. This shows how even a basic button box can add allot more immersion than using a keyboard and mouse.

     

    Maybe my multi-aircraft DCS-BIOS technique can be of some help with your generic controls?

     

    https://forums.eagle.ru/showthread.php?t=231236

     

    I was looking in to that but quoting you, "Any output controls like LEDs or servos aren't supported."

    I use three gauges.

    I have no LED's yet, but I plan on making a warning panel in the future.

    As it is now, if I change aircraft I download a new .ino to the board.

    I've looked in the thread with a button for polling controls as well.

     

    As it is now I have everything on just one Arduino mega.

    I have a nano that I use for testing, plan on buying some MAX487 in the future and try Master/slave.

  4. My current test code for the Huey if anyone is interested.

     

     

     

     

    // ------------------------------------------------------------------

    // HUEY HUEY HUEY HUEY

    // ------------------------------------------------------------------

    // Yngwie84 22 MARCH 2019

    // Hardware:

    // 1x Arduino Mega 2560.

    // 4x ROTARY ENCODER 20P WITH SWITCH

    // 8x 10KOHM POTENTIOMETER

    // 4x ROTARY POS SWITCH

    // 3x Adafruit AUTOMOTIVE GAUGE STEPPERMOTOR - x27.168

    // 3x Adafruit TB6612 1.2A DC/Stepper Motor Driver Breakout Board

    // ------------------------------------------------------------------

    // DCS BIOS DCS BIOS DCS BIOS DCS BIOS

    // ------------------------------------------------------------------

    #define DCSBIOS_IRQ_SERIAL

    #include "DcsBios.h"

    #include <Stepper.h>

    #define STEPS 630 // steps per revolution (limited to 315°)

    #define COIL01 2 // VVI GAUGE

    #define COIL02 3 // VVI GAUGE

    #define COIL03 4 // VVI GAUGE

    #define COIL04 5 // VVI GAUGE

    #define COIL05 6 // SLIP GAUGE

    #define COIL06 7 // SLIP GAUGE

    #define COIL07 8 // SLIP GAUGE

    #define COIL08 9 // SLIP GAUGE

    #define COIL09 10 // FUEL GAUGE

    #define COIL10 11 // FUEL GAUGE

    #define COIL11 12 // FUEL GAUGE

    #define COIL12 13 // FUEL GAUGE

    #define BUTTON_1 22

    #define BUTTON_2 24

    #define BUTTON_3 26

    #define BUTTON_4 28

    #define RADIO_1_VOLUME A0

    #define RADIO_2_VOLUME A1

    #define TONE_VOLUME A2

    #define BRIGHTNESS A3

    #define RWR_VOLUME A5

    #define LIGHTS_1 A4

    #define LIGHTS_2 A6

    #define LIGHTS_3 A7

    #define SW1_1 43

    #define SW1_3 45

    #define SW2_1 51

    #define SW3_1 49

    #define SW4_3 47

    #define SW4_4 53

    #define ROT1_1 35

    #define ROT1_3 39

    #define ROT2_1 23

    #define ROT2_2 25

    #define ROT2_3 27

    #define ROT2_4 29

    #define ROT2_5 31

    #define ROT2_6 33

    #define ROT3_1 37

    #define ROT3_3 41

    //#define ROT4_1

    //#define ROT4_3

    //#define ROT5_1

    //#define ROT5_3

    #define ROT6_1 38

    #define ROT6_2 40

    #define ROT6_3 42

    #define ROT6_4 44

    #define ROT6_5 46

    #define ROT6_6 48

    int pos1 = 0; //Position in steps(0-630)= (0°-300°)

    int pos2 = 0; //Position in steps(0-630)= (0°-300°)

    int pos3 = 0; //Position in steps(0-630)= (0°-300°)

    #define PIN_0 90

    #define PIN_1 91

    #define PIN_2 92

    #define PIN_3 93

    #define PIN_4 94

    #define PIN_5 95

    #define PIN_6 96

    // ------------------------------------------------------------------

    // ROTARY SWITCHES ROTARY SWITCHES

    // ------------------------------------------------------------------

    // ROT1_1 ROT1_3

    // ROT2_1 ROT2_2 ROT2_3 ROT2_4 ROT2_5 ROT2_6

    // ROT3_1 ROT3_3

    // ROT4_1 ROT4_3 // NOT CONNECTED

    // ROT5_1 ROT5_3 // NOT CONNECTED

    // ROT6_1 ROT6_2 ROT6_3 ROT6_4 ROT6_5 ROT6_6

    const byte domeLightSwPins[3] = {ROT6_1, ROT6_2, ROT6_3};

    DcsBios::SwitchMultiPos domeLightSw("DOME_LIGHT_SW", domeLightSwPins, 3);

    const byte intModePins[6] = {ROT2_1, ROT2_2, ROT2_3, ROT2_4, ROT2_5, ROT2_6};

    DcsBios::SwitchMultiPos intMode("INT_MODE", intModePins, 6);

    // ------------------------------------------------------------------

    // ROTARY ENCODERS ROTARY ENCODERS ROTARY ENCODERS

    // ------------------------------------------------------------------

    // ENCODER 1 = PINA/B 18, 30);

    // ENCODER 2 = PINA/B 19, 32);

    // ENCODER 3 = PINA/B 20, 34);

    // ENCODER 4 = PINA/B 21, 36);

    DcsBios::RotaryEncoder uhf10mhz("UHF_10MHZ", "INC", "DEC", 18, 30);

    DcsBios::RotaryEncoder uhf1mhz("UHF_1MHZ", "INC", "DEC", 19, 32);

    DcsBios::RotaryEncoder uhf50khz("UHF_50KHZ", "INC", "DEC", 20, 34);

    DcsBios::RotaryEncoder uhfPreset("UHF_PRESET", "INC", "DEC", 21, 36);

    // ------------------------------------------------------------------

    // TWO/THREE WAY SWITCH TWO/THREE WAY SWITCH

    // ------------------------------------------------------------------

    // SW1_1 SW1_3

    // SW2_1

    // SW3_1

    // SW4_3 SW4_4

    DcsBios::Switch3Pos masterArmSw("MASTER_ARM_SW", SW1_1, SW1_3);

    DcsBios::Switch2Pos cmArmSw("CM_ARM_SW", SW2_1);

    DcsBios::Switch3Pos rocketSel("ROCKET_SEL", SW4_3, SW4_4);

    // ------------------------------------------------------------------

    // BUTTON_1 BUTTON_2 BUTTON_3

    // ------------------------------------------------------------------

    const byte uhfFunctionPins[4] = {PIN_0, BUTTON_1, PIN_2, PIN_3};

    DcsBios::SwitchMultiPos uhfFunction("UHF_FUNCTION", uhfFunctionPins, 4);

    const byte vhffmModePins[4] = {PIN_0, BUTTON_2, PIN_2, PIN_3};

    DcsBios::SwitchMultiPos vhffmMode("VHFFM_MODE", vhffmModePins, 4);

    // ------------------------------------------------------------------

    // POTENTIOMETERS POTENTIOMETERS POTENTIOMETERS

    // RWR_VOLUME LIGHTS_1 LIGHTS_2 LIGHTS_3

    // RADIO_1_VOLUME RADIO_2_VOLUME TONE_VOLUME BRIGHTNESS

    // ------------------------------------------------------------------

    DcsBios::Potentiometer brtConsole("BRT_CONSOLE", RWR_VOLUME);

    DcsBios::Potentiometer brtPilot("BRT_PILOT", LIGHTS_1);

    DcsBios::Potentiometer brtEngine("BRT_ENGINE", LIGHTS_2);

    DcsBios::Potentiometer brtPed("BRT_PED", LIGHTS_3);

    DcsBios::Potentiometer uhfVol("UHF_VOL", RADIO_1_VOLUME);

    DcsBios::Potentiometer vhffmVol("VHFFM_VOL", RADIO_2_VOLUME);

    DcsBios::Potentiometer beaconVol("BEACON_VOL", TONE_VOLUME);

    DcsBios::Potentiometer brtCopilot("BRT_COPILOT", BRIGHTNESS);

     

    // ------------------------------------------------------------------

    // VVI GAUGE VVI GAUGE VVI GAUGE

    // ------------------------------------------------------------------

    Stepper stepper1(STEPS, COIL01, COIL02, COIL03, COIL04);

    void onVviPChange(unsigned int VVI) {

     

    int val1= map(VVI,0,65535,0,630); // map pot range in the stepper range.

     

    while(abs(val1 - pos1)> 2){ //if diference is greater than 2 steps.

    if((val1 - pos1)> 0){

    stepper1.step(-1); // move one step to the left.

    pos1++;

    }

    if((val1 - pos1)< 0){

    stepper1.step(1); // move one step to the right.

    pos1--;

    }

    }

    }

    DcsBios::IntegerBuffer vviPBuffer(0x1482, 0xffff, 0, onVviPChange);

     

    // ------------------------------------------------------------------

    // SLIP GAUGE SLIP GAUGE SLIP GAUGE

    // ------------------------------------------------------------------

    Stepper stepper2(STEPS, COIL05, COIL06, COIL07, COIL08);

    void onSideslipChange(unsigned int SLIP) {

     

    int val2= map(SLIP,0,65535,0,630); // map pot range in the stepper range.

     

    while(abs(val2 - pos2)> 2){ //if diference is greater than 2 steps.

    if((val2 - pos2)> 0){

    stepper2.step(-1); // move one step to the left.

    pos2++;

    }

    if((val2 - pos2)< 0){

    stepper2.step(1); // move one step to the right.

    pos2--;

    }

    }

    }

    DcsBios::IntegerBuffer sideslipBuffer(0x1480, 0xffff, 0, onSideslipChange);

    // ------------------------------------------------------------------

    // FUEL GAUGE FUEL GAUGE FUEL GAUGE

    // ------------------------------------------------------------------

    Stepper stepper3(STEPS, COIL09, COIL10, COIL11, COIL12);

     

    void onFuelQtyChange(unsigned int FUEL) {

     

    int val3= map(FUEL,0,65535,0,630); // map pot range in the stepper range.

     

    while(abs(val3 - pos3)> 2){ //if diference is greater than 2 steps.

    if((val3 - pos3)> 0){

    stepper3.step(-1); // move one step to the left.

    pos3++;

    }

    if((val3 - pos3)< 0){

    stepper3.step(1); // move one step to the right.

    pos3--;

    }

    }

    }

    DcsBios::IntegerBuffer fuelQtyBuffer(0x1476, 0xffff, 0, onFuelQtyChange);

     

    // ------------------------------------------------------------------

    // SETUP SETUP SETUP SETUP SETUP

    // ------------------------------------------------------------------

    void setup() {

     

    stepper1.setSpeed(70); // set the motor speed to 70 RPM (360 PPS aprox.).

    stepper1.step(640); //Reset Position(640 steps counter-clockwise).

     

    stepper2.setSpeed(70); // set the motor speed to 70 RPM (360 PPS aprox.).

    stepper2.step(640); //Reset Position(640 steps counter-clockwise).

     

    stepper3.setSpeed(70); // set the motor speed to 70 RPM (360 PPS aprox.).

    stepper3.step(640); //Reset Position(640 steps counter-clockwise).

     

    DcsBios::setup();

    pinMode(23, INPUT_PULLUP);

    pinMode(25, INPUT_PULLUP);

    pinMode(27, INPUT_PULLUP);

    pinMode(29, INPUT_PULLUP);

    pinMode(31, INPUT_PULLUP);

    pinMode(33, INPUT_PULLUP);

    pinMode(35, INPUT_PULLUP);

    pinMode(37, INPUT_PULLUP);

    pinMode(38, INPUT_PULLUP);

    pinMode(39, INPUT_PULLUP);

    pinMode(40, INPUT_PULLUP);

    pinMode(41, INPUT_PULLUP);

    pinMode(42, INPUT_PULLUP);

    pinMode(43, INPUT_PULLUP);

    pinMode(44, INPUT_PULLUP);

    pinMode(45, INPUT_PULLUP);

    pinMode(46, INPUT_PULLUP);

    pinMode(47, INPUT_PULLUP);

    pinMode(48, INPUT_PULLUP);

    pinMode(49, INPUT_PULLUP);

    // pinMode(50, INPUT_PULLUP);

    pinMode(51, INPUT_PULLUP);

    // pinMode(52, INPUT_PULLUP);

    pinMode(53, INPUT_PULLUP);

    }

    // ------------------------------------------------------------------

    // LOOP LOOP LOOP LOOP

    // ------------------------------------------------------------------

    void loop() {

    DcsBios::loop();

    }

     

  5. Hi.

    I have a suggestion for new dcs-bios-arduino-library function.

    My DCS Bios Project thread.

    I'm an electrician but not a good c++ programmer.

    I just created a new post about my "budget box" i'm experimenting with now.

    https://forums.eagle.ru/showthread.php?t=236617

     

    My problem:

    I've been coding and trying to make it so a button changes a value by adding 1 and use that button as an multi pos switch but I've been failing and just found out why.

    The testcode I was trying to run should as it is below not send anything to DCSBIOS, but it sends jibberish.

     

    // Counts number of button presses
    #define DCSBIOS_IRQ_SERIAL
    #include "DcsBios.h"
    
    byte switchPin = 2;                    // switch is connected to pin 2
    byte buttonPresses = 0;                // how many times the button has been pressed 
    byte lastPressCount = 0;               // to keep track of last press count
    bool lastRead = LOW;
    #define pos1 0
    #define pos2 1
    #define pos3 2
    
    const byte domeLightSwPins[3] = {pos1, pos2, pos3};
    DcsBios::SwitchMultiPos domeLightSw("DOME_LIGHT_SW", domeLightSwPins, 3);
    void setup() {
     DcsBios::setup();
     pinMode(switchPin, INPUT_PULLUP);          // Set the switch pin as input
    //  digitalWrite(switchPin, HIGH);      // set pullup resistor
    }
    
    void loop(){
     DcsBios::loop();
     if ((digitalRead(switchPin) == LOW) && (lastRead == HIGH) && (lastRead == LOW))  // check if button was pressed
     {
       buttonPresses++;                  // increment buttonPresses count
       delay(1000);                       // debounce switch
     }
     if (buttonPresses == 3) buttonPresses = 0;         // rollover every fourth press
     if (lastPressCount != buttonPresses)              // only do output if the count has changed
     {
       lastPressCount = buttonPresses;    // track last press count
     }
     lastRead = digitalRead(switchPin);
    }
    

     

    Solution.

    In the Arduino library add the support to use a toggle action switch.

    As it is now it has to be to a pin and you can't use a variable.

    AtHppk3.png

     

    What I want it for.

    I'm building a button box that needs to be generic.

    Bottom row are all rotary encoders with push buttons.

    I want the bottom left one to always in every aircraft "turn on" radio1, My thinking behind radio, say in the Huey, the radio you use the most on a mp server, like UHF 264 to talk to MP GCI and radio 2 30.00 VHFFM to talk to other Helipilots.

    rNb1A1f.jpg

    In the Huey the power switch is a 4-way switch, in another plane it's something else.

  6. Sitting in my playseat challenge I had to use a cardboard box as a table for my mouse.

    I got the Ide to make a switchbox out of a cardboard box, just to get started.

    It's light, easy to move and stable.

    Some pictures.

    SRrAeMb.jpg

    rX4QuNx.jpg

    This gauge panel I made last year,

    0MraxMZ.jpg

    Found a proper place to put it.

    Print is just a test, decided to have Vertical speed indicator, Slip indicator and fuel gauge.

    x0Bzeqh.jpg

    Easy to get in and out.

    aAf2N0L.jpg

    Trying things.

    ldkssP7.jpg

     

    The state of the box today.

    rNb1A1f.jpg

     

    Hardware:

    1x Arduino Mega 2560.

    4x ROTARY ENCODER 20P WITH SWITCH

    8x 10KOHM POTENTIOMETER

    4x ROTARY POS SWITCH

    3x Adafruit AUTOMOTIVE GAUGE STEPPERMOTOR - x27.168

    3x Adafruit TB6612 1.2A DC/Stepper Motor Driver Breakout Board

     

    I wish I could have the space to build a proper simpit, but how do you with an amazing A10 pit do when you jump in and fly the Viggen or the Huey?

     

    I want to make my box as generic as possible. When I printed the control test for the panel I realize that I should have spread the buttons and rotarys more so I could have maybe two descriptions for each button and switch.

    But I feel this box is a real step forward for me, I now have something simple, easy to move and store, something were I will not have keybindings get forgotten cus it will be written in plain text on the box.

    For the future. I want to maybe engrave or 3dprint panels that I can just lay over with the correct labels for the correct aircraft I'm flying.

  7. This will be my thread about me, my DCS experiences, setup and DCS Bios project.

    Yngwie84 is the name I use online, I'll send a support ticket to see if ED can change my username on the forum.

     

    Introduction below - My DCS BIOS project will be in the next post.

    I started playing DCS a few months after Viggen was released in 2017.

    I had zero flight sim experience before DCS but many hours in Elite Dangerous.

    For Elite Dangerous I had bought a Saitek X55 Hotas.

    The steep learning curve and the daily life made it so I never really got hooked.

    I enjoyed it when I had the time for it but always relearning all the controls and procedures if you had not played for a week or two put me off. I never got the time in to just be able to jump in and get going. A mistake I made was to buy to many modules very early and try to play all of them. I multiplied my problem of trying to remembering controls buy wanting to fly Viggen, Huey, P-51 & Sabre.

     

    My nr1 tips if you are new to DCS and flight sims:

    Only buy one aircraft module at a time.

     

    About a year ago when I again had an urge to play more DCS I decided to buy a Logitech switch panel & Logitech rudder pedals to try to make my life easier and standardize some of the controls to the switch panel. Working as a maintenance electrician I can program PLC so I started to look into DCS Bios, bought an Arduino starter kit and started to learn Arduino basics and involving it with DCS. Again I'm spending time with DCS but I'm not flying, I'm not becoming a pilot roaming the MP servers. I sit in the cockpit flipping switches.

    I needed a box for all the arduino stuff and a good place to have easy access to it. Having it on a breadboard on the desktop is not a working solution.

    Once again I stopped playing and things got put to the side.

     

    All winter I've been on sick-leave unfortunately and spent most of my time in the sofa on Youtube or Twitch. Watching streamers play DCS I've found is a very good source of learning DCS when your stuck in the sofa. Starting to feel better I've got back to DCS, mainly trying to complete my panel with buttons.

    I had been thinking that I have to build some side panel in wood or metal to put the panels on.

    But then I got an idea. The Budget idea.

    More on that in my next post in a few minutes.

  8. I have my X55 Rhino setup for F-18 but does anyone have a profile for the F14?

     

    I looked at this video by Spudknocker. He goes over what you need.

     

    Here is how you do speedbrake for left thumb switch.

    K89M8Wj.png

     

    Also have this macro for air and ground power.

    9wEPNMm.png

  9. The issue is caused by a duplication in the "default.lua". The same command is defined in lines 4 and 319, with exactly the same name.

    Normally Options / Controls should not show the second line, so there seems to be a little bug in the that piece of software.

    But the main bug is the duplication in the "default.lua" and it should be Heatblur's responsability to eliminate that.

     

     

    Edit:

     

    The other duplicates are due to another bug in Options/Controls:

    When the same command is defined in two .lua files (for example one in the folder "joystick" and one in the folder "keyboard") then these should show as one line in Options/Controls.

    Due to the bug, we now see two lines. One of them allows binding to a keyboard key and the other one allows binding to the other devices like joystick

     

    Thank you, I did a complete reinstall of DCS and that fixed it.

  10. Solved, not sure exactly what fixed it tho...

     

    Hi.

     

    When I try to use DCS Bios Serial connect I get an error saying I'm missing msys-crypto-1.0.0.dll

    I've tried Alot of things. If I download this dll and put it is system32 I get another 5 or so DLLs that are missing, added those aswell and now I get a program error, picture 2.

    To me it seems like i'm missing some package?

    Since I were having some other issues with dcs and when i ran a SFC /scannow it said I had corrup systemfiles that it fixed I decided to just reinstall windows and start from scrach.

    Done that today and now I'm back to square one with missing dlls again.

    Not sure if there is a point downloading them manualy again like yesterday.

    I've had DCS Bios Serial connect working flawless before, I think last time I used it was ~6months ago. Never had a problem like this before.

     

    Translation from Swedish.

    "code running can not continue due to the dll missing. try to reinstall the program"

    vam9seu.png

    "Could not start correct (0xc000007b) ok to close.

    C4yaFv2.png

  11. Hi. How do I get rid of this?

    I tried to copy my inputs folder from a clean stable install but the problem is still there.

     

    I have multiple binds on Viggen that are like this and say

    "Diffrent actions have identical descriptions!"

     

    I have tried uninstalling the viggen module and installing it again, problem still there.

    Ive removed the AJS37 folder in "...Saved Games\DCS.openbeta\Config\Input"

     

    jaHZscJ.png

  12. Caucasus makes most sense, imagine a new person that starts to play DCS just to learn the Huey, He would have to buy 3 modules, and if he is new, he's possibly just invested in rudder pedals and a hotas.

    The 50 extra dollars for a map and then the x dollars for your model might be to much.

    You will be doing new players a favor by keeping it on Caucasus.

    With 2.5 and the four seasons you can have the seasons as a real time progress, the student starts his basic training in the spring and gets his wings in the winter.

  13. Literally the first thing we do the second the nav computer goes live, still fubar.

     

    Also +1 to Mistral in preference to L.

     

    It can sometimes a few minutes in multiplayer before the flags go away, don't move the aircraft until the flags on the radar go away and then taxi to the runway.

    At the runway, standing still before takeoff use the reference button to align the nav.

    It will not align in the pit.

    Then after that turn the nob to NAV to start the HUD.

    Try that and see if that works.

×
×
  • Create New...