Commit Graph

272 Commits (4999f07c1477a987fe9dbdb13fd204b7de640b16)
 

Author SHA1 Message Date
Raphael Assenat 4999f07c14 Add support for Gamecube keyboards 5 years ago
Raphael Assenat 9872399739 changelog entry for release 3.5.2 5 years ago
Raphael Assenat c7992e5334 Improve PID (force feedback) implementation
Honor the effect duration
5 years ago
Raphael Assenat f5e268fb19 bump version to 3.5.2 5 years ago
Raphael Assenat 9c99048c6f run avr-size in AVR mode 5 years ago
Raphael Assenat 2d3795c29a Implement reset and echo requests 5 years ago
Raphael Assenat b01df9f239 Version 3.5.1 5 years ago
Raphael Assenat 55fe6d0312 Adjust vibration duration to feel more like on a real console 5 years ago
Raphael Assenat 1dc71a835b Disable debug 5 years ago
Raphael Assenat 03ebfde089 Force feedback: Don't ignore the loop count
The PID Effect Operation output report contains a 'loop count'
field that has an influence on how long the effect runs. Ignoring
it can lead to never stopping vibration for software that use
the loop count to let effects stop automatically instead of
issuing a stop command.
5 years ago
Raphael Assenat f42a29b888 Add a second interval timer 5 years ago
Raphael Assenat 2a2b326001 Release date for version 3.5.0 6 years ago
Raphael Assenat 9d5ca629a7 Update changelog with recent changes 6 years ago
Raphael Assenat 708fb22072 2-player: Re-order joystick and management interfaces
Make sure the management (non-joystick) interface is the last. Works
around a presumed Windows bug (Joystick ID confusion where the
second controller stops working or gives an error in the Game controller
test dialog)
6 years ago
Raphael Assenat 0e0c381fbd Implement feature set query commands
The adapter can now be queried by the management tool to see
what configuration options and requests are available without
harcoding them for each release.
6 years ago
Raphael Assenat 95d6b2ec15 Simplify config code and add disable triggers feature 6 years ago
Raphael Assenat 5328827234 Version 3.5 product IDs 6 years ago
Raphael Assenat 66a1a45f22 Runtime endpoint sizes for HID 6 years ago
Raphael Assenat 9f665068ae Bump version to 3.5.0 6 years ago
Raphael Assenat 7b01a454d4 Prepare for release 3.5.0
3.4.1 was never formally released so the changelog entry is reused.
6 years ago
Raphael Assenat be2894b68c Set .bcdUSB to the correct value
Should be 0x0110 for 1.1
6 years ago
Raphael Assenat e7426e684a Do not send more descriptor bytes than we have
The request may be for more bytes than our descriptor has. Do not
send more when asked for more.
6 years ago
Raphael Assenat 05b47f9967 Prepare for release 3.4.1 6 years ago
Raphael Assenat c123fd6b52 Finish "sliders as button" configurability 6 years ago
Raphael Assenat d72815e9e6 Adjust "sliders as buttons" threshold
The initial value of 32 was too low. Buttons were triggered
without even touching the sliders.
6 years ago
Raphael Assenat a041e8eaf8 Implement "sliders as buttons" mode
In this mode, when the analog values of the L/R triggers exceed a
certain threshold, the corresponding L and R digital buttons are
triggered.
6 years ago
Raphael Assenat a9d5df2b8f Add "triggers as buttons" flag 6 years ago
Raphael Assenat 324bb81b1e Version 3.4.0 changelog entry 6 years ago
Raphael Assenat eeb2ecbae4 Merge branch 'performance' 6 years ago
Raphael Assenat 158d9bffda Makefile 'restart' target
Useful for some tests...
6 years ago
Raphael Assenat c7e8dc7ad4 Save memory
Store the device string in 8 bit and in program memory. Also
reduce the size of a few variables.
6 years ago
Raphael Assenat b22985712f Add stack overgrow detection
If the stack ever grows too large (and starts overwriting variables
in .bss) the firmware jumps into the bootloader. This is better than
just continuing to run with strange side effects.
6 years ago
Raphael Assenat 2eaafb7786 ifdef unused rawdata fields to save memory
Save 32 bytes.
6 years ago
Raphael Assenat 412c1a42eb ifdef unused rawdata fields to save memory
Save 32 bytes.
6 years ago
Raphael Assenat 083c915c34 Implement RQ_GCN64_BLOCK_IO 7 years ago
Raphael Assenat 6d8d2d27bf Increate feature report size to 63 bytes 7 years ago
Raphael Assenat 5eb8a587c4 Add RQ_GCN64_BLOCK_IO 7 years ago
Raphael Assenat 64115ad9ef remove dead code 7 years ago
Raphael Assenat e944017c36 Bump version to 3.4, change product IDs 7 years ago
Raphael Assenat e7bca6ce08 forgot to increase version... 7 years ago
Raphael Assenat 1623a46179 update project name and homepages 7 years ago
Raphael Assenat d573ff55c3 Remove tool instructions as it is a separate project 7 years ago
Raphael Assenat 6bb9ce18a9 Changelog entries for 3.3.2 7 years ago
Raphael Assenat c2fd3a10ba Need one current_pad_type var. per channel 7 years ago
Raphael Assenat 434aec0d4b Version 3.3.1 7 years ago
Raphael Assenat bbefc8203c Prevent freeze if host only polls one endpoint
Each joystick has its own interrupt endpoint, and the main loop
used to wait until each became ready (i.e. Serviced) in turn.

On some systems, when only one joystick is in use, only one endpoint
is polled. The inactive endpoint therefore never became ready and
the mainloop would freeze.

Rewrote part of the loop to prevent this. New flow:

1) Wait until it is time to poll the controllers
(based on current poll frequency setting)

2) Wait until either endpoints is ready.

3) Write data to first endpoint if ready, otherwise skip.

4) Write data to second endpoint if ready, otherwise skip.
7 years ago
Raphael Assenat 1659d2d106 Adjust release date 7 years ago
Raphael Assenat 1c05ad1326 Gamecube: Read from the specified channel... 7 years ago
Raphael Assenat 21ebef2ed3 Each channel needs its own buffer... 7 years ago
Raphael Assenat d7bdf59860 Need to initialize stuff *after* knowing the number of players. 7 years ago