When testing PANB, @shtokopep noticed that starting the game was able to recover the device from the auto-poll state, but trying to do so from aciotest (using aciodrv) would fail.
This is important, due to use cases such as SGL, where upon quitting the game, and trying to use SGL again, the device would not be opened correctly (due to not being reset, and still spewing auto poll messages, hence leading to checksum/packet errors as we're not expecting those messages at this point).
This MR properly resets the ACIO device, by sending 525 NULL bytes, followed by a break for 1450ms.
In GitLab by @xyen on May 1, 2021, 19:35
_Merges aciodrv_reset -> master_
When testing PANB, @shtokopep noticed that starting the game was able to recover the device from the auto-poll state, but trying to do so from aciotest (using aciodrv) would fail.
This is important, due to use cases such as SGL, where upon quitting the game, and trying to use SGL again, the device would not be opened correctly (due to not being reset, and still spewing auto poll messages, hence leading to checksum/packet errors as we're not expecting those messages at this point).
This MR properly resets the ACIO device, by sending 525 NULL bytes, followed by a break for 1450ms.
Nit: That function is already quite large and the whole reset part might be worth moving to a separate static function to make this whole thing more digestable for future readers.
Nit: That function is already quite large and the whole reset part might be worth moving to a separate static function to make this whole thing more digestable for future readers.
In GitLab by @xyen on May 1, 2021, 19:43
added 1 commit
<ul><li>c3453adc - aciodrv: refactor aciodrv_device_init function</li></ul>
[Compare with previous version](/djhackers/bemanitools/-/merge_requests/93/diffs?diff_id=1626&start_sha=425ecb9cdeec65a471c4545664c34c36c8aba569)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
In GitLab by @xyen on May 1, 2021, 19:35
Merges aciodrv_reset -> master
When testing PANB, @shtokopep noticed that starting the game was able to recover the device from the auto-poll state, but trying to do so from aciotest (using aciodrv) would fail.
This is important, due to use cases such as SGL, where upon quitting the game, and trying to use SGL again, the device would not be opened correctly (due to not being reset, and still spewing auto poll messages, hence leading to checksum/packet errors as we're not expecting those messages at this point).
This MR properly resets the ACIO device, by sending 525 NULL bytes, followed by a break for 1450ms.
I am really happy to read that others seem to be interested in that project
Nit: That function is already quite large and the whole reset part might be worth moving to a separate static function to make this whole thing more digestable for future readers.
In GitLab by @xyen on May 1, 2021, 19:43
added 1 commit
c3453adc- aciodrv: refactor aciodrv_device_init functionCompare with previous version
In GitLab by @xyen on May 1, 2021, 19:43
resolved all threads
approved this merge request