Jump to content

Shortyuk

Members
  • Posts

    11
  • Joined

  • Last visited

  1. The recent 3080 v 6800xt VR comparison does seem to indicate that the 3080 is outperforming the 16gb 6800xt at the higher resolutions we need for VR in other games. We just need a DCS comparison now to be sure. https://babeltechreviews.com/vr-wars-the-rx-6800-xt-vs-the-rtx-3080-15-vr-games-performance-benchmarked/
  2. Hi All, Thought this might be of interest, while not DCS specific (or at all) its the only VR specific benchmark's I have seen so far comparing the two GPUS. https://babeltechreviews.com/vr-wars...e-benchmarked/
  3. I have a bit of a dilemma as I have a brand new 3080 sat in its box here after arriving yesterday (ordered it in Sept) I did try to buy a 6800xt last week but had no luck. Hopefully my G2 will arrive next week. After seeing the reviews of the 6800xt I can see in 4k in some games that the 3800 seems to better it however I haven't seen any 6800xt DCS v 3080 comparisons yet. I am really torn between just opening this 3080 or trying again this week to pick up an AIB 6800xt. I managed to buy this Zotac 3080 for £680. Infact it was the Trinity I ordered and the company I bought it from actually upgraded me to the OC version that is retailing currently at £850 so I could actually sell this to someone for the retail price and cover the additional price of the AMD AIB models. I am running a 3700x and 32gb ram so suspect I am not going to see a massive difference between any of them?
  4. Fox Delta. This is a great design. I am just about to have a go at printing it. I am wondering what settings you used for printing e.g resolution, infill amount number of walls etc?
  5. I might have a look at that. To be honest as I play in VR its not the end of the world if the knob ends up out of sync, however it would be a nice problem to solve.
  6. Damn I was so caught up in the aesthetic of having a knob that looked better that my normal one that I didn't even think about the fact it resets to centre :(
  7. Hi Guys, This is my 1st attempt at making something from scratch in Fusion 360. Its not very exciting but might be useful for somebody lol. Its for my AV-8B Armaments control Panel I am in the process of making and is the Stores Jettison Knob. It fits on a rotary with a push function that I have for it. https://www.thingiverse.com/thing:4507230
  8. Great thanks for that. I will see if I can work around that limitation.
  9. Hi All I am having an issue with some code for a UFC panel I am putting together using an Arduino Leonardo. I am using it as a HID and also using some DCS-BIOS Functions. This problem however is not a DCS-BIOS Issue as it appears even when I take all DCS-BIOS code out of the sketch. In the code I have assigned pins to keys in this block. rotariesdef rotaries[NUMROTARIES] { {0,1,20,21,0}, {2,3,22,23,0}, {4,5,24,25,0}, {6,7,26,27,0}, {8,9,28,29,0}, }; e.g 0=Pin 0, 1 = Pin 1, 20 = key 20, 21 = key 21 However when rotate to pin 1 instead of key 21 being pressed key 22 is actually pressed. This is the same for all keys,the next following number is pressed? I am seeing this in the USB Joystick calibration tool and in DCS controls too. Anyone any ideas ? The Full code is below. #define DCSBIOS_DEFAULT_SERIAL #include <Keypad.h> #include <Joystick.h> #include "DcsBios.h" #define ENABLE_PULLUPS #define NUMROTARIES 5 #define NUMBUTTONS 19 #define NUMROWS 5 #define NUMCOLS 5 DcsBios::Switch2Pos ufcCom1Pull("UFC_COM1_PULL", 13); DcsBios::RotaryEncoder ufcCom1Sel("UFC_COM1_SEL", "DEC", "INC", 2, 1,1); DcsBios::RotaryEncoder ufcCom2Sel("UFC_COM2_SEL", "DEC", "INC", 8, 9,1); byte buttons[NUMROWS][NUMCOLS] = { {1,9,6,18}, {3,11,14,15}, {2,10,13,17,19}, {4,12,7,16}, {8,5}, }; struct rotariesdef { byte pin1; byte pin2; int ccwchar; int cwchar; volatile unsigned char state; }; rotariesdef rotaries[NUMROTARIES] { {0,1,20,21,0}, {2,3,22,23,0}, {4,5,24,25,0}, {6,7,26,27,0}, {8,9,28,29,0}, }; #define DIR_CCW 0x10 #define DIR_CW 0x20 #define R_START 0x0 #ifdef HALF_STEP #define R_CCW_BEGIN 0x1 #define R_CW_BEGIN 0x2 #define R_START_M 0x3 #define R_CW_BEGIN_M 0x4 #define R_CCW_BEGIN_M 0x5 const unsigned char ttable[6][4] = { // R_START (00) {R_START_M, R_CW_BEGIN, R_CCW_BEGIN, R_START}, // R_CCW_BEGIN {R_START_M | DIR_CCW, R_START, R_CCW_BEGIN, R_START}, // R_CW_BEGIN {R_START_M | DIR_CW, R_CW_BEGIN, R_START, R_START}, // R_START_M (11) {R_START_M, R_CCW_BEGIN_M, R_CW_BEGIN_M, R_START}, // R_CW_BEGIN_M {R_START_M, R_START_M, R_CW_BEGIN_M, R_START | DIR_CW}, // R_CCW_BEGIN_M {R_START_M, R_CCW_BEGIN_M, R_START_M, R_START | DIR_CCW}, }; #else #define R_CW_FINAL 0x1 #define R_CW_BEGIN 0x2 #define R_CW_NEXT 0x3 #define R_CCW_BEGIN 0x4 #define R_CCW_FINAL 0x5 #define R_CCW_NEXT 0x6 const unsigned char ttable[7][4] = { // R_START {R_START, R_CW_BEGIN, R_CCW_BEGIN, R_START}, // R_CW_FINAL {R_CW_NEXT, R_START, R_CW_FINAL, R_START | DIR_CW}, // R_CW_BEGIN {R_CW_NEXT, R_CW_BEGIN, R_START, R_START}, // R_CW_NEXT {R_CW_NEXT, R_CW_BEGIN, R_CW_FINAL, R_START}, // R_CCW_BEGIN {R_CCW_NEXT, R_START, R_CCW_BEGIN, R_START}, // R_CCW_FINAL {R_CCW_NEXT, R_CCW_FINAL, R_START, R_START | DIR_CCW}, // R_CCW_NEXT {R_CCW_NEXT, R_CCW_FINAL, R_CCW_BEGIN, R_START}, }; #endif byte rowPins[NUMROWS] = {10,11,12,13,A0}; byte colPins[NUMCOLS] = {A5,A4,A3,A2,A1}; Keypad buttbx = Keypad( makeKeymap(buttons), rowPins, colPins, NUMROWS, NUMCOLS); Joystick_ Joystick(JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_JOYSTICK, 32, 0, false, false, false, false, false, false, false, false, false, false, false); void setup() { DcsBios::setup(); Joystick.begin(); rotary_init();} void loop() { DcsBios::loop(); CheckAllEncoders(); CheckAllButtons(); } void CheckAllButtons(void) { if (buttbx.getKeys()) { for (int i=0; i<LIST_MAX; i++) { if ( buttbx.key[i].stateChanged ) { switch (buttbx.key[i].kstate) { case PRESSED: case HOLD: Joystick.setButton(buttbx.key[i].kchar, 1); break; case RELEASED: case IDLE: Joystick.setButton(buttbx.key[i].kchar, 0); break; } } } } } void rotary_init() { for (int i=0;i<NUMROTARIES;i++) { pinMode(rotaries[i].pin1, INPUT); pinMode(rotaries[i].pin2, INPUT); #ifdef ENABLE_PULLUPS digitalWrite(rotaries[i].pin1, HIGH); digitalWrite(rotaries[i].pin2, HIGH); #endif } } unsigned char rotary_process(int _i) { unsigned char pinstate = (digitalRead(rotaries[_i].pin2) << 1) | digitalRead(rotaries[_i].pin1); rotaries[_i].state = ttable[rotaries[_i].state & 0xf][pinstate]; return (rotaries[_i].state & 0x30); } void CheckAllEncoders(void) { for (int i=0;i<NUMROTARIES;i++) { unsigned char result = rotary_process(i); if (result == DIR_CCW) { Joystick.setButton(rotaries[i].ccwchar, 1); delay(50); Joystick.setButton(rotaries[i].ccwchar, 0); }; if (result == DIR_CW) { Joystick.setButton(rotaries[i].cwchar, 1); delay(50); Joystick.setButton(rotaries[i].cwchar, 0); }; } }
  10. Hi All I am starting to put together my first button box self build project. I would like this to have rotaries that will control the radio selections for Comm 1 & 2 of the Harrier. I was hoping to use a Leo Bodnar board. However I have been looking into the key mapping for the Harrier and it seems there is no way to map any keyboard inputs to the radio channel selections. Is there any other way of doing this using DCS-BIOS or LUA editing? Many Thanks Shorty
×
×
  • Create New...