1
0
mirror of https://github.com/raphnet/gc_n64_usb-v3 synced 2024-12-21 23:08:53 -05:00
Commit Graph

249 Commits

Author SHA1 Message Date
Raphael Assenat
c123fd6b52 Finish "sliders as button" configurability 2017-08-14 17:58:40 -04:00
Raphael Assenat
d72815e9e6 Adjust "sliders as buttons" threshold
The initial value of 32 was too low. Buttons were triggered
without even touching the sliders.
2017-08-14 17:57:55 -04:00
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.
2017-08-05 17:13:21 -04:00
Raphael Assenat
a9d5df2b8f Add "triggers as buttons" flag 2017-08-05 17:12:26 -04:00
Raphael Assenat
324bb81b1e Version 3.4.0 changelog entry 2017-01-08 16:24:08 -05:00
Raphael Assenat
eeb2ecbae4 Merge branch 'performance' 2017-01-08 16:21:51 -05:00
Raphael Assenat
158d9bffda Makefile 'restart' target
Useful for some tests...
2017-01-08 16:19:41 -05:00
Raphael Assenat
c7e8dc7ad4 Save memory
Store the device string in 8 bit and in program memory. Also
reduce the size of a few variables.
2017-01-08 15:58:45 -05:00
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.
2017-01-08 15:14:55 -05:00
Raphael Assenat
2eaafb7786 ifdef unused rawdata fields to save memory
Save 32 bytes.
2017-01-08 10:50:01 -05:00
Raphael Assenat
412c1a42eb ifdef unused rawdata fields to save memory
Save 32 bytes.
2017-01-08 10:49:51 -05:00
Raphael Assenat
083c915c34 Implement RQ_GCN64_BLOCK_IO 2016-12-03 14:15:22 -05:00
Raphael Assenat
6d8d2d27bf Increate feature report size to 63 bytes 2016-12-03 14:15:00 -05:00
Raphael Assenat
5eb8a587c4 Add RQ_GCN64_BLOCK_IO 2016-12-03 14:14:51 -05:00
Raphael Assenat
64115ad9ef remove dead code 2016-11-28 14:06:52 -05:00
Raphael Assenat
e944017c36 Bump version to 3.4, change product IDs 2016-11-28 11:45:52 -05:00
Raphael Assenat
e7bca6ce08 forgot to increase version... 2016-11-27 16:58:50 -05:00
Raphael Assenat
1623a46179 update project name and homepages 2016-11-27 14:34:03 -05:00
Raphael Assenat
d573ff55c3 Remove tool instructions as it is a separate project 2016-11-27 14:27:05 -05:00
Raphael Assenat
6bb9ce18a9 Changelog entries for 3.3.2 2016-11-27 11:16:33 -05:00
Raphael Assenat
c2fd3a10ba Need one current_pad_type var. per channel 2016-11-27 11:15:13 -05:00
Raphael Assenat
434aec0d4b Version 3.3.1 2016-11-02 22:10:54 -04:00
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.
2016-11-02 21:46:52 -04:00
Raphael Assenat
1659d2d106 Adjust release date 2016-10-25 22:19:23 -04:00
Raphael Assenat
1c05ad1326 Gamecube: Read from the specified channel... 2016-10-25 22:14:20 -04:00
Raphael Assenat
21ebef2ed3 Each channel needs its own buffer... 2016-10-23 21:44:42 -04:00
Raphael Assenat
d7bdf59860 Need to initialize stuff *after* knowing the number of players. 2016-10-23 16:15:01 -04:00
Raphael Assenat
bb9e6dce17 Initialize context for hid set/get report 2016-10-17 22:21:58 -04:00
Raphael Assenat
835a4935c5 Fix stk525 makefile 2016-10-17 22:21:46 -04:00
Raphael Assenat
81662cef2a Update copyright year 2016-10-10 15:01:22 -04:00
Raphael Assenat
07ffccc787 Changelog for v3.3 2016-10-10 14:58:47 -04:00
Raphael Assenat
8da31387f6 Version 3.3 2016-10-10 14:56:02 -04:00
Raphael Assenat
96bd132b66 Give equal priority to both controllers! 2016-10-10 14:53:40 -04:00
Raphael Assenat
af12f0d242 Add new product IDs to udev rules 2016-10-10 14:53:25 -04:00
Raphael Assenat
f6e4281321 Dual controller now available as a configured flavor 2016-10-10 14:48:42 -04:00
Raphael Assenat
4ecc3f571e Multi-player support complete
Works, but very light testing so far
2016-10-10 14:20:14 -04:00
Raphael Assenat
90aae55470 Support for an extra interrupt endpoint
- Reduced interrupt endpoint size (reports are 15 bytes so it fits in
   16)
2016-10-09 23:47:36 -04:00
Raphael Assenat
fe3814f7d1 honor the channel argument 2016-10-09 22:33:07 -04:00
Raphael Assenat
fb43524d34 Update gcn64txrx code for multiple channels 2016-10-09 16:17:56 -04:00
Raphael Assenat
0c8dc9e7de Cleanup and copyright year update 2016-10-09 16:07:07 -04:00
Raphael Assenat
1fcfe8b594 Implement personalities
./wait_then_flash.sh atmega32u2 $HEXFILE
2016-08-22 23:18:47 -04:00
Raphael Assenat
0c66478dc5 Dynamic device string 2016-08-22 23:18:37 -04:00
Raphael Assenat
7d8e8af290 Defines for N64-only and GC-only modes 2016-08-22 23:18:05 -04:00
Raphael Assenat
b6386b8948 Add shorter version string 2016-08-22 23:17:49 -04:00
Raphael Assenat
158fc4fdca Device descriptor in RAM 2016-08-22 22:00:54 -04:00
Raphael Assenat
553598ab64 usb usbpad_init 2016-08-22 21:57:21 -04:00
Raphael Assenat
671c2e403f get report must return the proper size 2016-08-22 21:56:30 -04:00
Raphael Assenat
b9a6f23607 reduce HID max packet size to 32 2016-05-28 00:17:43 -04:00
Raphael Assenat
4fbba42896 tweak changelog 2016-05-27 23:28:11 -04:00
Raphael Assenat
6f6d77956b Enable EP2 2016-05-27 23:27:12 -04:00