Naxdy
8f8d47704d
feat: implement "Pro-Controller" mode ( #26 )
...
Based on the pro-controller code from https://github.com/HandHeldLegend/HOJA-LIB-RP2040
Author has given their consent for this to be GPL'd:

Reviewed-on: #26
2024-10-14 19:55:54 +00:00
quiK
5cdd3348f4
implement filter for angled ftilts ( #23 )
...
Reviewed-on: #23
Reviewed-by: Naxdy <naxdy@naxdy.org >
Co-authored-by: Marcel Romagnuolo <marcello.r@gmx.net >
Co-committed-by: Marcel Romagnuolo <marcello.r@gmx.net >
2024-06-29 12:58:01 +00:00
Naxdy
b6b5bb25a7
feat: don't inline time-critical functions
2024-04-30 13:59:52 +02:00
Naxdy
417c4a677a
feat(config): improve ticker during notch adjustment
2024-04-20 11:40:21 +02:00
Naxdy
974aa6b7af
feat(hid): add msos descriptor
2024-04-20 11:06:33 +02:00
Naxdy
2a01cd732a
feat(hid): distinguish "OG" from "PC" mode
2024-04-19 17:14:20 +02:00
Naxdy
818e0abf76
feat(hid): streamline timing between consistency and superhack
2024-04-19 17:07:26 +02:00
Naxdy
d661abc882
chore(input): use AnyPin for button state func
2024-04-18 18:00:53 +02:00
Naxdy
6f1d49b164
chore(config): improve naming & comments
2024-04-16 00:04:27 +02:00
Naxdy
569ae9784f
change(hid): set poll interval to 1ms by default
2024-04-12 21:25:32 +02:00
Naxdy
43708a9365
fix(config): display rumble strength to user
2024-04-09 19:27:24 +02:00
Naxdy
f100f81842
feat(config): add ability to skip stick measurements ( #11 )
...
Reviewed-on: #11
2024-04-09 17:14:43 +00:00
Naxdy
88b6a22182
feat(superhack): give the console time to initialize
2024-04-09 19:14:16 +02:00
Naxdy
702cbe5eb0
add mode to further improve input latency while maintaining accuracy ( #8 )
...
This feels even hackier than consistency mode... we hold off on writing USB reports until the button state actually changes. Passes the input integrity benchmark with ~99.6%, but that doesn't mean much since the challenge is preserving input integrity for inputs less than 8.33ms apart.
Current rate limiter looks good from initial measurements, so will probably merge this at some point and leave it up to users to try the mode out or not. For now, I'd still recommend regular consistency mode, it's still hacky, but way less than this.
Also, not breaking because the new enum for input consistency mode is backward compatible with the bool.
Reviewed-on: #8
2024-04-08 20:53:23 +00:00
Naxdy
d49c72d9c0
feat(config): add ability to display current stick calibration values
2024-04-06 21:05:22 +02:00
Naxdy
aed495ae54
feat: implement input filters ( #7 )
...
Reviewed-on: #7
2024-04-03 19:44:02 +00:00
Naxdy
b0746c538f
fix(rumble): don't perma-enable :)
2024-04-03 19:31:36 +02:00
Naxdy
2f49357029
chore: refactor according to clippy & clean up config ( #6 )
...
Reviewed-on: #6
2024-04-03 16:53:52 +00:00
Naxdy
ac1d6e08a2
chore(config): streamline flash interactions
2024-04-03 17:21:10 +02:00
Naxdy
8073328405
chore(project): clean up unused imports
2024-04-03 17:17:21 +02:00
Naxdy
d0960f2c2d
chore: clean up rumble logic
2024-04-03 16:16:55 +02:00
Naxdy
5e102fd14f
change(config): improve how config is loaded from flash
2024-04-03 14:33:23 +02:00
Naxdy
ef02ca6950
chore: clean up rumble & misc debug stuff
2024-04-03 13:52:19 +02:00
Naxdy
d6bb5d5266
fix(flash): access after a delay
...
apparently accessing the flash immediately after boot poses some issues
2024-04-03 01:46:14 +02:00
Naxdy
60f8459835
feat(hardware): implement rumble (untested)
2024-04-02 22:17:50 +02:00
Naxdy
1b4fbddd78
feat(config): implement rest of config / calibration options
2024-04-02 22:05:57 +02:00
Naxdy
7ef15c0e7b
change(input): always yield at least once per stick update
2024-04-02 19:19:17 +02:00
Naxdy
755e49180c
fix(calibration): correctly set intiial notch configuration
2024-04-02 19:18:45 +02:00
Naxdy
c7fd7e72c9
feat(HID): get state on-demand to improve latency
2024-04-02 10:12:23 +02:00
Naxdy
84d531e80a
feat(calibration): implement notch adjustment
2024-04-01 23:54:08 +02:00
Naxdy
d5dbaaaa49
feat: implement notch-adjustment (rudimentary)
2024-04-01 23:07:06 +02:00
Naxdy
03d5c478ef
change(config): remove notch adjustment logic (for now)
2024-04-01 23:03:08 +02:00
Naxdy
108c9e5dce
chore: clean up usb descriptor
2024-04-01 21:08:12 +02:00
Naxdy
35c0f755f2
feat(input): implement input consistency mode
2024-04-01 21:06:41 +02:00
Naxdy
1acb78ec79
change(calibrate): reduce double-press timer
2024-03-30 13:21:15 +01:00
Naxdy
5f2fdc60ec
feat(stick): get calibration to a working state
2024-03-30 13:20:35 +01:00
Naxdy
39ee31eb0f
change(config): increase delay between button presses
2024-03-30 08:10:12 +01:00
Naxdy
26d957f6f3
change(filter): add more functions to time critical section
2024-03-30 08:09:58 +01:00
Naxdy
55b9bc6d2c
change(input): use ticker for stick thread
2024-03-30 08:09:26 +01:00
Naxdy
090a97b5a9
feat(calibrate): finish stick calibration logic
2024-03-29 23:42:05 +01:00
Naxdy
4306cce840
feat(calibration): implement calibration step
2024-03-29 21:31:55 +01:00
Naxdy
5eaf18993e
fix(input): adapt to param change
2024-03-29 19:56:49 +01:00
Naxdy
2d7239c04a
feat(config, stick): implement more calibration logic
2024-03-29 19:54:52 +01:00
Naxdy
5408d37560
chore: move calibrate to config
2024-03-29 16:07:44 +01:00
Naxdy
7878c283e6
change(nput): refactor loop ordering
2024-03-29 11:53:17 +01:00
Naxdy
b891e263aa
feat(calibration): add helper functionality
2024-03-29 11:52:54 +01:00
Naxdy
35349dee49
shuffle some threads around, stricter timing for stick readings
2024-03-28 22:43:44 +01:00
Naxdy
d4c88a4a60
chore(input): use AnyPin
2024-03-28 18:12:02 +01:00
Naxdy
d0aeafc069
fix: disable rumble for now (or we might blow a fuse, lel)
2024-03-27 22:31:55 +01:00
Naxdy
1861b89505
feat: finish notch remap
2024-03-27 22:12:28 +01:00