Jump to content

molevitch

Members
  • Posts

    532
  • Joined

  • Last visited

Everything posted by molevitch

  1. ARK-9 /15 I finally got the whole thing working, 6 dials, all switches and knobs, perfect! The ARK-9 is a kind of mirror image of the ARK-15, so I have to remember to reverse things, (until the Mi-24...). Thank you Solo for all your guidance and help!
  2. Cockpit no.2? Are you crazee?!:lol: But yes, I totally understand how that works.... Just as you have spent 40 hours getting a solution, the mind suddenly goes, "Oh, I coulda done it like this!" and out come the drawing tools, the screwdrivers, the sheet-cutters.... I am currently building a Mi-24 pit.... and DCS does not yet have a Mi-24! (It is cross-compatible with the Mi-8, naturally, though everything is in a different place...). I just spent the best part of 6 days retro-engineering a pair of engine-control-levers from a different Mil airframe. And they will only get used in an emergency. Bring on the random failures! This pit building lark is certainly addictive, obsessive and fascinating. Time-consuming and money consuming too. But ultimately very rewarding, when successful. I look forward to your Huey! M
  3. ARK-9/15 Work in Progress With Hansolo's input and code help, my ARK-9/15 has suddenly made progress. I now have Dial 2 almost working. I am using PORTA currently, though I believe I will be able to move it to PORTD as I want to use 6 ports for the 2 dials. Curiously, I can write if (PINA == B1111) { for the 4 active pins, and not bother with the inactive ones. (However, I have discovered there is a fifth wire needed!) I now have the dial turning under DCS-BIOS to correct settings, to some extent. The missing pin is for a connection I thought was redundant. It is not. Which is why freqs 10, 20, 30 do not yet work. So I have to add a fifth wire, no problem. From here, I think i will soon have it all working! Mole
  4. Amazing work! Absolutely stunning dedication to authenticity. I have watched your build for some time, and read your updates with relish. Any idea how many man-hours have gone into this? Incalculable I imagine..... Fantastic!
  5. Ahh, but there will be another Internet (like a parallel universe) with all the lines of How someone solved something, but no information at all about the problem.... :helpsmilie:
  6. Ahh, but there will be another Internet (like a parallel universe) with all the lines of How someone solved something, but no information at all about the problem.... :helpsmilie: PS: This Post will be moved to that same parallel Internet.... one day.
  7. Work in Progress, ARK-9 taming. Hi Solo, It was my mistake to "correct" the != to ==. I thought it was a typo.... (me not being a coder!). I have retyped it as !=. I have also looked at PortD again. My Mega is just like anybody elses, but I incorrectly typed "pins 21-1" when it should be "21-18, plus that other one pin 7..." That is where I get confused now. I have four wires connected to 21, 209, 19 and 18. I have tested them and their vdc equate to my switch codes. So do I still write DDRD = B00000000; or do I write DDRD = B00000; or even DDRD = B0000; and match all the rest accordingly for Port D and other ports which do not use 8 pins? Good news is, something is happening now when I turn the dial. It does reset, 0 to "0" and it also does something with 9 to "90". But the others stay at 0 as I click through them towards 90. I will rewrite the code to work Dial 2 with PortA, as that is a regular 8-pin Port and test that. With your help, I am definitely getting somewhere! (Actually, you have done most of the work!) Thanks again, Mole
  8. Hi Hansolo, Thank you for the code. It has improved and increased my understanding of how this all works. I think you are right about the timer! I changed a bit of your code version. I realised the intended Dial settings were wrong, should be 0-90 in increments of 10, not 0-9. At the moment, the code changes the dial to "0" but nothing else moves when I turn the dial. I am going to try changing it to an 8 pin port like A, just to get it working, in case D is just not friendly to my use (!). If I can prove it works at least, then I can worry about changing to more exotic ports, or add more Arduino boards.... I also need to check my Pin values. I think I initially put them in back to front. I will make some test settings to check the correct pin values. I tried to include the timer.h, but failed. I looked it up on Google, but cannot find how to include it.... I guess it is a library item, but could not find it! Here is my updated code, including a stab at timer inclusion. /* 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 "DcsBios.h" #include <timer.h> Timer tm; int DCS_valueDial_2; // renamed this to be more saying (to me) /* paste code snippets from the reference documentation here */ void onArcMain10khzChange(unsigned int newValue) { DCS_valueDial_2 = newValue; } DcsBios::IntegerBuffer arcMain10khzBuffer(0x26a2, 0x00f0, 4, onArcMain10khzChange); const byte arc9ModePins[4] = {10, 11, 12, 13}; DcsBios::SwitchMultiPos arc9Mode("ARC9_MODE", arc9ModePins, 4); const byte arc9MainBackupPins[2] = {8, 9}; DcsBios::SwitchMultiPos arc9MainBackup("ARC9_MAIN_BACKUP", arc9MainBackupPins, 2); const byte arc9TlfTlgPins[2] = {7, 6}; DcsBios::SwitchMultiPos arc9TlfTlg("ARC9_TLF_TLG", arc9TlfTlgPins, 2); //DcsBios:Potentiometer arc9Vol("ARC9_VOL", A; void setup() { DcsBios::setup(); //ARK-9 DIAL_2 inputs- 0-90 kHz Main DDRD = B00000000; // set PIND (digital 21-1 as inputs PORTD = B11111111; // Sets (digital 21-1 with internal pull up tm.startTimer(200, setARC9); } int inputDial_2() { int valueDial_2; if (PIND == B11111111) { valueDial_2 = 0; } if (PIND == B11111110) { valueDial_2 = 1; } if (PIND == B11111101) { valueDial_2 = 2; } if (PIND == B11111100) { valueDial_2 = 3; } if (PIND == B11110101) { valueDial_2 = 4; } if (PIND == B11110100) { valueDial_2 = 5; } if (PIND == B11111001) { valueDial_2 = 6; } if (PIND == B11111000) { valueDial_2 = 7; } if (PIND == B11110001) { valueDial_2 = 8; } if (PIND == B11110000) { valueDial_2 = 9; } return valueDial_2; } void loop() { DcsBios::loop(); tm.runTimers(); } void setARC9 (int timer){ // Check and adjust 2nd dial if (DCS_valueDial_2 == inputDial_2()) { if ( inputDial_2() == 0){ sendDcsBiosMessage("ARC_MAIN_10KHZ", "0"); } if ( inputDial_2() == 1){ sendDcsBiosMessage("ARC_MAIN_10KHZ", "10"); } if ( inputDial_2() == 2){ sendDcsBiosMessage("ARC_MAIN_10KHZ", "20"); } if ( inputDial_2() == 3){ sendDcsBiosMessage("ARC_MAIN_10KHZ", "30"); } if ( inputDial_2() == 4){ sendDcsBiosMessage("ARC_MAIN_10KHZ", "40"); } if ( inputDial_2() == 5){ sendDcsBiosMessage("ARC_MAIN_10KHZ", "50"); } if ( inputDial_2() == 6){ sendDcsBiosMessage("ARC_MAIN_10KHZ", "60"); } if ( inputDial_2() == 7){ sendDcsBiosMessage("ARC_MAIN_10KHZ", "70"); } if ( inputDial_2() == 8){ sendDcsBiosMessage("ARC_MAIN_10KHZ", "80"); } if ( inputDial_2() == 9){ sendDcsBiosMessage("ARC_MAIN_10KHZ", "90"); } } } Thanks for all your help! I really want to repay you somehow. I am a graphic designer and illustrator, pin-up artist and garment designer.... so if you think of anything let me know (within reason!) Mole Edit: I have got timer.h library now. Library installed... but still got to figure out use!
  9. Totally agree!
  10. WOW, Thank you Hans! Yes, I didnt realise it needed to compare. I will try it tomorrow, or as soon as I can, and let you know how it goes for me. Thank you, Mole
  11. Hi Hans, Well.... I have very limited experience of coding. Here is my latest attempt to get some of this idea working. I am trying to establish at least the principle, so that I can extend it to the other parts. Problems: 1. I am trying to persuade an ARK-15 to be an ARK-9, for now.... But by using the DCS-BIOS code, I believe this is possible. 2. I am still getting to understand how the code works. 3. I have a limited understanding of Arduino as well. So far, I have been able to get all the simple stuff working, momentary switches, toggle switches, multipos switches. Potentiometer for volume, no, but I think the code is missing in Mi-8 DCS-BIOS. I have based my effort on your Tacan code, but so far, none of the Port stuff seems to work. I am not sure how to debug it. I am trying to get the simplest dial working first. Dial 2, which is 0-9 kHz, so 10 states. Using Port D, as it seems to offer 4 pins (or more unseen). Have scoured the web for info about Port D, but cannot find much to tell me if it works as 8 pins (0,1,2,3,x,x,x,7), or just the 5 with numbers.... I believe the Mega2560 offers up to 11 Ports, and I have 6 dials. Obviously, my other switches need some pin sockets too. So struggling a bit! My Sketch so far, (you will recognise some of it...) Any help you, or any other DCS-BIOS wizards can offer will be much appreciated. If I can do anything for you in return within my scope of abilities, please ask. Mole
  12. :music_whistling::thumbup::doh: Glad I could help! I start soldering tomorrow. Will set up one dial to test the theory, then move on to all six, and the rest of the "easy" switches. Exciting times! Actually, I must post some pics of the stage of development I have reached on my pit.... Laterz, Mole
  13. Hi HanSolo, Thanks for the reply. I understand the 8 pins per port. I think I didn't word my thoughts on it quite right. I meant that I would need 6 ports, and yes, some pins will be redundant/inactive. Yes, when I put a 1 it means that switch is live, ie in complete circuit with ground. Several of the "blank" dial positions have duplicates. I dont think this will be a problem in use. They are juxtaposed on the dials. In reality, one would keep turning until the right value was showing. I will test that aspect obviously. One good thing I have seen, in DCS-BIOS, the Mi-8 ARK-9 dials have discrete values possible, not just INC or DEC. So I won't have your TACAN problem with using the timer. The Port value should inform DCS of the Dial setting. Not sure what would happen if I clicked the virtual dial in cockpit... I guess it would just reset to the physical dial setting. So, I better start writing that Sketch! I will post here how it goes. Yours, Mole
  14. ARK-9 DCS-BIOS development Hi again Hans, So here is a Switch map of the 3 dials Channel 1. I am hoping that the Channel 2 Dials are the same! I have a Mega 2560, which has lots of Ports of 8 pins. I need 4 ports to manage 5 pins each and 2 ports to manage 4 pins each. After those, 2 x toggle switches, 2 x momentary, and 1 x 4 position rotary switch. Should be plenty on the Mega. Herre are some pics of the device. I will have to burrow deep under the cover plate for the top switches. Some contact points are more accessible than others. I am going to try and use some of your coding idea , see if I can get somewhere with it.... Wish me luck! Mole Switch map dials.pdf
  15. Thanks for the answer Hans! I was hoping you would have an idea. With theMi-24 module not here yet, I am basing this project on the Mi-8, which shares so many systems with the Mi-24. This ARK-15 is almost identical to the ARK-9 in the Mi-8, so I will set it up for the 8, and transfer the code to the 24 in time. The port registers sounds like the way to go, so I will explore that. What do you mean by a map of the switch? A drawing of the connections? A circuit diagram? I will knock something up and see what you think. The switch itself is a rotary thing, with tumblers I guess, a bit like a key in a lock, or a mechanical drum piano. As the dial is turned, little sprung levers are raised or lowered to make discrete sets of contacts. Its rather lovely in its mixture of simplicity and complexity, almost Victorian. Very pre-digital. Sounds great. Talk soon, gonna look at your port register thread. Mole :thumbup: (Just seen what you mean by a switch map.... On it!)
  16. I need some help please! Hello DCS_BIOS enthusiasts and gurus! I wrote here some time ago about a project, but did not get much feedback. I think I asked the question the wrong way. :music_whistling: I did manage to get something going on the Arduino that time, but the particular project is currently shelved. I am building a Mi-24 pit in anticipation of Belsimtek's future module. I have acquired a soviet era ARK-15 Radio compass from a Mi-24 cockpit. It has these great clunky dials with really solid detents. Very mechanical. The dials have up to 20 settings. These results are achieved by 5 switches. So for example the 0-1 khz dial has increments of .5 khz, 0 to 0.95. Each increment is achieved by a combination of high and low switch states. eg 0.0 is 1,1,1,1,1....while 3.0 is 1,0,1,1,0. I have established which wires to connect to. There are 3 concentric dials. 2 use 5 switches (20 states) and the middle one uses 4 switches (10 states). There are 2 dials, as well as some momentary switches, toggle switches a rheostat/potentiometer and a 3 way rotary switch. The dials are what I would like some guidance with. I can visualise a "pseudo-code". A series of conditional statements, "else if" type. eg if pin 1=high, and pin 2=high, and pin 3=high, and pin 4=high, and pin 5=high, then set int_dial =0.0, else if pin 1=low, and pin 2=high, and pin 3=high, and pin 4=high, and pin 5=high, then set int_dial =0.05 else if pin 1=high, and pin 2..... etc.until all 20 options are covered. But that code seems very inelegant.... Is this some kind of Matrix idea? Can a value for a device in DCS be set from the values of more than 1 pin on the Arduino? DCS needs to get the current value from the mechanical switched dial on startup, based on the states of the respective pins on the Arduino I guess... I am just startin in on this coding thing, and I can sort of visualise the methoid. I have been scouring through this thread with great enthusiasm, but have noit found what I thin=k is the right way. Any guidance is gratefully received!:helpsmilie: Molevich
  17. Hi BlackeyCole, I see your other thread about Helicopter Flight School and the idea of paying for it. So I am answering both here. When we say "A basic level of competency on the UH-1H will need to be attained at some stage if not already competent" it does not mean "otherwise don't turn up..." At 229th, training in the Huey is standard, and DCS pilots come there to learn. If you are a serious student, you will find several highly experienced Real Life Instructor Pilots there who will happily train you from zero knowledge to Basic Wings up to Senior Wings. There is no charge for this! I's a community. At 8MATES, we have all gone through Huey Basic Wings, as it is expected in order to train on Mi-8, and to be a part of 229th in general. To participate in complex missions as an effective combat pilot, this training is necessary, both for your own enjoyment, and for team playing. A lot of effort goes into mission designs by our dedicated builders, so it is essential that participants have the commensurate skills to be reliable and capable. No point in setting up low-level waypoints in a high-threat environment, if the pilots cannot handle it! I see you are a member of BSD, as am I. Due to time-zone limitations, I now devote my flying hours to 229th and to our European times. We fly joint squad missions with BSD though, and that is an area for much future development. So if you want some training on Hueys, without feeling you need to pay by the hour, try 229th and see what they have to offer. But my understanding is that the same training is available at BSD, so you should probably discuss it there too. I am sure any of the helo pilots there with Readiness Levels 1 and 2 will happily bring you up to speed, and you will get qualified to a standard you want in no time at all....
  18. We are a group of enthusiastic DCS helicopter pilots based mainly in Europe operating within the world-wide virtual 229th Assault Helicopter Battalion, (http://1stcavdiv.conceptbb.com). As the “8Mates”, we fly missions most Sunday evenings, with support and training on Tuesday and Thursday evenings, demand-dependent, although you will often find friends to fly with at any time. While competent in other airframes, our group specializes in the Mi-8, preferring to use pilotage and electronic navigation to fly missions with DCS F10 ‘map only’ (i.e. all assets and aircraft positions etc. are concealed). The aim of the “8MATES”,is to become as competent as DCS and personal skills allow, with close-formation, threat environments and operational procedures being standard. Several of our group love home-builds and use genuine Mi-8 & Mi-24 cyclic and collectives in their rigs and many use VR exclusively. This is an open invitation to any like-minded individuals or groups who want to fly with us regularly on a part or full-time basis, with Mi-8’s or any other rotary airframe. We are seeking to expand our European group and gain friends of a similar level of commitment and interest. 229th AHB membership is a requirement. A basic level of competency on the UH-1H will need to be attained at some stage if not already competent. (Support and assistance is readily available) The 229th has access to unparalleled RL knowledge and experience with RL qualified personnel for training, guidance, oversight and standards. Primary language is English, so a basic understanding is necessary, however in-game inter-flight can be any language. (In our Mi-8 group we already have German native language members, French is spoken too, as well as Russian!) Any skill level is most welcome including complete novices, but a genuine interest or passion for rotary wings and regular group interaction is essential to maximize support and group benefits. “8Mates”, a dedicated group within the 229th Assault Helicopter Battalion, specialising in the Mi-8! For 229th membership go to http://1stcavdiv.conceptbb.com/f42-recruiting-depot For 8Mates enquiries contact 8mates@vrotarywing.com
  19. I use VA. Calls to "Kneeboard!", "Previous Page", "Next Page", and for in map, "Mark Point!" do it for me...
  20. Hi Fargo, That's right! But I have set all my pilot seat/gunner seat options to Voice Attack. Even easier to change seats when your fingers and thumbs are busy! Talk soon, Molevitch
  21. Amazing work Yoreh! Same system as mine, but far better execution!!! I wish I had the facilities you have.... :(
  22. I would say the difference is transformative, especially for ww2 planes. I have a TMWH which I extended by 20cm, using one of the techniques on the forums many years ago. I also made a pillar so it could be floor mounted between my knees using a floor plate made from MDF and a 40cm or so length of 150mm plastic pipe from a plumbers merchant. The pipe I fixed using 2 pipe end screw-off inspection hatches glued in and filed down to flat surfaces. Removed the heavy metal plate from the WH and drilled four matching holes in the top inspection hatch to mount the WH, and four holes in the hatch below to screw to the floor plate. Steady as a rock. I am now all about the helos and cyclics, and my WH is gathering dust in a corner.... but its an easy enough mod to do yourself.
  23. Very nice, works a treat for me, 45fps in VR. Conngrats and keep it up!
  24. You could add a separate but attached little button box and a controller card. Add a hatswitch or two, another couple of momentaries, strap it on to the sides. Build it out of 1.5mm plastic-card. Add a cable channel bracketed to the main stick, put your controller board behind the collective pivot, plug it in to USB. Tada!
×
×
  • Create New...