Commit graph

61 commits

Author SHA1 Message Date
702cbe5eb0
add mode to further improve input latency while maintaining accuracy (#8)
All checks were successful
Publish nightly release / build (push) Successful in 1m16s
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
d49c72d9c0
feat(config): add ability to display current stick calibration values
All checks were successful
Publish nightly release / build (push) Successful in 1m40s
2024-04-06 21:05:22 +02:00
aed495ae54
feat: implement input filters (#7)
All checks were successful
Publish nightly release / build (push) Successful in 1m38s
Reviewed-on: #7
2024-04-03 19:44:02 +00:00
b0746c538f
fix(rumble): don't perma-enable :)
All checks were successful
Publish nightly release / build (push) Successful in 1m18s
2024-04-03 19:31:36 +02:00
2f49357029
chore: refactor according to clippy & clean up config (#6)
All checks were successful
Publish nightly release / build (push) Successful in 2m9s
Reviewed-on: #6
2024-04-03 16:53:52 +00:00
ac1d6e08a2
chore(config): streamline flash interactions
All checks were successful
Publish nightly release / build (push) Successful in 1m16s
2024-04-03 17:21:10 +02:00
8073328405
chore(project): clean up unused imports 2024-04-03 17:17:21 +02:00
d0960f2c2d
chore: clean up rumble logic
All checks were successful
Publish nightly release / build (push) Successful in 1m16s
2024-04-03 16:16:55 +02:00
5e102fd14f
change(config): improve how config is loaded from flash
Some checks failed
Publish nightly release / build (push) Has been cancelled
2024-04-03 14:33:23 +02:00
ef02ca6950
chore: clean up rumble & misc debug stuff 2024-04-03 13:52:19 +02:00
d6bb5d5266
fix(flash): access after a delay
All checks were successful
Publish nightly release / build (push) Successful in 1m22s
apparently accessing the flash immediately after boot poses some issues
2024-04-03 01:46:14 +02:00
60f8459835
feat(hardware): implement rumble (untested)
Some checks failed
Publish nightly release / build (push) Has been cancelled
2024-04-02 22:17:50 +02:00
1b4fbddd78
feat(config): implement rest of config / calibration options
All checks were successful
Publish nightly release / build (push) Successful in 1m23s
2024-04-02 22:05:57 +02:00
7ef15c0e7b
change(input): always yield at least once per stick update 2024-04-02 19:19:17 +02:00
755e49180c
fix(calibration): correctly set intiial notch configuration 2024-04-02 19:18:45 +02:00
c7fd7e72c9
feat(HID): get state on-demand to improve latency
All checks were successful
Publish nightly release / build (push) Successful in 53s
2024-04-02 10:12:23 +02:00
84d531e80a
feat(calibration): implement notch adjustment
All checks were successful
Publish nightly release / build (push) Successful in 1m13s
2024-04-01 23:54:08 +02:00
d5dbaaaa49
feat: implement notch-adjustment (rudimentary) 2024-04-01 23:07:06 +02:00
03d5c478ef
change(config): remove notch adjustment logic (for now)
All checks were successful
Publish nightly release / build (push) Successful in 2m6s
2024-04-01 23:03:08 +02:00
108c9e5dce
chore: clean up usb descriptor
All checks were successful
Publish nightly release / build (push) Successful in 1m16s
2024-04-01 21:08:12 +02:00
35c0f755f2
feat(input): implement input consistency mode
All checks were successful
Publish nightly release / build (push) Successful in 1m18s
2024-04-01 21:06:41 +02:00
1acb78ec79
change(calibrate): reduce double-press timer
All checks were successful
Publish nightly release / build (push) Successful in 1m15s
2024-03-30 13:21:15 +01:00
5f2fdc60ec
feat(stick): get calibration to a working state 2024-03-30 13:20:35 +01:00
39ee31eb0f
change(config): increase delay between button presses 2024-03-30 08:10:12 +01:00
26d957f6f3
change(filter): add more functions to time critical section 2024-03-30 08:09:58 +01:00
55b9bc6d2c
change(input): use ticker for stick thread 2024-03-30 08:09:26 +01:00
090a97b5a9
feat(calibrate): finish stick calibration logic
All checks were successful
Publish nightly release / build (push) Successful in 1m18s
2024-03-29 23:42:05 +01:00
4306cce840
feat(calibration): implement calibration step 2024-03-29 21:31:55 +01:00
5eaf18993e
fix(input): adapt to param change
All checks were successful
Publish nightly release / build (push) Successful in 2m26s
2024-03-29 19:56:49 +01:00
2d7239c04a
feat(config, stick): implement more calibration logic
Some checks failed
Publish nightly release / build (push) Failing after 1m50s
2024-03-29 19:54:52 +01:00
5408d37560
chore: move calibrate to config 2024-03-29 16:07:44 +01:00
7878c283e6
change(nput): refactor loop ordering
All checks were successful
Publish nightly release / build (push) Successful in 1m38s
2024-03-29 11:53:17 +01:00
b891e263aa
feat(calibration): add helper functionality 2024-03-29 11:52:54 +01:00
35349dee49
shuffle some threads around, stricter timing for stick readings
All checks were successful
Publish nightly release / build (push) Successful in 1m41s
2024-03-28 22:43:44 +01:00
d4c88a4a60
chore(input): use AnyPin 2024-03-28 18:12:02 +01:00
d0aeafc069
fix: disable rumble for now (or we might blow a fuse, lel)
All checks were successful
Publish nightly release / build (push) Successful in 1m16s
2024-03-27 22:31:55 +01:00
1861b89505
feat: finish notch remap
All checks were successful
Publish nightly release / build (push) Successful in 1m16s
2024-03-27 22:12:28 +01:00
0f11c659c4
chore(project): implement more xy value pairs
All checks were successful
Publish nightly release / build (push) Successful in 1m17s
2024-03-27 21:41:33 +01:00
eb0ba44b1c
feat(filter): implement kalman filter 2024-03-27 21:20:25 +01:00
b0e1eb6309
chore(config): separate stick configs / refactor 2024-03-27 20:36:41 +01:00
7fd36a91fd
feat(input): use loop logic closer to phob 2024-03-27 20:11:05 +01:00
3514463dbb
fix(input): don't use raw waker (embassy) 2024-03-27 20:09:14 +01:00
4077220f27
fix(stick): use correct array types & linear cal values 2024-03-27 20:08:58 +01:00
5ab51f5670
chore: refactor and finish stick cal 2024-03-27 19:34:14 +01:00
40f734f25d
feat: add ability to enter reset mode via button press + additional default values 2024-03-27 19:03:04 +01:00
f0d99a234b
feat: implement stick calibration logic
All checks were successful
Publish nightly release / build (push) Successful in 2m58s
2024-03-27 18:11:23 +01:00
fe4afce386
feat(input, stick): implement controller config revisioning & norm gains 2024-03-27 14:16:42 +01:00
483a51c265
chore(main): remove test code for flash storage 2024-03-26 23:09:38 +01:00
71aab17866
finish up the stick read function (minus calibration steps) 2024-03-22 22:33:27 +01:00
baa1ab1235
begin implementing stick filter algorithms 2024-03-22 21:38:10 +01:00