Wednesday 13 July 2011

G940 now with LED control

Today I added some code to apply any OEM specific support in our DirectInput controller DLL. Here is a desk photo of the G940 throttle unit with the buttons cycling through each colour (green, amber, red, off). I had some link issues with Logitech's supplied LIB and I hope it's just confined to the debug symbols (turning them off fixed the link error).

Tempting to program a game of Simon for it.

The force-feedback functions are done but it's worth mentioning that there's a gulf between a powered joystick and simple force-feedback. What I'm finding is that the range of powered motion doesn't always match the full range of motion in the joystick. Those mechanism are typically designed to apply force sensations for gaming purposes. I had high hopes that such devices could simulate a force-trim system but not all devices are created equal. They can approximate to varying degrees.

If you're in the market for a new HOTAS and considering one of these for a helicopter simulation then I suggest a forum search for Black Shark players and the G940. I'm personally torn between non-FF and this device. The lamp buttons are kind of cool but presently there's no way to link them to game values.


In Combat-Helo, the virtual cockpit data contains information about switches that are considered lamps, there's logic to switch lamped buttons on events. This is an obvious place to add a hook for a devices 'lamp' list to illuminated cockpit switches. And I could add some fake ones for RWR warnings, it should be quite quick to implement that way.

Finally I'm able to map the funny guarded "arm" switch on the Saitek X65F with this new wrapper, that joystick has 50 mappable buttons alone, never mind the POVs and axis. It works fine alongside the G940.

Other news. It's almost time for another progress video. There's some niggling issues with the rocket aim to sort out, when I'm happy with the rockets I reckon it's time to show off some firepower.

If you have some cool non standard hardware device that we can support in Combat-Helo then email richard at tricubicstudios dot com.

8 comments:

  1. I liked my old MS FFB2 for Black Shark so much, though to few buttons and knobs. And the force-trim method works on that stick.
    For the A-10C I bought a Warthog HOTAS and use it for all sims now.
    Yes, a vid with some action would be great. :-)

    ReplyDelete
  2. I just got to playing with my FF interface in a small test application and a couple of things occurred to me.

    I'm using a "constant force" type of effect, basically this is a force of infinite duration, you give it a direction and magnitude. When you turn off the device's self-centring system which is what you need for a helicopter sim, this slams the stick out to the edge.

    I'm wondering how it's technically done in Black Shark. There doesn't seem to be many options for FF control.

    What I haven't tried yet is constantly updating the vector and magnitude based on stick position. Generally you shouldn't update the stick forces too often, or so it says in the Microsoft documentation.

    ReplyDelete
  3. I would of course quite happy if Thrustmaster sent a Warthog for testing but I don't think it's got anything unusual?

    Does it install itself as several virtual devices? How many axis? Buttons?

    ReplyDelete
  4. Both Throttle and Joystick are individual USB devices. Windows see's them as separate devices.

    If the TARGET programming software is used, then it combines the Throttle and Joystick into a single "Virtual Controller".

    As for buttons:
    Throttle= 17 buttons + 1 mouse with pushbutton, + 1 8-way hat
    Joystick= 19 buttons, + 1 8-way hat

    For axis:
    Throttle= 5 axis
    Joystick= 2 axis

    I really hope there is some Helios support as well.

    ReplyDelete
  5. For your reference Richard: http://www.thrustmaster.com/product.aspx?ProductID=221

    ReplyDelete
  6. Thanks Tim. That all looks reasonable, shouldn't be any problems.

    Helios is definitely on my cockpit integration to-do list. I'll be adding a JSON interface as some point, was going to do it earlier but priorities pushed it to one side.

    ReplyDelete
  7. Actually I just noticed it's possibly going to have an interface to the Arduino board, my lad's just been doing some programming with one of those.

    Enough of that for now. Back to getting the helicopter systems done.

    Aha, the postman, some new bedtime reading...

    http://www.amazon.co.uk/gp/product/1568817118

    ReplyDelete
  8. What game does this apply to? I have added G940 LED library with C# bindings and exported C++ DLL here: https://github.com/cyberluke/G940LedInterface ...I'm using it inside FreePIE (my fork) and updated VJoy interface (my fork) and fixed SlimDX Ramp effect. I combine all three G940 devices into one, so it works properly, including force feedback, in all older games (such as Novalogic sims). Maybe it helps you.

    ReplyDelete