Commit Graph

229 Commits

Author SHA1 Message Date
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
Raphael Assenat 4fac12c760 fix changelog 2016-05-24 21:42:08 -04:00
Raphael Assenat cc34233b76 Version 3.2 changelog 2016-05-22 17:33:43 -04:00
Raphael Assenat 3ec1c0b711 Version 3.2 strings and PID 2016-05-22 17:33:26 -04:00
Raphael Assenat a333980812 reportdesc: Use Z instead of Slider
Fixes mapping issues in OpenEMU. Still works everywhere else.
2016-05-22 17:26:38 -04:00
Raphael Assenat fb1be3eee5 Version 3.1.1 2016-02-29 18:45:27 -05:00
Raphael Assenat b8be4c754b Create an annotated tag 2016-02-29 18:44:52 -05:00
Raphael Assenat b7d56c2168 Not only turn vibration on when magnitude is above X, but also off when below! 2016-02-29 18:42:38 -05:00
Raphael Assenat 8a3d47d692 fix release script 2016-02-24 22:21:59 -05:00
Raphael Assenat 29461ae049 Add release script 2016-02-24 22:21:12 -05:00
Raphael Assenat 502f8924c3 fix release date 2016-02-24 22:19:40 -05:00
Raphael Assenat ea5d5cf35d Updated MCU port default values (clock) 2016-01-22 00:05:36 -05:00
Raphael Assenat 8c3e9c8eec move tools away to a separate project 2016-01-22 00:03:42 -05:00
Raphael Assenat ddb63cf8e9 Merge branch 'master' of ssh://git.lan.raphnet.net/raphnet/gc_n64_usb-v3 2016-01-21 23:22:45 -05:00
Raphael Assenat 570301bcca installer tweaks 2016-01-21 23:28:13 -05:00
Raphael Assenat f0880762a2 Generate a windows installer 2016-01-21 23:05:59 -05:00
Raphael Assenat c9f45b7fe8 Fix tool -> tools 2015-12-08 22:08:13 -05:00
Raphael Assenat 019301b7b2 Fix null pointer dereference 2015-12-08 21:54:08 -05:00
Raphael Assenat cc3ca163c4 date 2015-12-08 21:40:39 -05:00
Raphael Assenat 63f713f059 Windows icon resource 2015-12-07 00:52:55 -05:00
Raphael Assenat 564fa718d7 Merge branch 'master' of ssh://git.lan.raphnet.net/raphnet/gc_n64_usb-v3 2015-12-07 00:51:13 -05:00