Jump to content

=VG= SemlerPDX

VG Clan Member (Administrator)
  • Posts

    4,766
  • Joined

  • Last visited

Everything posted by =VG= SemlerPDX

  1. You're welcome! Adding a third rotation axis is super simple, the joystick library actually has 3 rotation axes and we've only used 2 of them. It's just a matter of adding in that Z axis in the same way we handle the X and Y, and wiring it up to a pair of Interrupt Pins, and it's button to the buttons pin array. Adding a 3-way toggle switch should work just fine as buttons, but I don't have an example I can mash in right now, and so I'll have to look into it tomorrow or this weekend, but I'm sure I can toss something together for you. You will want to learn how to wire up that 3-way switch and run an example sketch to test it, here's a simple lesson for that - his pics could be better, but you'll get the idea - I can't help you with your wiring, so you'll need to work through this to learn where to wire the resistors, ground, etc. : http://www.lucadentella.it/en/2014/08/01/interruttore-a-tre-posizioni-e-arduino/ For now, I have an example for you with the 3rd rotary encoder (Z axis), look it over and you'll see what I did to add it, it's pretty easy even for a novice because it's literally a copy of X and Y. It does matter what board you are using, this is working example with all three rotary encoders, but not the 3-way switch yet -- this sketch assumes that on your board the 9 & 10 pins are Interrupt pins (refer to the pinout for your board if this sketch doesn't work out of the box). I didn't test it, so you can do that. https://pastebin.com/gEWNgm83 (click to reveal) /* Modified HSI Knobs Sketch for Falcon BMS / DCS / FSX * with additional 3rd Rotary Encoder (Z Axis) * *(coming next: a 3-way Toggle Switch add-on) * for Arduino Micro/Leonardo / Sparkfun Pro Micro or equiv. clones * by SemlerPDX Aug2019 * VETERANS-GAMING.COM * ( in response to reply at: * http://veterans-gaming.com/index.php?/blogs/entry/32-diy-custom-game-controller-2-dial-hsi-course-and-heading-knobs/ ) * * Pins: * Rotary Encoder 1 - (OUTA-OUTB-SW) = Arduino Pins (0,1,15) * Rotary Encoder 2 - (OUTA-OUTB-SW) = Arduino Pins (2,3,6) * Rotary Encoder 3 - (OUTA-OUTB-SW) = Arduino Pins (9,10,7) * * 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); Encoder axisZRotation(9, 10); //Rotary Encoder Push Button Pins int buttonArray[3] = {15, 6, 7}; //Rotary Encoder Interrupt Pins int EncoderPin0 = 0; int EncoderPin1 = 1; int EncoderPin2 = 2; int EncoderPin3 = 3; int EncoderPin4 = 9; int EncoderPin5 = 10; //Delay Time between loops int debounceDelay = 260; //Variables to compare current to old values int oldX = 0; int oldY = 0; int oldZ = 0; int RxAxis_Value = 1; int RyAxis_Value = 1; int RzAxis_Value = 1; //Intervals for Jump/Warp Speed Rotations int JumpSpeed = 18; int WarpSpeed = 30; //Set generic joystick with id 42 with 3 buttons and 3 axes Joystick_ Joystick(0x42, 0x04, 3, 0, false, false, false, true, true, true, 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); pinMode(EncoderPin4, INPUT_PULLUP); pinMode(EncoderPin5, 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); Joystick.setRzAxisRange(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; } // Read "QNH" Z Axis Rotation Encoder Knob int newZ = axisZRotation.read(); if (newZ > oldZ) { //Determine speed of increment & set output int difZ = newZ - oldZ; RzAxis_Value = speedVal(difZ, RzAxis_Value, 1); Joystick.setRzAxis(RzAxis_Value); axisZRotation.write(newZ); oldZ = newZ; }else if (newZ < oldZ) { //Determine speed of decrement & set output int difZ = oldZ - newZ; RzAxis_Value = speedVal(difZ, RzAxis_Value, 0); Joystick.setRzAxis(RzAxis_Value); axisZRotation.write(newZ); oldZ = newZ; } //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; }
  2. In Portland, Oregon, where Darth Vader rides a unicycle while wearing a kilt and playing bag pipes that shoot fire around the Skidmore district, we have a saying, "Keep Portland Weird"
     

    .... So this just happened, an official local brew from Portland Brewing:
    image.png

    1. =VG= Fastjack

      =VG= Fastjack

      About 2nd pic …… few seconds later forklift came around the corner and SMMAAATTCCHHHEEEDDDD mr. unipiper!!!!

    2. =VG= SemlerPDX

      =VG= SemlerPDX

       :tatice_03:  ....and then a few seconds later, "Portland Brewing announces it's newest beer:  Smashed Unipiper with Bits of Forklift IPA"

    3. =VG= Fastjack

      =VG= Fastjack

       You know i came from the logistic buisness  warehouses etc.

      When i see your fucking american type pallets … pure hate.

      With the standard warehouse equipment like forklift, reachtruck or slipsheet it's to shitty to handle.

       

  3. Just got home from two weeks in the Mt. Hood National Forest. Went up for the duration of the Perseid Meteor Showers and stayed through the 20th. It was great to get unplugged for awhile. Dug a pit and sunk a chopping block for my axe, and went through piles of wood. A white pine was downed just up the road, so I had a huge supply of 15" rounds to buck up and split. My shoe busted less than halfway through the trip and I used some camo colored duct tape to keep them together for the rest of my vacation, and looking halfway decent, too. I spent a bit of time floating in the eddies created by these two rivers joining at the Fan, the split one actually being one river, and you don't continue down river unless you really try to get into the flow. It's a nice spot to swim, but due to it's cold temperature (50-55 deg. F), most people bring something to float on. I took quite a few pictures with my old Nikon COOLPIX L30 on a tripod: I was very simplified and didn't bother cooking at all, just things that need boiling water, cheese & crackers, or hotdogs over the fire, granola bars, and such. And lots of coffee... I went shooting almost daily with my replica 1870's Henry Repeating Rifle. It's a carbine in .45 Long Colt, 10 rounds tube fed. The Henry was the first rifle that combined the bullet, gunpowder, and primer into a single shell, and while it was not standard issue in the Army, many soldiers saved their pay to buy one because they felt it could save their life. I shoot at 80 feet, which about as far as I can generally find a flat and open area to shoot in the valley where I camp. That's around 26 yards, or 24 meters, the distance over my shoulder in the pic to the target. I shoot with iron sights and at that range the front sight is larger than the 10-point ring in the center of the target. After one volley of 10 rounds, I circle my shots so I can count later. Ran out of my NRA 100 yard rifle targets and had to buy these "sighting-in" sheets when I went to the nearest small town for ice and resupply mid-trip. These camp robbers are extremely bold birds, and will literally land on your chair, arm, shoulder, hat... We toss snacks around to bring them in like fruit and nuts. Rather than follow the whole "don't feed the animals" idea, we just give in and see how close we can get them for pictures and such. The bats under the bridge are rather small, around 3 inches (or 8cm) long and they concentrate there at night to feed. I brought a handheld torch bright enough to dwarf the flash on the camera, and put the camera on a tripod so I could get it up into the high spaces of the bridge. I caught one in mid-flight trying to investigate my camera on a pole and even felt his wings smack the side of the pole when he came in close. Another one was completely oblivious or didn't care about my camera and I kept getting closer until I was in macro mode just a few inches from his face - it was hard to hold still enough to get a good shot, these are the two out of literally 20 pictures that turned out decent: (click photos for full size images)
  4. Ciro was away, then I was away, now afaik, we are both around and will be resolving the issues with the server and TCAdmin in the very near future. Problems that have persisted through July and August should soon be a thing of the past, as well as these server hang issues that have popped up. If it were something simple, we would have fixed it already, but this will require server downtime and some heavy work based on our earlier estimates. We'll keep you all informed and will make separate public announcements once we get rolling. Just wanted to respond here as there seems to be questions about why this is happening, and I thought we made that clear to everyone when TCAdmin went belly-up after an attempted update in July, and subsequent failures to get together and resolve it due to real life issues and prior engagements we could not control or ignore, that the servers would be running less efficiently until fixed. Thank you all for your patience!
  5. Coming soon to Elite Dangerous:Details have been released regarding the Fleet Carrier as well as the Frontier Points that can be earned in-game to buy cosmetic items that were previously only available for purchase (with real money) from the Frontier Store. *I have several billion in-game credits and will be purchasing a Fleet Carrier for the VETERANS-GAMING Squadron in Elite: Dangerous as soon as they release in December, and will place it based on current group activities to support whatever we are doing, and will outfit it to most benefit our current in-game operations. Will be happy to re-tool and re-fit it, as well as re-locate it when needed, based on group decision. And standing open invitation to anyone who wants to learn some killer in-game money making strategies that will help you afford your own Fleet Carrier in no time, just let me know! Videos and guides help, but nothing is faster than flying around with someone and learning while making half a billion credits in one gaming session!
  6. Suuuure. Because in Win7, the PR icon has the exact same problem.... See what I mean? You make very fair points, but if it was working well in XP, and in Win7, why would anyone at PR need to do anything to improve or change the way the .exe works? I get that perhaps they did not follow a "standards and practices" method for the creation of those .exe's, and I'm not Microsoft Certified - certainly can't speak for the "how" things are supposed to be done... but the issue remains: Worked fine in XP & Win7 -- Yet again, Win10 must have changed something that did not need to be changed for seemingly no other reason than to do something different regardless of positive/negative operation of the existing system. Speculation, I know, but my point stands. Win10 is a pain.
  7. Patience is a virtue. I would never recommend to anyone to download a non-game from Steam. I could list the reasons, but it's pretty obvious that one program being dependent upon another that force updates it is NOT acceptable. This is the case for a number of utility programs that can be downloaded for free, and also from Steam. NEVER use Steam if you can avoid it, if you simply want proper control over your programs. Here's a negative review from a Blender user on Steam who was very happy with the old version 2.79 user interface and was very upset that Steam force-updated him to a version he did not want. Like anyone, if you are used to a program, it's best to research the next version first and evaluate if it's time to change over so you can wait for any plugins you use to update, or in case there will be an added learning curve that would derail any existing projects or workflow:
  8. Same color as the Start Menu background? Have you not seen my Win10 article? (shameless plug) ---scroll to middle "Look and Appearance" section Nice workaround! I had not noticed that the Start In field was blank, but in my defense, I spent a total of 2 minutes 4 years ago realizing that Win10 doesn't want to play nice with the PR launcher pinned to Start Menu, so I didn't bother. And, while you're workaround method works 90%, it's not complete and that is not your fault. This is a Windows 10 issue, and/or the way PR runs in Win10, and I'm not going to keep jumping through hoops for Windows 10 and chase my tail over some icon that doesn't want to pin correctly like every other program on my computer. Besides, I've had this all on voice control for so long, I wouldn't bother taking up space on my Start Menu anyway. But for the record, the 10% of this workaround that doesn't work is the icon bit. I bet I could copy the icon to some location on C: drive and jerry-rig it up to look right, but case in point, Win10 sucks and here's why I don't use the Start Menu icon to launch PR:
  9. Just look at home page. It is on Calendar now, that will show in your local time zone.
  10. OS is running on C: drive (Windows 10) -- PR is installed on another drive, say drive P: Figured it was a Win10 issue otherwise I'd report it -- your checklist of things to try were run through systematically, trust me when I say we're on the same page there - trying to pin shortcuts instead of the item, and getting pushy with parameters or even batch scripts... Win10 is annoying as hell.
  11. Roger that. Tested desktop icon shortcut and it works. Still, I have all desktop icons hidden, I don't use them - I use Start Menu and Taskbar shortcuts, and for the non-default /C: drive program it will not load when I pin it to Start Menu or Taskbar and that is what I had wanted to express. When Win10 figures that out, I'll hate it just a little bit less. (This is specific to PR, I have many program icons on Start menu that are not installed on C: drive)
  12. In my experience over the past few years in Windows 10, I am unable to launch PR from a hard drive that is not the C: drive with the OS -- any shortcuts fail. Maybe they know this now and ditch the shortcut so it isn't attempted? I have no idea. But I've given up and now open file explorer to the bin folder with the PRLauncher.exe and I use that, then close the explorer before it launches. Very annoying that it cannot be a shortcut on my desktop, Start Menu, or Taskbar, but I stopped trying to give myself an aneurysm over why Win10 is so terrible.
  13. My jaw dropped at this amazing amateur cosmic photography by Thunderf00t - @11:35 Alien Mothership confirmed! (j/k) ;)

     

    1. =VG= 22..12

      =VG= 22..12

      man rlly I can't watch stuff like this my brain will shutdown because now I dont have space need a new hard drive for my brain :)

    2. =VG= SemlerPDX
    3. =VG= Inch

      =VG= Inch

      P R A I S E    T H E     S U N     ! ! ! ! ! ! :D

       

  14. If you would like to Appeal your Ban, please provide the following information: 1. Banned Username 2. What Server(s)? 3. When did this happen? 4. Reason you were banned 5. Describe the events leading up to your ban ( how did this occur and why? ) 6. Personal Statement ( Why should we unban you? ) As a courtesy we look into all unban requests. The nature of the offense and the information you provide in your personal statement will determine the final outcome of your Appeal. We value honesty above all else. (the admin who banned you must also agree to the terms) We try to resolve all bans within 72 hours of the Appeal. All unbanned individuals will be placed on a watch list for 30 days. If any further issues occur during this time, your Ban will be reinstated and any future appeals will be denied...permanently. Thank you
  15. That is sweet! Been thinking about getting into Blender a bit. In Oculus Rift, you have these "homes", like a digital construct before you launch a game. They've been improved over the years, now you have all sorts of new features and you can even import objects that you make in Blender, or Unity, etc. You can use these objects like decorations around the digital home. Would be fun to learn Blender!
  16. I think for the scenario where you are not the lead pilot, but you still want to use the profile so you can talk to Tower/Ground/ATC/etc. there should be a way to disregard comms that may try to trigger such calls. Should I have a mode that we tell AVCS we are not the lead pilot, and therefore a certain set of commands will not trigger even if we directly call them? That would not be difficult, but we would want to compile a list of all commands that logically should be ignored if we're not the lead in a flight online with humans. An alternate on this method would be to set only one PTT (for example, UHF) and use that for AI comms primarily, and the VHF for inter-ship Player to Player comms. The PTT mode does not require both keys to be set, just the Press & Release for VHF -or- UHF would suffice. The way you propose an alternate use of PTT mode might possibly get more in the way than anything, if I could make it so you don't have to do work like another simple mode which could be made to handle this type of flight, it may be preferable. I hadn't thought about this, much appreciated!
  17. Restarted. Thanks for the report - it seems to have hung up, but it's all good now. Cheers!
  18. Hey! You mentioned changing HUD color in Elite Dangerous, and wanted to share the method I use in case you want to use it, too.

    It's the Elite: Dangerous Profiler by DrKaii http://www.drkaii.com/tools/edprofiler/

    And it gives access to a lot of menu options outside the game, and a bunch of other helpful tools.  Here's a screenshot of my own setup, I use it to go between 3 different settings profiles quickly.  I don't change my HUD color anymore only because dangerous things that are normally Red on the radar (to draw our eyes) will also change colors to something innocuous, and can then be hard to notice on the radar as a "dangerous thing".

    EliteDangerousProfiler.PNG

  19. According to Stark, the service was still running but was not operating properly (as opposed to a crash to desktop). He restarted it and everything is running normally now. If it happens again soon, feel free to post up here and we'll take care of it. *All PR Admins here will regain their ability to restart the server through TCAdmin in August, one of our Tech Team had a life issue so it has postponed our progress on that front.
  20. Hmmm.... This hits home for me for some reason...

     "and the home of the brave."

  21. Jabal always looks so great from the carrier! Nice screenshots, man!
  22. For those here who don't know, Gold is bad... Great for space shuttles and fighter jets and CPU and tiny integrated circuit chips, and everywhere else it's just a bullshit marketing gimmick. Plenty of vids exposing the bs of "gold plated" connections, etc. on so called "performance grade" consumer electronics cables. Fun fact: See those 4 lines on the white thing? Those are the connections.... See the big golden metal square things that hold it? They are holders, and not to get all science-y, but they conduct exactly zero signal or connection or current or voltage or ground. But if you put this cable side by side with a silver/steel colored end, the gold one will sell at nearly twice the price, while the other collects dust, because...gold.
  23. Who still uses non-rechargeable batteries?! Chinese shop lol Wired FTW, but for anything that takes 2 AA's like the wireless X-Box controller, it's not hard to figure out: They sell rechargeable AA's in a 4-pack, ya keep the other two charged up so when it starts flashing LOW mid-game, you can quickly swap them at the next opportunity (not easy during a race, I hate it..). But it's the price to pay for getting a little less wired for a few controllers. They don't make wired Oculus Touch controllers.... just sayin'
  24. A small bug has been found, the Keyboard Layout is not remembering it's settings when the profile is reloaded because the variable didn't get loaded in the initialization file as intended. This will be fixed for the final version. If you use a different keyboard layout than the default QWERTY, and you don't want to have to set this each time this profile loads until the next update, you can simply add the line to the KEYPRESS_Variables command as shown in the image below. Copy the variable AVCS_BMS_KeyboardLayout and insert a 'Set an Integer Value' found under "Other > Advanced" and paste in the variable name. Below, select the box "Retrieve Saved Value" and nothing else. Again, this will be done for the final version, and only people with non-standard keyboards need to be concerned.
×
×
  • Create New...

Important Information

Terms of Use and Privacy Policy