702cbe5eb0
add mode to further improve input latency while maintaining accuracy ( #8 )
...
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
Publish nightly release / build (push) Successful in 1m40s
2024-04-06 21:05:22 +02:00
aed495ae54
feat: implement input filters ( #7 )
...
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 :)
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 )
...
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
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
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
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
...
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)
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
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
Publish nightly release / build (push) Successful in 53s
2024-04-02 10:12:23 +02:00
84d531e80a
feat(calibration): implement notch adjustment
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)
Publish nightly release / build (push) Successful in 2m6s
2024-04-01 23:03:08 +02:00
108c9e5dce
chore: clean up usb descriptor
Publish nightly release / build (push) Successful in 1m16s
2024-04-01 21:08:12 +02:00
35c0f755f2
feat(input): implement input consistency mode
Publish nightly release / build (push) Successful in 1m18s
2024-04-01 21:06:41 +02:00
1acb78ec79
change(calibrate): reduce double-press timer
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
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
Publish nightly release / build (push) Successful in 2m26s
2024-03-29 19:56:49 +01:00
2d7239c04a
feat(config, stick): implement more calibration logic
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
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
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)
Publish nightly release / build (push) Successful in 1m16s
2024-03-27 22:31:55 +01:00
1861b89505
feat: finish notch remap
Publish nightly release / build (push) Successful in 1m16s
2024-03-27 22:12:28 +01:00
0f11c659c4
chore(project): implement more xy value pairs
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
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