The online racing simulator
Test Patch 0.6N7
(135 posts, closed, started )
Quote from Scawen :Is everyone OK about losing the calibration thing?

A few posts above: https://www.lfs.net/forum/post/1906954#post1906954

I am a bit worried. It was working great and sometimes was needed on exotic or touchy hardware. My Fanatec Handbrake was saved by the calibration. My fanatec pedals sometimes did not go back to 0 (think brake here)... Now I run a Open Software Wheel. The wheel is ok without calibrating but we are talking about home made stuff and it is sad to loose this kind of option. Maybe it is possible to do it through dxtweak or whatever but I don't know LFS tuning always did the job for me.
Quote from Whiskey :That's a bit of BS, don't you think? Set "Wheel turn compensation" to zero and there you go. LFS works fine with 900 degrees, you just miss the wheel being in sync.

Just a personal thing I guess. I would appreciate it if there was a "stop" like most other 900 degree games.
Quote from teeembo :Just a personal thing I guess. I would appreciate it if there was a "stop" like most other 900 degree games.

But then you are talking about non 900 degree games. And there everybody agrees that a FFB lock is desired. LFS, as any other 900 degree game works like a charm.

I use 900 degrees in LFS, I want to use my full range when possible, for me it is more important than the wheel being synced.

I have set profiles in Logitech's software to set the rotation for RBR (540) and ETS2/ATS (900). In LFS I can't do it because this is varying per car.
I remember using calibration to make my clutch pedal working a bit sharper Wink Generally it is a useful thing to have.

On the other side I never done anything apart from using this little cheat. (Only when my wheel got broken, but calibration didn't help heh).
Now that im thinking of that. Calibration was useful to manually set the maximum value of an axis. For example you could have a joystick to work as an e-brake.

1. Holding it down
2. Clicking on the "C" button
3. Letting it go to its center
4. Lock all the axis

So i guess if you remove it, then the people who use this trick won't be able to do that anymore, unless you have a way to manually set that.

Instead of having the full range of an axis to do something, "split" it into 2, + and - of the center.
Quote from Skytrill :L-Trigger axe RY Axis +
R-Trigger axe RY Axis -

Quote from Scawen :I guess you got the L and R the wrong way round.

Quote from Skytrill :Oups! sorry about that!

I think I've found the reason for this and it turns out to be an LFS bug.

I think you really reported it correctly, as you were probably looking at the yellow/blue axis display on the right of the controls screen.

Sorry for the confusion.

TEST REQUEST 1:

If anyone is around who has a game controller with combined trigger axes, please can you confirm this - if you use the triggers, the yellow/blue bar on the LFS screen moves in the 'wrong' direction. To the left when you use the right trigger, and right when you use the left trigger.

To be clear - that strange result is the TRUE value reported by DirectInput. The LFS bug was in the interpretation of that value, so in fact the combined axis should be Inverted after all (which will be correct with my bug fix).

TEST REQUEST 2:

Also, does anyone have a joystick? Please can you tell me which way the yellow/blue axis moves when you move the joystick forward or back?

Thanks!
Quote from vitaly_m :I remember using calibration to make my clutch pedal working a bit sharper Wink

Quote from DarkKostas :Now that im thinking of that. Calibration was useful to manually set the maximum value of an axis. For example you could have a joystick to work as an e-brake.

Good examples. I'm convinced. I'm working on doing it a new way now. A way that gives you full control and doesn't get lost if you start LFS without a controller attached. By default, it will simply use the full range. But there will be a way to type in the min and max value, on the actual axis control (e.g. Handbrake or Clutch) rather than the input axis itself. It will then be saved along with the axis assignment information in the .con file.
Quote from Scawen :I'll try to release N4 tomorrow afternoon so you can test them. Smile

I wasn't paying attention and forgot they weren't available yet Wink No rush.


Regarding calibration, being able to manually set min/max values would be very useful for all the worn out Logitech pedals that constantly flicker between 0~20% even when not pressed. The profiler's deadzone function is useless, because it adds the zone in the middle not the end(s).

Would it be feasible to be able to set a hands off "centre" point? For example, the rotation axis on my Saitek joystick never calibrated to the centre (it's waaay off), so I couldn't use it as a look axis.

Edit: I'll test how LFS interprets the joystick's axes tonight.
Quote from Degats :Would it be feasible to be able to set a hands off "centre" point?

I think so just by setting the min and max values, probably with a little trial and error.
Quote from Scawen :TEST REQUEST 1:

If anyone is around who has a game controller with combined trigger axes, please can you confirm this - if you use the triggers, the yellow/blue bar on the LFS screen moves in the 'wrong' direction. To the left when you use the right trigger, and right when you use the left trigger.

Confirmed. (XBox360 on Win10 64)


Quote from Scawen :TEST REQUEST 2:

Also, does anyone have a joystick? Please can you tell me which way the yellow/blue axis moves when you move the joystick forward or back?

Left has no yellow, right is full yellow (Divider follows the expected direction).
Forward has no yellow, back is all yellow. (Divider moves left when pushing forwards)
LFS looks to set both axes correctly without me messing with any settings. All axes have invert 0.
Edit: In other words, a standard Joystick behaves in the same way as the two joysticks on the XBox360 controller.
Quote from Scawen :
TEST REQUEST 1:

If anyone is around who has a game controller with combined trigger axes, please can you confirm this - if you use the triggers, the yellow/blue bar on the LFS screen moves in the 'wrong' direction. To the left when you use the right trigger, and right when you use the left trigger.

To be clear - that strange result is the TRUE value reported by DirectInput. The LFS bug was in the interpretation of that value, so in fact the combined axis should be Inverted after all (which will be correct with my bug fix).

Correct, left trigger moves yellow bar to right, right trigger moves blue bar to left.

Xbox One Wireless; Windows 10 Pro
Thanks for the test! Think that's all I need for now.

Close to having that manual calibration system finished - it works well. I'll release it tomorrow if all goes to plan.
0.6N4 is now available with more controller support!

Please read the list of changes.

Please could some of you test the automatic wheel / game controller setup?
To do that, rename or move the relevant .con file in LFS\data\misc before starting LFS.

https://www.lfs.net/forum/thread/89352

Changes from 0.6N3 to 0.6N4 :

Controllers :

Controllers with 5 axes now default to combined brake / throttle
Combined brake / throttle axis now defaults to correct direction
Automatically set Clutch setting to axis if wheel has clutch pedal
Automatic preset is now attempted on first of multiple controllers
Controller screen in game now shows correct pedals and steer gauge
New joystick look mode using two axes to control look direction
Arrow keys can now be assigned to wheel buttons (default D-pad)
Default 900 degrees turn for Logitech G25 / G27 / Driving Force
Attempted reasonable presets for Thrustmaster and DFGT wheels
A scroll bar appears if there are more than 16 available axes
Removed axis calibration system that had various problems
You can now type in the active range of an axis function
Typed range can exceed input range to reduce axis effect
Look Roll axis function now has a full 360 degree range
This is not a bug but I think an oversight.
For LX6, RAC and FZ5 cars
In the pit -> info, there is no estimate of the consomation lap
Only for rallycross tracks:
BL2, BL2R, FE5, FE5R, FE6 and FE6R
The look function button wasn't obvious to me. Was looking for the 'steer' option for a while before trying to click it. Am I the only one?
Works good on my XBox One Controller now, detects the 5 axes. the Joystick look is really nice. Without axis calibration the car pulls a little to the right now, how do I go about fixing that? X axis value is between 30 and 50. I assume I'd increase the max range by 80 or so to correct that(that works, but is there a better/proper way to do that?).

I guess deadzones is what I'm asking about. is there a way to define a deadzone in LFS?

Edit: Just remembered Windows has a calibration utility under USB controllers... ran the calibration, now only off by about 5-10.

Edit 2: in response to the other day, Yea, Thr/brk centre reduction is kinda what I was referring to, especially if it was implemented on the steering axis, though having steer turn/return rates would probably be better... but that's more of a personal preference.
Quote from MrSam :This is not a bug but I think an oversight.
For LX6, RAC and FZ5 cars
In the pit -> info, there is no estimate of the consomation lap
Only for rallycross tracks:
BL2, BL2R, FE5, FE5R, FE6 and FE6R

You don't have laps with those cars in LFSWorld, do you?
I have bl2/fz5, bl2/rac, bl2/lx6, fe6r/lx6 and no estimate.
Quote from MrSam :I have bl2/fz5, bl2/rac, bl2/lx6 and no estimate.

Oh, you are right. BL2 and those 3 cars are missing that information. I was testing before on BL1.
Seems all too work correct on g27 np here Smile
Quote from Scawen :...Please could some of you test the automatic wheel / game controller setup?
To do that, rename or move the relevant .con file in LFS\data\misc before starting LFS...

So (for example) "..\LFS\data\misc\Logitech_Driving_Force_GT_USB.con" should be renamed/moved to what?
Quote from MrSam :This is not a bug but I think an oversight.

That is because that estimate uses the AI path but there is no AI path for those combinations.

Quote from Whiskey :The look function button wasn't obvious to me. Was looking for the 'steer' option for a while before trying to click it. Am I the only one?

I'm not sure what you mean. But the Look function is in the same place it has always been, at the bottom of the View Options page. Only now there is a new option "joystick" and the options are not squashed into one line, but selected in a dialog.
Quote from Ripley :So (for example) "..\LFS\data\misc\Logitech_Driving_Force_GT_USB.con" should be renamed/moved to what?

Yes, that file just contains your axis and button assignments. You can just delete that file and LFS will attempt an auto-setup when you start it. But just in case LFS sets it up all wrong for you, you might want to rename or move it (wherever you want to) instead of deleting it. Smile
Quote from T3charmy :Works good on my XBox One Controller now, detects the 5 axes. the Joystick look is really nice. Without axis calibration the car pulls a little to the right now, how do I go about fixing that? X axis value is between 30 and 50. I assume I'd increase the max range by 80 or so to correct that(that works, but is there a better/proper way to do that?).

For example, if the axis naturally settles at 40 on average but you want LFS to think that is the "zero" point then what you need to do is set the min and max values such that 40 is in the centre.

So in this case you could choose -920 min to 1000 max - then 40 is the centre point. Or you could increase the max to 1080 as you said, but you will never reach absolute maximum then. The controller will only ever report a value between -1000 and 1000.
@Scawen:

Since you implemented some wheel-specific options in LFS, is there any chance you can look into supporting the LED lights on G27 & G29 so I can stop maintaining my horrible hack that makes them work with LFS?Smile There is no need to use the Logitech SDK and it all should be a matter of a simple


if (wheelModel == LG_G27 || wheelModel == LG_G29) {
ffbEffectHandle->Escape(&packet);
}

where "packet" is a pointer to a DIEFFESCAPE set to this

packet.dwSize = sizeof(DIEFFESCAPE);
packet.dwCommand = 0;
packet.lpvInBuffer = &wheelData;
packet.cbInBuffer = sizeof(wheelData);

"wheelData" is a structure looking like this:


typedef struct {
float currentRPM;
float rpmFirstLedTurnsOn;
float rpmRedLine;
} LedsRpmData;

typedef struct {
DWORD size;
DWORD versionNbr;
LedsRpmData rpmData;
} WheelData;

"size" in WheelData is to be set to "sizeof(WheelData)" and "versionNbr = 0x00000001". Contents of the LedsRpmData are hopefully self-explanatory...
This thread is closed

Test Patch 0.6N7
(135 posts, closed, started )
FGED GREDG RDFGDR GSFDG