Hard Light Productions Forums

Off-Topic Discussion => Gaming Discussion => Topic started by: Alex Heartnet on November 03, 2011, 07:50:18 pm

Title: T-Flight Hotas X joystick - Solution to 'Large Deadzone' issue
Post by: Alex Heartnet on November 03, 2011, 07:50:18 pm
Many of you know that the large deadzone is the main complaint about the Thrustmaster T-Flight joystick, and why many do not recommend it for playing Freespace.  After playing around with different deadzone settings using X-Padder, I was able to figure out EXACTLY what the cause was, and how to fix it.  Fortunately, it is an easy fix.

The joystick in question has no deadzone by itself, yet somehow amplifies whatever deadzone given to it by games to the point where the default deadzone setting is usually too much.  So all you have to do is just lower your deadzone settings ingame.

In Freespace 2, for example, you just go to the F2 tab, and lower the 'Deadzone' tab from 3 bars to 1 or 2 bars.  Problem solved.

Fine control becomes much easier without said deadzone issue.
Title: Re: T-Flight Hotas X joystick - Solution to 'Large Deadzone' issue
Post by: Nuke on November 03, 2011, 08:39:07 pm
i hate input devices that force a fixed gain curve on you in hardware.  take the measurement, packetize it, and pass it to the host controller. process the gain curve in the driver or in software. seriously im sick of device engineers making stupid assumptions like this.
Title: Re: T-Flight Hotas X joystick - Solution to 'Large Deadzone' issue
Post by: Alex Heartnet on November 03, 2011, 09:42:02 pm
Unfortunately, I don't think there exists a perfect joystick.  All the sticks I have seen have at least one significant flaw like this one if you do enough research - sometimes even BIG quality control issues in which there just is no excuse for.  Stuff like the firmware frying on the Thrustmaster Hotas Warthog if you try to update it using USB 3.0 and not USB 2.0 - made even worse by the fact that the Warthog is a $300-$400 joystick!  At least I can see the thought process behind the T-Flight calibration issue...


I honestly don't think controller manufacturers care much for their customers, hence joysticks having avoidable flaws like this.
Title: Re: T-Flight Hotas X joystick - Solution to 'Large Deadzone' issue
Post by: Nuke on November 03, 2011, 10:50:53 pm
joysticks are way overpriced these days. its quite sad. almost any $2 microcontroller can drive a joystick, and were talking controllers with 10+ bit adc lines, which will read position sensors. even joysticks with a large button count can be done with a scan matrix without needing a lot of i/o pins. if you actually open up a joystick you will be hard pressed to find $5 worth of components on the circuit board. all the technology is tried and true. so why do these things cost so damn much? i spent some $400+ on my ch setup and it doesn't even do 10 bit resolution. i had 10 bit resolution back in the late '90s on my ms sidewinder and even higher on older sensor only joysticks that relied on your sound card's adcs (and these were 16 bit) for their sampling.

people say that the mouse killed the joystick, but what really killed it was usb. all the sudden it wasnt a mechanical problem but also an electrical and programming problem as well. the real innovations were what ms and other companies were doing to get more performance out of the game port, ms was even using optical sensors where even today potentiometers still reign supreme. saitek is innovating with new sensor types, hall sensors and flex sensors and the like, but i never did like their single spring gimbal mechanism and mechanical deadzones, but they are the only ones who seem to push for better sensor tech. but once you bought in a microcontroller into the equation is when they got greedy. see they can always buy a cheaper mcu. why spend 59 cents per unit on a chip with a 12 bit adc when you can save 3 cents by getting a chip with an 8 bit adc, and why use a 12 mhz crystal when you can clock the chip at 6 mhz on its internal oscillator. i mean if they are gonna charge me $400 for a joystick at least put good parts in it.

im actually considering replacing the electronics in all my ch gear with homebrew boards which have high resolution adcs and high sample rates. i wouldnt be able to use the the ch software, but glovepie + ppjoy is just as good.
Title: Re: T-Flight Hotas X joystick - Solution to 'Large Deadzone' issue
Post by: Davros on November 04, 2011, 02:03:51 am
your the first person ive ever heard have anything bad to say about ch gear, they are usually held in high regard
Title: Re: T-Flight Hotas X joystick - Solution to 'Large Deadzone' issue
Post by: Nuke on November 04, 2011, 12:27:03 pm
mechanically they are superior, built like a rock. the spring tension is perfect and axis independant. all their joysticks have hardware trim standard, and use high quality key switches in all their hats and buttons. on top of that they come with the best pieces of game profile software ive ever seen. its the stick you want to buy if you dont want to every buy another stick ever again. however, electronically they are not very advanced.

being made in the usa they probably use pic microcontrollers, and most of those come with 8-bit adcs standard (though they do sell models with 12 bit adcs). in the world of microcontrollers a high end unit is around $8. of course you dont need such an mcu for a joystick. you dont really need much memory, you could probably do without hardware multiplier, or a pin count greater than 30. a chip suitable for a joystick needs to either have native usb support, or can bit-bang out the usb protocol with the right clock rate (meaning an extra part, a 6 or 12 mhz crystal). it also needs to have a way to read analog sensors. usually you do this with the mcu's built in adc lines, one for each axis. you can run an external adc on something like 1-wire, i2c, spi, or u(s)art, which uses between 1 and 4 pins depending on interface, most mcus support at least a couple forms of serial interfaces, but this adds a part. then you need enough general purpose i/o pins left over for buttons. these can be multiplexed with a scan matrix to a number equal to row pins times column pins (for example 10 pins can support 25 buttons, 12 pins can sport 36).

such an mcu would cost less than a couple bucks (and thats not the bulk rate), but they seem to want to pick the cheapest one possible to add a few cents to their profits. i built a 10 bit wireless serial joystick for $15 in parts (mcu, crystal, voltage regulator, ask transmitter and receiver modules, some signal diodes, an opamp, some pots and some caps/resistors), an arduino i had lying around (used this for the receiver and computer interface) and some junk i had laying around. it was hella accurate, though mechanically its inferior to the ch hardware. so im putting some serious thought into a ch stick mod to increase sampling rate and resolution. still need to learn how to bitbang usb, or i may use bluetooth modules for wireless, but thats pricey. 
Title: Re: T-Flight Hotas X joystick - Solution to 'Large Deadzone' issue
Post by: Davros on November 05, 2011, 05:46:14 am
Dont forget the forcefeedback...
Title: Re: T-Flight Hotas X joystick - Solution to 'Large Deadzone' issue
Post by: QuantumDelta on November 05, 2011, 06:39:09 am
You can reduce the deadzone to ACTUALLY zero?
Read; non-existent?
Title: Re: T-Flight Hotas X joystick - Solution to 'Large Deadzone' issue
Post by: Flaser on November 05, 2011, 09:52:07 am
Nuke, when you mentioned 10-bit, did you mean an MJoy-16 by chance?

http://sites.google.com/site/mjoy16/home

This is a DIY joystick controller with 10-bit precision and USB support.
Title: Re: T-Flight Hotas X joystick - Solution to 'Large Deadzone' issue
Post by: Nuke on November 05, 2011, 06:44:15 pm
lol, it probibly just uses an atmel mcu, almost every chip they make has a bank of 10 bit adcs. i wrote a command line program that reads a serial stream from an arduino (running an atmega382p) and read it out as a series of up to six 10-bit axes and then use the ppjoy virtual driver to make it usable as a joystick interface. i want better than that though. my holy grail is 16 bit. probably need an audio grade adc for something like that. id also want bluetooth or perhaps native usb interface (instead of a usb-uart bridge that the arduino uses).