G940 - Force Feedback - discussion - ED Forums


Thread Tools Display Modes
Old 05-01-2019, 08:04 AM   #1
Junior Member
Join Date: Apr 2019
Location: Germany
Posts: 40
Lightbulb G940 - Force Feedback - questions/discussion

The primarily idea of this thread is:

- clarify some terms related to force feedback usage in general
- collect some suggestions in respect of a proper ff implementation
- considering the capabilities of the G940 in particular
- update and share my current G940 firmware patch
I am in no way an experienced pilot ( ) and i am still confused if i read about things like: "magnetic break", "ff trim", "center play", ...
So i am trying to figure out, how a proper force feedback implementation should work and what features are most important.
Finally i hope to be able to improve the current firmware of the G940 later.
(the current state is available here https://github.com/fred41/G940-firmware-fixes)

Let me start, with some technical details about the G940 force feedback related hardware:

- STM32F103T6U6A, 32 bit, ARM Cortex M3, at 72 MHz
- MLX90333 magnetic position sensor (programmed in seriell mode - SPI)
- Timer 1 used for generating independend PWM's (35kHz) signals for the H-bridges
- 2 x H-bridge based on power-mosfet (3A) for x and y motor control
- 2 x powerful DC motors for x and y axis forces (SRS-555H)
- a gimbal with 4 ball bearings, build from steel and solid plastic (Polycarbonate - PC)
- optical sensor in grip for "hands on/off" detection
- thermal sensor and mosfet switch for internal DC disconnect
- power supply: 24VDC, 1,75A

firmware implementation related (1.42):
- 2 independent spring effects per axis, supporting: offset, deadband, coefficients, saturation
- 2 independent damper effects per axis, supporting: coefficients, saturation
- 1 constant force per axis (16 bit signed)
- 1 combined effect per axis, supporting spring coeffisient, damper coefficient, combined saturation

driver (windows) related:
- simulation of periodic effects (like sin, saw, square), via modulated constant force
- simulation of attack length, effect duration, fade length

The latest firmware patch can be downloadet here:

For testing and finetuning all available condition effects, i use the well known simFFB tool (big thanks to auto_pilot, for this very usefull tool).
This version bellow is adapted to the abilities of the G940 device and tested with windows 7 64bit:

Please use this version of simFFB for testing both available condition effects: spring and damper and its paramaters: offset, deadband and saturation.

Any contributions, suggestions or questions are welcome. I will adapt this first page with the collected information

Here are some 'G940-Inside' pictures:
Attached Thumbnails
Click image for larger version

Name:	open_overview.jpg
Views:	1838
Size:	520.6 KB
ID:	213685   Click image for larger version

Name:	gear_closeup.jpg
Views:	1652
Size:	101.3 KB
ID:	213686   Click image for larger version

Name:	motor_closeup.jpg
Views:	1682
Size:	278.8 KB
ID:	213687  

Last edited by fred41; 07-13-2019 at 04:47 PM. Reason: update
fred41 is offline   Reply With Quote
Old 05-02-2019, 08:01 AM   #2
Junior Member
Join Date: Mar 2019
Posts: 23

Hi Fred,

Thanks for all your work on this! I have some limited experience in light planes (Cessna 152 & 172, Grumman AA5, and about a half hour in a Tiger Moth). I feel I can make a couple of comments on how the directly connected flight controls should feel (e.g. WWII warbirds, Christen Eagle, Yak-52 - but definitely not the jets like Hornet or Tomcat).

Assuming a properly trimmed condition, the yoke or stick is very easy to move a small amount, e.g. you may have heard of "flying with two fingers". I think a small ffb deadzone in the force center would simulate this nicely given the limitations of the hardware? As we discussed in the previous thread I am also concerned about the stick "bouncing" around the center for those of us who tape the grip sensor (or modify the stick to be always on ...)

As you move the control away from center the force should increase in what feels like a linear fashion - this is where the G940 at least is not living up well to reality, as it very quickly saturates to 100% of the force it can provide and cannot get any heavier.

Do you know how the "overall effects strength" setting in the logitech profiler works? I have left it set to 100% but it is just occurring to me as I type this that it might be a multiplier and that is leading to the saturation problem that I am experiencing. I might try reducing it and seeing if it improves the feel of the joystick if I can get some time in the sim this evening.

Thanks again for all your work on this, I hope some of this helps.
TORC is offline   Reply With Quote
Old 05-02-2019, 04:06 PM   #3
Junior Member
Join Date: Apr 2019
Location: Germany
Posts: 40

... thank you for explaining this.

So i will add the following info (for older fixed wings):
1. in properly trimmed condition, the forces at the control center are zero
2. the forces increases proportionally to the distance of the control, from its center position

The "overall effects strength" setting in the logitech profiler affects (scales) all effects set by a force feedback application (simFFB included).

This are:
1. all condition effects like spring and damper (condition effects are calculated by the devices firmware, because they require fastest access to position data)
2. all position independent effects (calculated by the driver) like: periodic (sin, square, saw...), ramp and their envelopes

Not affected by "overall effects strength" setting are the two instances of the damped centering spring effects:
- one for "hands on stick" condition and
- one for "no hand on stick" condition (with fixed parameters in firmware)

The first one can be disabled for force feedback applications (uncheck "Enable centering spring in force feedback games")

The second one is way to strong (imo) and i think this is the first ff-param i will change in the firmware.

Last edited by fred41; 05-02-2019 at 07:15 PM.
fred41 is offline   Reply With Quote
Old 05-02-2019, 05:36 PM   #4
Junior Member
Join Date: Apr 2019
Location: Germany
Posts: 40

There is a small update of my firmware patch for the G940:


It should make the default "damped centering spring" effects, for both "hands on" and "hands off" condition feel less "angry".

As said, the "hands on" related effect can be adapted in logitech profiler or control panel. The parameters related to the "hands off" condition effect are fixed in firmware.

Last edited by fred41; 05-02-2019 at 05:42 PM.
fred41 is offline   Reply With Quote
Old 05-03-2019, 02:37 PM   #5
Junior Member
Deathmechanic's Avatar
Join Date: May 2016
Location: Perth WA
Posts: 63

Thank you Fred41! The Holy Grail for the G940.

I just tried this out, wow what a difference it made.

Tested with the F14B, instant feedback holding a two finger stick. I had been having a problem with trimming forever. This patch has sorted a lot of the G940 problems out. Smoother more responsive set up on all of the axis.

Its like a completely different joystick!

I am using:

101% FFB
58% Spring
81% damper

0% Centering spring.
Deathmechanic is offline   Reply With Quote
Old 05-04-2019, 08:56 PM   #6
Junior Member
Join Date: Apr 2019
Location: Germany
Posts: 40

@Deathmechanic, thanks for your feedback, i am glad to read it works well for you.
fred41 is offline   Reply With Quote
Old 05-05-2019, 11:28 PM   #7
Doktor Faustus
Junior Member
Join Date: Sep 2018
Location: Germany
Posts: 15

Thanks again for the "small" firmware fix - makes flying a lot more convenient, mini-axes usable and now my shiny mighty g940 doesn´t freak out like a monster vibrator when starting my OS or a mission.
Thumbs UP!
ASUS Z170 PRO GAMING, i7-6700k @ 4,00GHZ, 32 GB G.Skill DDR4 3200, GTX1080, TIR 4, unused Odyssey+, TM Warthog Throttle and Stick, TM Pendular Rudders, SupaDupa Saitek PC Dash 2
Doktor Faustus is offline   Reply With Quote
Old 05-06-2019, 06:51 PM   #8
Junior Member
Join Date: Apr 2019
Location: Germany
Posts: 40

... thanks again for your feedback.

I think the term "monster vibrator" hits the nail (let this patch save us G940 users from an early heart attack .

I forget to mention, there is again a "small" ffb related update available.

Last edited by fred41; 05-06-2019 at 06:58 PM.
fred41 is offline   Reply With Quote
Old 05-07-2019, 09:07 AM   #9
Junior Member
Join Date: Mar 2019
Posts: 23

Hi Fred, the latest firmware is up and running on my modified G940 and working well. The revised weaker centering forces are not up to centering the stick from the corners when I have the grip detection disabled, but that's OK because I'm sure it is better without the lengthened stick.

I have been playing with the spring effect strength in the Logitech profiler, and have settled on 70 for the spring effect to prevent the stick oscillating around the center in game. I've been using the FS-Force Test application, which seems to be a bit easier to start the oscillation than simFFB (http://www.fs-force.com/support.php if anyone needs it). Damper and Overall Strength are left at 100, and centering spring is of course unticked and 0.

I think most of us are chasing good settings for the Tomcat here, as it's force feedback seems to be the most interactive of the modules I have at least, and these settings are bringing me some joy - you can feel the very slight buffeting at the good angle of attack when turning, and it becomes more extreme through the stick as it becomes more extreme through the airframe. I like it!

Still disliking the lack of proportionality in the spring effect, but otherwise greatly enjoying the Tomcat now.

monster vibrator
TORC is offline   Reply With Quote
Old 05-07-2019, 06:19 PM   #10
Junior Member
Join Date: Apr 2019
Location: Germany
Posts: 40

Hi torc, your detailed feedback is again a great help for me. Thanks.

The approach of my last modification, in respect to the spring condition effect (application controlled), was the following:
1. scale the spring coefficient so that: 100% force saturates at +/- 100% control position
(originally a spring coefficient of 100%, saturated at +/-12.5% control!)
2. minimizing the minimal deadzone, by increasing the minimal voltage (pwm duty cycle)

The 2. point is critical, because if overdone, the system tends to oscillate.
Maybe i have to back-paddle a bit here.

I use the tool 'ForceTest' for some tests too, but for adapting and testing condition effects, with its various parameters,
i clearly prefer my modified version of simFFB (attached it in the first page of this thread).

Just to get a feeling for all available parameters, try this version of simFFB and play with the coefficients,
saturation and deadzone of the spring effect and with coefficients and saturations
of the damper effect (let the 3 ffb profiler setting all at 100% for this test).

Last edited by fred41; 05-07-2019 at 06:42 PM.
fred41 is offline   Reply With Quote

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT. The time now is 01:57 AM. vBulletin Skin by ForumMonkeys. Powered by vBulletin®.
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.