Jump to content

=VG= SemlerPDX

  • Content count

  • Joined

  • Last visited

Everything posted by =VG= SemlerPDX

  1. Profile for VoiceAttack v1.7.6 by =VG= SemlerPDX Description: These commands use VoiceAttack to translate the in-game on-screen radio menus from AWACS through Tanker into natural and intelligent voice command phrases that will fire keypress macros to help keep hands on the throttle and stick, and maintain immersion. As an additional option, these commands can be locked behind a push-to-talk mode bound to your UHF/VHF transmit buttons in-game, allowing any other VoiceAttack command unrestricted access if needed, while still restricting these BMS radio command macros. Finally, the profile is extremely easy to edit or integrate into other profiles. At VETERANS-GAMING, we fly with friends or AI Pilots, or a mix of both on our 24/7 Public Korean Campaign in Falcon BMS. We may go out with an AI wingman only to have a friend take their place mid-flight. For this reason and others, I created this VoiceAttack profile based around restricting when the computer can execute keypress macros that match voice phrases, having to first check if that pilot was set to a human pilot and therefore disregard commands for that pilot. Thanks to user requests during the beta, there is now an optional mode to reverse the Human Pilots system, to assume all pilots are humans unless told otherwise, and also a system to choose a different keyboard layout than QWERTY. Features: *Push-To-Talk mode disabled by default. Say, "Turn On Push To Talk Mode" to enable **Follow Instructions inside profile to set Push-To-Talk buttons to match BMS UHF/VHF keys Download: (tbd - after beta - almost there as of mid-July 2019, try out the final beta v0.99 below!) *Looking for some testers who already use VoiceAttack, and who are already familiar with Falcon BMS & flying with AI pilots Beta Test Requirements & Instructions: *Must have Falcon BMS 4.34 installed *Must have registered version of VoiceAttack installed Launch VoiceAttack and open Options (wrench icon in lower right) -Under last tab on top, System/Advance, check box next to "Use Nested Tokens" as in image 1 below -Unless absolutely required, during testing it's recommended to uncheck "Allow command segment info for composite commands" Download and Import the current beta version of this profile here: https://www.dropbox.com/ ... Voice Control Radios 0.99b for Falcon BMS/.. *On first import, you should say, "Initialize Profile" - after first time, this is automatic. Any attempt to use commands before this will trigger auto-initialization. Open the profile - if not already done, group commands by category and consolidate multi-part commands as in image 2 & 3 below Click on the Description tab at the top to help sort commands further (see image 4) Read a semicolon ";" as the word "or" and look at long commands as having many options like saying "2;Two;Too;To;Wingman" (read as "2 -or- Two -or- Too -or- To -or- Wingman") Attempt to follow instructions in Profile Commands and comments to Initialize Profile, Set Push-To-Talk buttons if desired, Set a Human Pilot, Delete Human Pilots, etc. Also, please try the inverse All-Humans mode which assumes all pilots are Humans - Set a Computer Pilot, Delete Computer Pilots, etc. - this is a new system in the July 0.99b Update & should be tested. Launch Falcon BMS 4.34 and fly test flights with AI pilots or mixed with Human pilots and please report any issues when calling commands & any frequently unrecognized words, or any errors/problems Commands Reference: *Replace the word "Human" with "Computer" when All-Humans Mode is ON Normally, this profile assumes all pilots are Computers, use All-Humans Mode to invert this
  2. BETA UPDATED TO v0.99 (final beta!) Please download newest version! Link below and updated in the main post above! You don't have to remove the 0.98 beta profile, but it is recommended to not use both at the same time or variables may get messed up. Thanks to everyone for helping to finish up final testing! SitRep: I've finished integrating the proposed changes I received through the v0.98 beta, and the v0.99 beta is now available for download (click here). There is now an alternate All-Humans Mode that can be turned on, and will assume all pilots are humans unless you individually set Computer Pilots per callsign/flight/wing numbers. All the same "Set a Human Pilot" commands have been copied to make "Set a Computer Pilot" equivalents. You can also change the Keyboard Layout from the default QWERTY by voice command or just executing the "change" command found under initialization. Per request, to speed up the interaction of adding/removing pilots from the exclusion lists, you can now say the entire Callsign + Flight Number + Wing Number when asked for the callsign. Example: "Set a Human Pilot" "say the callsign" "Cowboy 7 3" "Cowboy 7 3 - is this correct?" "Yes" ... (bypassing the need to individually set Flight Number and then Wing Number!) This will jump to the confirmation at the end of the command and greatly reduces the time spent interacting with the voice control system configuration. During my testing, I found there must be a clear separation between the Flight Number and Wing Number when spoken, to avoid "Cowboy 7 3" getting recognized as "Cowboy 73", and your own results may vary. Please test and let me know. The old system is still in place, and you can even just say the Callsign + Flight number, and it will notice and skip to the Set Wing Number segment of the script. The entire idea was to allow a lot of options to recognize how we speak, and the only catch is that we need to enunciate and keep succinct breaks between words for this style of input. Further beta testing in this final 0.99 phase should help judge if this will work or if it needs adjustment. Additionally, there are now VoiceAttack command log notifications whenever the profile loads showing the current profile settings, and also voice notifications if either PTT mode or the new All-Humans mode are On. Here's a copy of the changelog: Beta v0.99 Changelog Jul2019 New Commands: -Change Default Keyboard Layout allows choices between QWERTY, QWERTZ, & AZERTY (per user request) -Turn On/Off All-Humans Mode : Reverse mode assumes all pilots are humans, add Computer Pilots individually as needed (per user request) -Copy of all Add/Remove Human Pilots commands for Computer Pilots & All-Humans Mode Fixes/Improvements: -Can state an entire callsign plus flight & wing numbers when asked for Callsign (per user request to speed up the voice system interaction of adding/removing human pilots) -VoiceAttack log entries displays profile information on startup (current keyboard layout, push-to-talk mode on/off state, All-Humans mode on/off state) (per user request) -Speech notifications on startup for PTT mode and All-Humans mode if they are enabled (see above) -Forced profile initialization if not initialized on any command use (per bug report: on first download/import of profile, trying to use any command fails until voiceattack restarted) *wheelchock2 had asked about a query system. I have not made a system to ask which callsigns have been set/saved to either a Human Pilot or Computer Pilot, as it was always designed to be a throw-away use concept, add a few for the afternoon, adjust for different flights, reset at the end or beginning of a days' use of Falcon BMS. I'd like to know if there is serious interest in a query system before I create one as it will add a bit of size to the profile, increase it's RAM footprint further, and possibly increase profile load time even further. It would not make sense to add this if there is too little use for it. Personally, I remove all human pilot callsigns before every flight, when I'm at the 2D map/mission planning phase. Please let me know how you guys use the profile, and if you'd use something like a query system.
  3. Radio =VG=

    SWEET! Get me a baguette, some wine, and some of that stuff..... What do they call it again? ...used to eat it all the time back in the day.... oh yea, pussy.
  4. AI Wingmen

    It's not on the Server Rules page, I suppose I should put it there, too... I have written about this aspect, like many "rules" for our Falcon BMS Server, they are more of guidelines than actual rules, as there is rarely ever a need to discipline players in a flight sim. I don't specify how many or how often, but basically we expect players to use AI for their own flights only and within reason. On that note, I will put this quote in more prominent locations so it doesn't go unseen:
  5. 28 miles of fireworks for 4th of July - at Long Beach, Washington  :beach: It was a fun vacation, but it's good to be home.


  6. PR VG-COOP attempt to debug the CAS out of map issue

    Noop. Sorry. Please take any further discussion to the relevant bug report thread on the PR Mod website, that is where the love is needed, where multiple groups can contribute to the same discussion. And note the quote, too, please because what's needed to be said has been said. It's a sad situation, would love if it was fixed, and no one here is preventing that.
  7. Loitering

    I'm not exactly sure if it would cause issues, but you could try it out for a while and we could see. If it causes any problems, we can discuss this again at that time. The campaign file could really use some attention and tweaking, so I'll be getting into that, and if you're regularly watching the server, I'll make sure you know when I'm taking it down or restarting to Day 1. I'll also get a more realistic custom weather model as we had before in 4.33 eventually, I've just been spinning plates with too many things to do at VG lately, plus my own projects and goals, and a little free time too. Finally, if it's ever down, you can feel free to post up in the forums here, in the chatbox on the home page, or message me personally. I intend to find other VG members here to learn how to restart it, but for right now, I'm the only active member who has access and can restart it if it crashes. Don't be shy - I don't mind taking a break from whatever to start it back up if it crashes. Cheers!
  8. Avatar

    File format matters, it has to be one of the mainstream formats like png, jpg, haven't tested a .gif (might work, even if it doesn't cycle - might cycle) Size examples from Binary are similar to mine, I'm currently using a .png with transparency and it's 172px x 172px at 58.3kb Limits are in place because previous iterations of the VG website had swollen to over 300 terabytes, nearly completely comprised of unrestricted uploading of images and large file attachments over the course of years. Meant we couldn't move the site to a less expensive host in New York, so we had to change how it's done. When we finally did, a lot of links were broken as we couldn't migrate all those files and images. You can archive and remove leaving blank chunks in posts that may get crawled here and there for years, or you can enforce smaller sizes and encourage the use of imgur links in posts, and dropbox links for files. But for Avatars and profile background images, you're restricted to the 200kb limit if I am not mistaken. If you use Photoshop, select "Save for Web..." to get great looking images at a fraction of the size. TMI, but after finally learning PS some time ago, I started using a tip I got to make all my photoshop images massive, like 4K (3840 x 2660), and then shrink them down for whatever size they'll be used at, like 300 x 300, or 480 x 60 banners, etc. using the Save function options in PS. A great tip.
  9. PR VG-COOP attempt to debug the CAS out of map issue

    Noop. Sorry. This was proven quite some time ago. It's in the code itself. Seems to need a fair number of people over the course of a map or few to make it happen, to get a map running that will have the bug happening. But it requires no editing or changing of any config files (unless adding the name we use and the IP and the number of players for a COOP match, with all COOP map maplist is what you would call customizations). Our clean run tests did knock at least that much out, can't blame freshly downloaded and installed files with no changes except a server license key and a name/MODT & basic COOP setup. That's all you need to reproduce this..... and a server that remains populated throughout the day for days/weeks on end, on a Windows server that rarely goes down. Not that uptime is a factor, just noted it in case trying to duplicate an environment. Again, best wishes and good luck to you - it is not something that anyone wants to persist. But we don't hold the keys to the kingdom, we aren't the cause/reason, and for our COOP team here, we do promote from within. I do hope you don't get discouraged if it's difficult to get working with the PR Dev team on the issue coming in from the outside without PR Mod coding experience already. Keep at it! Cheers!
  10. PR VG-COOP attempt to debug the CAS out of map issue

    Sorry, the answer is no. Apply to the development team, perhaps they will let you be a contributor like Double. AFAIK that is the only way to get access to the source code and server files that are not available to the general public without application. We don't have any say over that here, wrong website. No worries. Best wishes and good luck! That bug is quite the nuisance.
  11. Full =VG= Servers restart

    Mumble is now fixed and Ciro made it into a service so it can have automated restarts or other such things. Thanks, Ciro!!
  12. America explain!!!!

    Hunting, and wives with rules such as no guns in the house.... Or bad writing? 😉
  13. two users 1 network playing on the server not working

    ^What he said... Network Address Translation. It's a good thing!
  14. Donations

    You're a binary co-processor unit that I'm still not convinced is not a bot, and you're asking us how to use PayPal? I don't think you can, you're from Germany, dude. Germany HATES PayPal (not without reason). But all joking aside, if you could, you would go to the paypal website and create a user account. From there you can add a credit card, debit card, or bank account as a payment method. Then when you donate to a place like us that accepts paypal, it will first take you to a screen here where you can choose a donation amount, then it takes you to a secure PayPal portal to finalize the transaction, giving you a final option to choose which saved payment method you want PayPal to use, or just whatever default method you have set. Bing bang boom, done. When a bill is paid directly from a PayPal account to places that accept PayPal (like our website host, for example), we don't even have to worry about fees. Only if one were to take cash out, then they would lose 30% to fees (so best use is just as our bill pay/donation acceptance, which we do). Understood, brother?
  15. Elite: Dangerous -- Deep Core Mining for Void Opals is the new "Gold Rush"!  I've made hundreds of millions doing passenger runs in the Wu Guinagi Loop, but now that it's nerfed, I figured I'd get into mining.

    It takes a bit of learning and reddits and YouTube, and then some more, and maybe more, but then when you get the hang of it, and find yourself a little hotspot far away from the overplayed and overpopulated depreciated areas like I did, you can make 60 million from cracking open just a couple asteroids in no time at all.

    Took less than an hour to get this from three motherload asteroids... and they're EVERYWHERE! (if you know how/where to look)
    (link to coriolis - the ship I used for this mining: https://s.orbis.zone/3mpt )



      i loved elite cassette tape loading on spectrum 48 k , got tribbies and had to use the escape pod to lose them lol big game, you can play for life and not finish : )  Elite: Dangerous 

      looks like a good upgrade, has anyone ever blown up a space station, the ones you dock on, we tried it all,  could never get one to pop :)

  16. Is it time to ditch the Oculus Rift (CV1) and buy an Oculus Rift S? If I ever told any of you that Oculus Rift is cool, if you have the money, a capable PC, and if you already play a few games like War Thunder or Elite: Dangerous that have native VR support, but also told you to hold off for the next generation of VR, well... you may wanna keep holding off. Here's why: The original Oculus Rift (Consumer Version 1) is awesome now, mostly due to the fact that you can buy a comfortable facial interface replacement that makes it possible to play for hours without getting a Ski Mask face, allows more airflow for less heat-buildup, and if you have good over-the-ear headphones, you can take off the Rift earpieces and use VR like I do with full surround sound immersion via the Logitech G35. I bought custom prescription glasses made for the Oculus Rift, they are curved the opposite way, and sit like monocles over the Rift lenses. They cost about as much as regular prescription glasses (expensive!), though I did choose the extra options like the blue light filter coating. Definitely worth it because it provides comfortable and clear viewing with reduced eyestrain, all without the discomfort of trying to wear actual glasses with frames inside the Rift (which could scratch the lenses easily!). The included Oculus Touch controllers are so advanced, and intuitive, that I cannot believe anyone would consider VR without these controllers. The Vive wands, the PS4 wands, etc, all pale in comparison. The ergonomics are as perfectly designed as the Playstation Dual Shock 3 controllers, with analogue buttons everywhere, and of course, vibration. They even sense when you are simply touching a button or not, to translate SO many real world hand gestures from grabbing to pointing to finger-guns to the old standard one-finger "come here" gesture, and many more. (thumbsticks are buttons, too, because of course they are ) The only controller issue would be the fact that they are a little small for an adult with medium to large hands. But, since the Oculus Rift has been out for awhile, there are plenty of third party options available for sale such as gel covers that marginally increase the size enough to fill the gap, while increasing comfort for extended use. Also, the old CV1 Oculus Rift can run fairly well on just a GTX 970 and 4th generation Intel CPU (I have the 4690k, and a super clocked EVGA GTX at 1509MHz, so results may vary) VS. On the other hand, the new Oculus Rift S is also amazing tech, but is brand new. Because of this, for now, there are no fancy gel controller covers for larger hands, no comfortable facial inserts for sale yet, and the included facial piece is just as difficult to wear for any period of time as the original CV1 version was. From what I can tell from reddits/etc. the custom prescription glasses I have for my CV1 Rift may not fit correctly in the Rift S, and that's a huge add-on cost. They say it's easier to wear glasses with frames in the Rift S, but unless I can try a demo, I'm not gonna take that at face value. They said the same about the CV1, and I strongly disagree. There are no included headphones, just a few built-in speaker holes directly over the ear on the headstrap. It apparently has a 3.5mm jack for headphones, though a lot of the users that posted said they wear earbud style headphones. Personally, I've hated those since the 1980's, so for me, I'm not considering that as an option. It looks like it might be difficult to fit the Logitech G35 surround sound headphones over that headstrap, and like many people, I feel that complete immersion requires surround sound and either a quiet room or over-the-ear style headphones like the G35 and G933. It "can" run on a GTX 970 like it's predecessor, but will likely be able to take advantage of more modern graphics cards and CPU's to help maintain at least 45FPS as required for a "no nausea" VR experience while in motion. The resolution has been improved to the point where the very apparent screen door effect of the Oculus Rift CV1 is all but completely gone, according to reviews. With a closer and tighter fit around the nose, there is less face exposure to outside air, and this has led to complaints about heat buildup. I use a small fan that constantly blows over the top of the Oculus Rift CV1 when I use it from a desk setup, and it makes it possible to spend more than an hour or two in VR without noticing the heat. According to reviews and posts so far, the Rift S has fewer/smaller openings to allow such a fan to help dissipate the heat buildup. I already notice immediately if I move my hand (and touch controller) out of view of my Oculus Sensors mounted near the ceiling - if I block it by reaching under my chair, desk, etc. it switches to a sort of inertial mode and can lose that under certain circumstances. With the Rift S, the sensors are on the HMD itself, so I assume it could have even more issues when playing from a desktop setup vs. a room scale setting. With any luck, my sensors will function with the new systems, and add to the tracking. That would be great, but I'm sure the new Touch controllers designed for the Rift S will work well just as if they were the old ones, only with the tracking ring on top. It should be noted that because the Rift S uses a single screen for both eyes, the inter-pupilary distance is no longer adjustable as it was on the Oculus Rift CV1. Anyone with outside the average range will certainly have issue, and even those inside the range will be unable to fine tune it to their exact IPD, which some are counting as a step backwards for this pioneering VR company. So, for these several reasons, I am not upgrading my VR setup to the Rift S at this time. Even if money were not a factor, sadly, I don't think it would be a very enjoyable and comfortable and equally immersive experience. VR is awesome in the Oculus Rift CV1 right now, there's even a wireless kit available! It's comfortable to wear, easy to cool, accommodates my less than perfect vision, and is completely immersive thanks to the Logitech G35 (and the buttkicker under my seat!). I just have to deal with this screendoor effect for a little while longer.
  17. PR Chopper-sound-bug

    ^ That's a feature, not a bug
  18. Server Pause

    We don't pause when no players online. Not sure if there is a setting for that. EDIT: I thought we tweaked the campaign to change some setting when no players were online, but it seems that our setting was no different than the default 2 hours, and it has nothing to do with actually pausing the server or action on the server. I have notes going back to Allied Force, things get confusing, so I hope this is relevant. Admittedly, I've not tested it. I set it like 3 years ago as I read in some ancient forum post here, and haven't changed it since, and have included it in our servers falcon bms.cfg file throughout version changes over the years. Here's the original post from three years ago: More info from the interwebs: Technically, it's a 24/7 Campaign, so things happen even when we are not present to witness them, the clock keeps ticking in real time. At all times, a war is going on with thousands of units all over a full scale map of Korea. (if only they could have maps this size and units of that volume for an infantry+vehicles military game like PR or Arma, a map change could be more of a location change/teleport!!) Hope that answers your question - there is no literal "pause" - time moves ever forward: set g_nNoPlayerPlay 2 //VG server changed- extend playtime when no players online *after re-reading all that old info, I think the comment I put in our config "extend playtime when no players online" was what confused me, as I don't think it's the most accurate interpretation and I think I'll revisit this particular setting when I have time
  19. VincentJames96 Memorial - 24 Hours at Muttrah

    VincentJames96 Annual Memorial - 24 Hours at Muttrah 06.22.2019 0600 PRT In remembrance of our dear departed friend H8CrazyVet67, also known in games as VincentJames96, whom we lost last year, we will be hosting a 24 hour event based around his favorite map. All map layers will be included in the rotation. Please join us as we remember the good times we had with our old friend. In game messages will help inform our regular players of this change, but please be patient with those who do not notice and may complain, and kindly explain this temporary event to them so they may know to conduct themselves with respect accordingly, or to choose to play on another server for the remainder of the day. Thank you!
  20. In memory of H8CrazyVet67

    Roger. I'll set it at around 0600 ZULU for Muttrah All Layers 24 Hours in remembrance of our dear departed friend H8CrazyVet67 aka VincentJames, and an in-game message will display such on the server title, and at the join screen & in-game. *(the denotation of 24/7 implies seven days a week/twenty four hours per day -- this will be a 24 hour event)
  21. Nom nom nom VG background

    I was thinking more along the lines of Conrad Poohs Dancing Teeth... (don't skip ahead, the buildup is key!)
  22. Nom nom nom VG background

    hahahaha! Still works, too! Love it! nomnomnomnomnom
  23. Napalm

  24. I have a touch screen monitor below my main one when I fly in flight simulators like Falcon BMS or DCS or Microsoft Flight Simulator. It's great for the MFD buttons, as opposed to the actual wired USB Thrustmaster MFD's physically attached to the screen like I used to have, and I can use the monitor for other things, too. But one thing I would love to have attached to the screen would be the Course and Heading knobs of the HSI (horizontal situation indicator) . It would need to be removable so I can store it when not in use. I've heard about a micro-suction tape that can stick to anything smooth and flat without leaving a residue or losing stickiness, so this is a good excuse to buy some and play around with sticking things to my monitors. ← On the left is the (green) Arduino Micro board I used to test the concept with a rotary encoder on a breakout board, where I wrote the initial sketch with the Joystick and Encoder libraries. Later, because I didn't want to sacrifice my Arduino Micro to this controller, I bought a 3 pack of these much smaller Sparkfun Pro Micro clones for fifteen bucks (blue one in the middle). That one is gonna stay there for future tests and such, they'll be the heart of many projects in the future since they cost so little and include so much! My DIY USB Game Controller - Rotary Encoders as Course & Heading Knobs for Falcon BMS / DCS / FSX *parts list with links at bottom The initial goals I had for this project were: Two Rotary Encoders with Push Buttons recognized as USB Game Controller in Windows Thin and flat, without taking up too much viewing space on the monitor Can stick and restick to the monitor with micro-suction tape USB connector can be removed so it can be boxed (NetDot magnetic) Fine control for one-degree per detent and Fast Speeds for turning quickly Encased in semi-rigid form like shrink wrap so it won't scratch the monitor Total cost for one single unit less than $10 First, I affixed the Rotary Encoders and the Pro Micro clone to an 8cm x 2cm prototype PCB with a couple header pins bent outwards and crimped down, and with the two blue solid copper switch wires soldered in place from the top. I also ran the 10k Ohm resistors for the switches now. These are for the push buttons built into the rotary encoders, and although they only have two pegs on the actual component, they require three wires from the controller board (ground, 5 volt power, and the blue switch wire going to the Pro Micro). All this added plenty of structure. There is no wiggle or play, I'm not gonna try to break it, but it is very rigid now. Here's a close look at the first stage of soldering. (okay, don't look too close) I don't have the highest quality tools or solder, or even a lot of skill and experience at this, but it's good enough -- and good enough should always be good enough for a DIY project for personal use. If I wanted to, I could order a custom circuit board if I was going to make a bunch of these, but I'm happy as it is. It is so cheap to buy some of this stuff, if you messed up, you can always just buy another. Those Pro Micro controller boards cost about as much as a value meal at a fast food joint, so you can literally afford to make mistakes as you learn even if you're on a very tight budget like I am. A homemade carbon filter fume extractor, a simple soldering iron with a power switch and a temperature controller, some handy dandy helping hands and that brass soldering tip cleaner make little projects like this very easy, and all these items together costs less than the Logitech mouse to it's right. Good enough to play. If anyone reading this has any idea to get into working with things like this, my advice is to jump right in, get the most basic stuff you can get, not the cheapest, but things with good reviews from some good online store like Amazon, Sparkfun, Adafruit, etc. Soldering the top side here, used one of the helping hands to hold a string of solder from the spool. When I'm dealing with tiny bits that are between 0.5mm-2mm, anything that helps is appreciated. One slip and this 225C soldering iron would burn through any one of those tiny chips or components on the board. I find myself holding my breath and doing one or two, then letting go for a sec. I had to redo a few, and I always wait for it to cool down so I don't transfer too much heat to this poor little board. I had a few bits of solid copper wire with colored insulators, from a breadboard jumpers kit, so I cut some to length, but used others as is. This resulted in an odd looking crossover of the Orange and Yellow wires, but they are not taller than the micro USB port on the other side of the board and that's fine. Once I was all done, I tested every connection for continuity and unintentional bridges, and it all checked out, so I encased it in shrink wrap. By some sort of miracle, it works, it looks decent, and I think that will do just great! I connected it to the computer and uploaded the sketch, which I had to modify slightly since I used a few different pins for the push buttons on the rotary encoders, now at pins 15 and 6 instead of 6 and 7. I am thoroughly hooked on these NetDot magnetic adapters. When I looked at the reviews for Pro Micro boards, one of the only issues I saw that I'd be concerned with is accidentally popping the micro-USB port off the Pro Mini board if dropped or yanked too hard. A magnetic connector completely eliminates this issue, as well as the standard wear and tear issues that plugging and unplugging creates over time. And they're as cheap as regular braided USB cables, too. Why not? Here it is connected to the touchscreen monitor. It is far more satisfying to have tactile dials for these knobs than trying to make little circles on the screen with my finger over the touchscreen dials. The micro-suction tape keeps it in place and actually has some grab when trying to pull it off the screen. I've started using a peeling action but I doubt the screen would ever have problems. I might get a 3D printed case someday and maybe even a 90 degree angle connector so the cord goes back behind the monitor naturally instead of downwards, but for now, it's done and working great. Turning the dial with the most basic rotary encoder sketch from that Arduino library results in a "one degree per detent" meaning one turn is one click, and one click is one degree. No matter how fast you turn it, with 20 detents per 360 degrees with these encoders, it would take FOREVER to turn the dial from heading 000 to 180!! I wrote two separate jump speeds to detect how fast the dial is being turned, one jumps 18 degrees per click, and the other 30 per click. Now, it's easy to twist the dial fast to get it spinning fast on screen, while also being able to dial in one degree at a time when needed. All in all, it was a fun project and it's made me think seriously about getting a 3D printer someday to make little plastic cases for things like this. Here's the code if someone wants to use it (or modify it to make it better): Rotary Encoders HSI Course and Heading Knobs.ino for Arduino IDE https://pastebin.com/drUnCfKN /* Simple HSI Knobs Sketch for Falcon BMS / DCS / FSX * for Arduino Micro/Leonardo / Sparkfun Pro Micro or equiv. clones * by SemlerPDX June2019 * VETERANS-GAMING.COM * * Pins: * Rotary Encoder 1 - (OUTA-OUTB-SW) = Arduino Pins (0,1,15) * Rotary Encoder 2 - (OUTA-OUTB-SW) = Arduino Pins (2,3,6) * * Encoder Library * http://www.pjrc.com/teensy/td_libs_Encoder.html * * Joystick Library * by Matthew Heironimus * https://github.com/MHeironimus/ArduinoJoystickLibrary */ #define ENCODER_USE_INTERRUPTS #define ENCODER_OPTIMIZE_INTERRUPTS #include <Encoder.h> #include <Joystick.h> //Tell the Encoder Library which pins have encoders Encoder axisXRotation(0, 1); Encoder axisYRotation(2, 3); //Rotary Encoder Push Button Pins int buttonArray[2] = {15, 6}; //Rotary Encoder Interrupt Pins int EncoderPin0 = 0; int EncoderPin1 = 1; int EncoderPin2 = 2; int EncoderPin3 = 3; //Delay Time between loops int debounceDelay = 260; //Variables to compare current to old values int oldX = 0; int oldY = 0; int RxAxis_Value = 1; int RyAxis_Value = 1; //Intervals for Jump/Warp Speed Rotations int JumpSpeed = 18; int WarpSpeed = 30; //Set generic joystick with id 42 with 2 buttons and 2 axes Joystick_ Joystick(0x42, 0x04, 2, 0, false, false, false, true, true, false, false, false, false, false, false); void setup() { //Set Encoder Pins as Pullups pinMode(EncoderPin0, INPUT_PULLUP); pinMode(EncoderPin1, INPUT_PULLUP); pinMode(EncoderPin2, INPUT_PULLUP); pinMode(EncoderPin3, INPUT_PULLUP); //Loop through buttons and set them as Pullups for(int x = 0; x < sizeof(buttonArray); x++) { pinMode(buttonArray[x], INPUT_PULLUP); } //Set Range of custom Axes Joystick.setRxAxisRange(0, 359); Joystick.setRyAxisRange(0, 359); // Initialize Joystick Library Joystick.begin(false); } void loop() { // Loop through button pin values & set to Joystick for (int x = 0; x < sizeof(buttonArray); x++) { byte currentButtonState = !digitalRead(buttonArray[x]); Joystick.setButton(x, currentButtonState); } // Read "Heading" X Axis Rotation Encoder Knob int newX = axisXRotation.read(); if (newX > oldX) { //Determine speed of increment & set output int difX = newX - oldX; RxAxis_Value = speedVal(difX, RxAxis_Value, 1); Joystick.setRxAxis(RxAxis_Value); axisXRotation.write(newX); oldX = newX; }else if (newX < oldX) { //Determine speed of decrement & set output int difX = oldX - newX; RxAxis_Value = speedVal(difX, RxAxis_Value, 0); Joystick.setRxAxis(RxAxis_Value); axisXRotation.write(newX); oldX = newX; } // Read "Course" Y Axis Rotation Encoder Knob int newY = axisYRotation.read(); if (newY > oldY) { //Determine speed of increment & set output int difY = newY - oldY; RyAxis_Value = speedVal(difY, RyAxis_Value, 1); Joystick.setRyAxis(RyAxis_Value); axisYRotation.write(newY); oldY = newY; }else if (newY < oldY) { //Determine speed of decrement & set output int difY = oldY - newY; RyAxis_Value = speedVal(difY, RyAxis_Value, 0); Joystick.setRyAxis(RyAxis_Value); axisYRotation.write(newY); oldY = newY; } //Send Joystick info through USB Joystick.sendState(); delay(debounceDelay); } //Function to set Rotation value adjusted for the turning speed int speedVal(int dif, int val, int dir){ if (dif >= WarpSpeed) { if (dir == 1) { val = val + WarpSpeed; }else{ val = val - WarpSpeed; } }else if (dif >= JumpSpeed) { if (dir == 1) { val = val + JumpSpeed; }else{ val = val - JumpSpeed; } }else{ if (dir == 1) { val = val + 1; }else{ val = val - 1; } } //Correct Rotation within 360 deg. if (val < 0) { val = val + 360; }else if (val >= 360) { val = val - 360; } return val; } Here's a cost breakdown: Pro Micro (clone of Sparkfun Pro Micro board sold by KeeYees) (3 pack) - $15.99 https://www.amazon.com/gp/product/B07FXCTVQP/ $5.33 per board PCB Prototype Board Kit - $15.99 https://www.amazon.com/gp/product/B07CK3RCKS/ $0.25 (just a guestimate - it's one part out of a huge kit) 360 Degree Rotary Encoders (5 pack w/knob caps) - $8.89 https://www.amazon.com/gp/product/B07DM2YMT4/ $3.56 for 2 dials Microsuction Tape (25cm X 30cm Sheet) - $14.95 https://www.amazon.com/gp/product/B00M7FC1K8/ $0.12 (just a guestimate - used 1.5cm x 6cm strip of a huge sheet) NetDot 5ft Braided Magnetic Tip USB Micro Cable (3 pack) - $13.90 https://www.amazon.com/gp/product/B074TB8XTL/ $4.64 for 1 cord (Not taking into account things like double sided sticky tape, solder, wires, or shrink wrap tubing segments used because they cost less than a few pennies) Total: $13.65 (USD) _________________________________ I spent a fair bit more money than I initially expected to (almost $55!), but much of that went towards components or materials that I'll be able to use for several projects in the future. At about $14 bucks, it is twice what I thought it would be per unit, so that will help me to better gauge other ideas. It seemed like it would be cheap as dirt, using many parts I already owned, but it all adds up - they don't sell less than a sheet of micro-suction tape, and buying control boards in bulk is the only wise way to do it (if you can call 3 units "bulk", that is). In conclusion, it was great to have an idea, play around with some proof of concepts, and then make it into a reality within a few days. Single game controllers today.... one day, a full cockpit of switches! Not sure what my next project will be, but among other ideas, I've considered making a custom control board for Kerbal Space Program, or maybe some kind of wireless gear that can connect to a computer and translate into RF to control some DIY RC cars or whatever with my Xbox controller already attached to my PC. Eventually, I want to get into wireless stuff, and even RC, but I might start with button boards that use USB cables just like this one. If anyone has any questions on this project, feel free to ask. Thanks for reading!
  25. FNG on Deck!

    Hello and welcome!