Jump to content


  • Posts

  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. A quick update: after some googling, I edited DcsBios PollingInput.h. Without knowing what a virtual and a pure virtual method is, I changed: namespace DcsBios { class PollingInput { private: virtual void pollInput(); to namespace DcsBios { class PollingInput { private: virtual void pollInput()=0; It works now :music_whistling: :thumbup:
  2. Hi Ian, thanks for the quick reply. My code is basically only copy and paste from your reference. So atm it looks like this (I know I cant use the standard rotary encoders for uhf, but this is only for a first test.) /* Tell DCS-BIOS to use a serial connection and use the default Arduino Serial library. This will work on the vast majority of Arduino-compatible boards, but you can get corrupted data if you have too many or too slow outputs (e.g. when you have multiple character displays), because the receive buffer can fill up if the sketch spends too much time updating them. If you can, use the IRQ Serial connection instead. */ #define DCSBIOS_DEFAULT_SERIAL #include "DcsBios.h" char PIN_2 = 2; char PIN_3 = 3; char PIN_4 = 4; char PIN_5 = 5; char PIN_6 = 6; char PIN_7 = 7; char PIN_8 = 8; char PIN_9 = 9; char PIN_10 = 10; char PIN_11 = 11; char PIN_12 = 12; char PIN_13 = 13; char PIN_14 = 14; char PIN_15 = 15; char PIN_16 = 16; char PIN_17 = 17; char PIN_18 = 18; char PIN_19 = 19; char PIN_20 = 20; char PIN_21 = 21; char PIN_22 = 22; char PIN_23 = 23; //http://dcs-bios.a10c.de/docs/v0.5.0/control-reference.html DcsBios::RotaryEncoder a("UHF_10MHZ", "DEC", "INC", PIN_2, PIN_3); DcsBios::RotaryEncoder b("UHF_10MHZ", "DEC", "INC",PIN_4, PIN_5); /*DcsBios::RotaryEncoder c("UHF_10MHZ", "DEC", "INC",PIN_6, PIN_7); DcsBios::RotaryEncoder d("UHF_10MHZ", "DEC", "INC",PIN_8, PIN_9); DcsBios::RotaryEncoder e("UHF_10MHZ", "DEC", "INC",PIN_10, PIN_11); DcsBios::RotaryEncoder f("UHF_10MHZ", "DEC", "INC",PIN_16, PIN_17); DcsBios::RotaryEncoder g("UHF_10MHZ", "DEC", "INC",PIN_18, PIN_19);*/ DcsBios::Switch2Pos uhfLoad("UHF_LOAD", PIN_20); DcsBios::Switch2Pos uhfTest("UHF_TEST", PIN_21); DcsBios::Switch2Pos uhfSquelch("UHF_SQUELCH", PIN_22); DcsBios::Switch2Pos uhfTTone("UHF_T_TONE", PIN_23); DcsBios::Switch2Pos uhfStatus("UHF_STATUS", PIN_12); /* paste code snippets from the reference documentation here */ void setup() { DcsBios::setup(); } void loop() { DcsBios::loop(); } I took a look into DcsBios.h There I saw that there is no explicit return value for the sendDCSBiosMessage(), when using DCSBIOS_DEFAULT_SERIAL. I added a return true, and the problem was gone. #ifdef DCSBIOS_DEFAULT_SERIAL namespace DcsBios { ProtocolParser parser; void setup() { Serial.begin(250000); } void loop() { while (Serial.available()) { parser.processChar(Serial.read()); } PollingInput::pollInputs(); ExportStreamListener::loopAll(); } } bool sendDcsBiosMessage(const char* msg, const char* arg) { Serial.write(msg); Serial.write(' '); Serial.write(arg); Serial.write('\n'); return true; //<-- WAS MISSING } #endif However, there is one problem left. As soon as I uncomment one more rotary encoder, I get a compile error: Arduino: 1.6.9 (Windows 10), TD: 1.29, Board: "Teensy 3.2 / 3.1, Serial, 96 MHz optimized (overclock), US English" < removed some 100 messages here, as they are hopefully not important > "C:\Users\florian\Desktop\arduino-1.6.9\hardware\teensy/../tools/arm/bin/arm-none-eabi-gcc" -O -Wl,--gc-sections,--relax,--defsym=__rtc_localtime=1472847193 "-TC:\Users\florian\Desktop\arduino-1.6.9\hardware\teensy\avr\cores\teensy3/mk20dx256.ld" -mthumb -mcpu=cortex-m4 -fsingle-precision-constant -o "C:\Users\florian\AppData\Local\Temp\builde9d2d06521e7151248ef909ce7d2b4be.tmp/an_arc164_simple.ino.elf" "C:\Users\florian\AppData\Local\Temp\builde9d2d06521e7151248ef909ce7d2b4be.tmp\sketch\an_arc164_simple.ino.cpp.o" "C:\Users\florian\AppData\Local\Temp\builde9d2d06521e7151248ef909ce7d2b4be.tmp\libraries\dcs-bios-arduino-library-0.2.5\Protocol.cpp.o" "C:\Users\florian\AppData\Local\Temp\builde9d2d06521e7151248ef909ce7d2b4be.tmp/core\core.a" "-LC:\Users\florian\AppData\Local\Temp\builde9d2d06521e7151248ef909ce7d2b4be.tmp" -larm_cortexM4l_math -lm C:\Users\florian\AppData\Local\Temp\builde9d2d06521e7151248ef909ce7d2b4be.tmp\sketch\an_arc164_simple.ino.cpp.o: In function `DcsBios::RotaryEncoder::RotaryEncoder(char const*, char const*, char const*, char, char)': C:\Users\florian\Documents\Arduino\libraries\dcs-bios-arduino-library-0.2.5/Encoders.h:62: undefined reference to `vtable for DcsBios::PollingInput' collect2.exe: error: ld returned 1 exit status Bibliothek dcs-bios-arduino-library-0.2.5 im Ordner: C:\Users\florian\Documents\Arduino\libraries\dcs-bios-arduino-library-0.2.5 (legacy) wird verwendet Fehler beim Kompilieren für das Board Teensy 3.2 / 3.1. Well, I am not very much into C, so no idea whats going on here... Anyways, thanks for your help and your effort...
  3. Hi, I'm using this awesome library to create a UHF Panel (The A10C AN ARC 164). First of all, a big thank you to all the contributors of DCS BIOS. without it, my panel would never go airborne. So really big thanks for all your effort. Of course, I also have some problems, and hope to find someone who can help me with it. Problem number one: I'm not using a genuine arduino, but a teensy 3.1, with the arduino dev environment. I set everything up, and the panel works basically. However, after an event (button press, encoder turn) the corresponding message is not only sent once, but over and over again. I traced it down to this code line, which is implemented in all of the input classes in more or less the same manner: if (state == 0) if (sendDcsBiosMessage(msg_, "0")) lastState_ = state; The sendDcsBiosMessage somehow returns false, thus the event is never reset to inital state and is send over and over again. My Question is, why is that if statement necessary anyway? Why not just: if (state == 0) sendDcsBiosMessage(msg_, "0"); lastState_ = state; The latter one works perfectly with my teensy. Best regards
  4. Hello, does anyone know how to open the su25 manual in the simulation? Like seen here: Other than that: This is a very cool series of videos. Very well done with the commentary and the tacview overview. Helps a lot to grasp the situation and understand the whole scenario. After watching the first few videos here, I decided to get tacview myself. I must say, its realy great, especially for a noob like me. Now I can actually understand why I wrecked my plane, or got shot down. :)
  5. Hi guys, first of all, I want to thank Lars, and all the other guys, who put so much effort into these projects, and release that work to the public. I really appreciate it. I personally lack the skills to manufacture good looking panels. Also I lack the tools (no cnc machine, no laser). Last weekend I manufactured a simple caution light panel. But compared to the stuff you guys produce, my panel looks like crap. :ranting: So i have a few dumb questions. What is the best material used for these panels? Do you use acrylic glass, or another plastic material. And what kind of paint ist best used for creating the black finish? Is it better to have the panels engraved mechanically, or is a laser cutter the better option. Does anyone here know a shop, that is able to produce the panels from the dxf files, Lars provided? Preferably in EU or even better Germany. Best regards...
  6. Hello, thanks for this nice give away. BTW: I want to go to Las Vegas.
  7. Hi, i am also currently building a CDU. How did you create the keycaps? Are they available for sale? Also, how do you plan to put the letters on them? Engraving, printing, painting, stickers? Cheers, and keep up the good work...
  8. Hi, just wanted to say, that i finished regreasing the warthog. Thanks to the OP, it wasn't too difficult. Got it done in less than an hour, without any fear of breaking the device. Onlis the last to nuts (that release the inner ball) required some force. Regreasing and a joystick extension did help with the stiction, though ist still not absolutely perfect. I must say I was shocked, when I saw the bad build quality of the inner plastic parts. I actually removed some edges(!) on the ball with a small rasp. Anyway, thanks to the guys, who did this before, and posted pics and vids to help us ....
  9. Hey guys, thank you all for your input and answers. Actually I was talking about the mission "BFT06 Advanced Handling" not "BFT08 Emergencies". In BFT06 you are supposed to shut down your engines and simulate a forced landing. Even with engines out, you have enoug hydraulics to use flaps, gears, speedbrakes, brakes, and normal flight control. In BFT08 you geht a scripted dual hydraulics failure, that forces you to go to MRFC. You still have your engines on that landing :) So as a conclusion, I understand that in DCS A10 the hydraulics work quite a while with both engines off. They would not work in RL.
  10. Hi, I've been following the simpit building threads for over a year now, and months ago I have decided to give it a try myself. First I want to thank all guys for the time and effort they contributed to create these great peaces of software, be it DCSBios, Helios or whatever else ... For me I feel that DCS Bios is the perfect tool for my purpose. I have even started to write something quite similar, just a few weeks before Ian introduced DCSBios to the community. As soon as I saw DCSBios, i ditched my own implementation. One thing I still wonder is how you DCSBios-Users implement the instruments that are really hard to recreate in hardware. I'am talking about HSI, ADI, RWR and the likes. Do you guys use Helios to export them? Or do you prefer exporting them as viewports? I feel like using helios alongside with dcsbios is not optimal, as both tools have their own export.lua. Is it even possible?
  11. Hello everyone, yesterday I played one of the Maple Flag IQT Missions, i think it was 7- advanced maneuvers. In the end you have to do a forced landing with both engines off. I assumed that with bothe engines off, the hydraulics should also be gone. So i switched to manual reversion, used the landing gear emergency drop, forgot to fix the wheels, and belly landed that bird losing one wing. I still got a Q- rating :music_whistling: However, afterwards I watched Recon Steward, doing that mission in the youtube channel. He still could use flaps, landing gear and normal flight controls. So, why do these things still work with both engines off? Is there some kind of backup power for the hydraulics. Do they still work while the engine fans are having some RPM due to the windmill effect? Or do you not need hydraulics for the flaps and gear? And when do you realy have to use manual reversion? BR, Florian
  12. Hello guys, I am pretty new in this game and only start to get the hang on it. One thing I dont understand is, how to see the distance that I travel during fly. For example when I radio to an airport they tell my to fly a specific course for 11 miles. I can set that course, no problem. But how do I know when I have passed those 11 miles? Sure i can take a look at airspeed, and calculate the necessary flying time, but is there another way? The A10 has GPS and EDI and all, so it should be able to show me the mileage :) Best regards...
  • Create New...