jabbah / irffb Goto Github PK
View Code? Open in Web Editor NEWThis project forked from nlp80/irffb
ACC force feedback utility based on irFFB
This project forked from nlp80/irffb
ACC force feedback utility based on irFFB
Hey guys, I noticed that every time i load ACC i now need to got though the whole process of setting up ACCFFB
This is the message i get loading it:
Attempting to set range via LGS
Failed to locate LGS msg handler, can't set range..
Acquired DI device with 23 buttons and 1 POV
vJoy driver version 0219 init OK
Acquired vJoy device 1
vJoy FFB thread starting
seems unclear. I've seen links to 2018 version but there are newer ones.
Maybe they all work, maybe not...
There is a fork: https://github.com/njz3/vJoy/releases
and I fixed a few things as well: https://github.com/cyberluke/vJoy
Hi
I'm running a Logitech DFGT under Windows 10 and hit this issue. After running ACCFFB once my wheel will now lock to a 180 degree range in all games until I run ACCFFB once. Even loading Logitech Profiler doesn't override this. As soon as a game loads the wheel sets itself to 180.
Not a big expert but at a guess it has to do with the RawHID usage? Perhaps something isn't being cleaned up correctly after running or is being cleaned up too much resulting in the wheel going to 180 on next driver load?
Hello there,
I am trying to use this great piece of software with my Assetto Corsa, on Windows 11 with this vjoy version (I had troubles trying to install all the older ones).
The irFFB apps works almost as expected, finding the virtual device and also setting the damping, however when I monitor the vjoy state (both with vjoy monitor and also in the assetto corsa settings) I see that when I move the wheel nothing happens (i.e. the x axis of the vjoy device stays still).
What could be the problem ?
The software used:
OS Win10 20H2
vjoy 1.9.1, second device of vjoy driver used for ACCFFB, x-axis, no buttons, all FFB efects, is reliabely detected by ACCFFB
ACCFFB, all versions until 0.1.2 Beta (0.1.1 and 0.1.2 both released and self compiled versions
ACC 1.7.6
VRS direct force pro DD Wheel: no windows driver, FBB is handled directly by wheel firmware (AFAIK)
TL;DR: I am loosing FFB totally when using ACCFFB when leaving a session. Does not matter if I am going to setup a device or changing the session type e.g. from practice to quick race. I can not regain FFB by restarting ACCFBB. Steering itself works though. FFB on the vjoy device seems to work by sending FFB events via Wheelcheck. The latter was tested in the situation where ACC has lost the FFB.
I started to look around in the code and a little debugging (not a real windows programmer here, only a long time dumb PLC programmer). First thing I noticed is that the "on track" display never changed when I left the track. That is clear because I often left the track not being in the pit. Which you can not do in Hotlap mode anyway. That lead to "resetForces();". So I changed your code from:
if (onTrack && pfGfx->isInPit) {
debug(L"No longer on track");
onTrack = false;
setOnTrackStatus(onTrack);
resetForces();
clippingReport();
}
else if (!onTrack && !pfGfx->isInPit) {
debug(L"Now on track");
onTrack = true;
setOnTrackStatus(onTrack);
}
to
if (onTrack && (pfPhys->rpms < 20)) {
debug(L"No longer on track");
onTrack = false;
setOnTrackStatus(onTrack);
resetForces();
clippingReport();
}
else if (!onTrack && (pfPhys->rpms > 100)) {
debug(L"Now on track");
onTrack = true;
setOnTrackStatus(onTrack);
}
Obviously a quick hack, but at least kinda working for me. I also played around with "ignitionOn" and "isEngineRunning" by populating SharedFileOut.h. But that did not work reliable. I think that is due to the fact that there are more fields now in shared memory than the header file reflects.
Debugging session was kind of interesting. I set two breakpoints right into the two threads "readWheelThread" and "directFFBThread". Both breakpoints were passed when ACC started and the first session was active. After closing and restarting the next session the breakpoint in "directFBBThread" was never reached. Closing and restarting ACCFFB lead to passing the breakpoint exactly one time. Seems the whole "directFBBThread" was hanging.
For me it seems that the very first line in this thread is the culprit:
// Signalled when force has been updated
WaitForSingleObject(ffbEvent, INFINITE);
This is the event that is synchronized with ACC. I quote the Microsoft documentation for this function:
If this handle is closed while the wait is still pending, the function's behavior is undefined.
Can it be that ACC closes the handle on its side and therefore the thread is dead ?
I will recheck the behaviour with a Logitech wheel to see if that makes a difference. Otherwise I have to dig into the vjoy SDK source code to understand how this device driver thing works.
I would really like to get this apllication running reliably because its the only way to tune the ACC FFB to my liking. Do you recommend a vjoy version ?
(Sorry for the wall of text)
This wheel has configurable scale like 540 degrees or 1080 degrees, changing it makes no difference.
Everytime I try to download the application and reset the PC. It keeps telling me that it is not able to complete download, unable to extract, and when i keep opening it, it will ask if i am ok to open the program but it does not open ACCFFB Ever. Ive already tried to reset my PC, delete all files and redownload them. Tha annoying this is last week it was working with no issues
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.