Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fast FFB Packets Out of Order #46

Open
Sirius902 opened this issue Aug 12, 2020 · 1 comment
Open

Fast FFB Packets Out of Order #46

Sirius902 opened this issue Aug 12, 2020 · 1 comment

Comments

@Sirius902
Copy link

Sirius902 commented Aug 12, 2020

I was writing a vJoy feeder (v2.1.9) and noticed if FFB packets come in too quickly (<1ms) they have a tendency to be received out of order. A game I was testing sends a ConstantReport, Start effect, and then Stop effect in <1ms to stop the rumble on the controller, which works fine with other controllers such as an Xbox controller, but vJoy is sending the packets to me as a Stop effect, ConstantReport, and Start effect, causing the controller to vibrate infinitely any time the game tries to clear the rumble on a controller.

Here you can see for the first two sets of FFB packets it's fine, but the last ones are out of order.

ConstantReport
BlockFreeReport: FFBEffOp { effect_block_index: 1, effect_op: Start, loop_count: 1 }
BlockFreeReport: FFBEffOp { effect_block_index: 1, effect_op: Stop, loop_count: 0 }
ConstantReport
BlockFreeReport: FFBEffOp { effect_block_index: 1, effect_op: Start, loop_count: 1 }
BlockFreeReport: FFBEffOp { effect_block_index: 1, effect_op: Stop, loop_count: 0 } 
BlockFreeReport: FFBEffOp { effect_block_index: 1, effect_op: Stop, loop_count: 0 }
ConstantReport
BlockFreeReport: FFBEffOp { effect_block_index: 1, effect_op: Start, loop_count: 1 }
@njz3
Copy link

njz3 commented Dec 29, 2021

The issue appears because vJoy 2.1.9 does not handle correctly effect block index. It overwrites everything and use always the same first block (index 1), which mix up everything in the ffb queue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants