probonopd / MiniDexed

Dexed FM synthesizer similar to 8x DX7 (TX816/TX802) running on a bare metal Raspberry Pi (without a Linux kernel or operating system)
https://github.com/probonopd/MiniDexed/wiki
1.13k stars 81 forks source link

Lower debounce time #714

Closed probonopd closed 2 months ago

probonopd commented 2 months ago

https://github.com/probonopd/MiniDexed/issues/713

github-actions[bot] commented 2 months ago

Build for testing: MiniDexed_2024-09-01-c92185d Use at your own risk.

miotislucifugis commented 2 months ago

Wow, Thanks! This seems to be working great. Even the fastest, lightest taps get registered. However, Im finding that if i do a couple of fast successive taps, like 3 quick ones in a row to go back 3 steps, only only one press gets identified....but I guess that this is a limit of the double tap timeout.

probonopd commented 2 months ago

@diyelectromusic agree to merge this? See @miotislucifugis last comment in https://github.com/probonopd/MiniDexed/issues/713.

At this time, I'd rather not touch BUTTONS_UPDATE_NUM_TICKS because it might impact overall performance.

diyelectromusic commented 2 months ago

It's a little hard to say really, but yes, that last comment is encouraging.

I do think we should wait until someone tests this with other buttons though. We can't be sure we haven't introduced a debouncing issue with slower/noisier buttons, so I think others ought to give it a bit of a test first.

If I get a chance, I'll load it up onto my various builds and see what it does, but that probably won't be for a few days and all my builds include capacitors for some hardware debouncing so might not be representative anyway.

It would be nice to have some proper profiling of the timers/responses involved in buttons and their scanning to put some sense to those numbers, but that would need an instrumented (e.g. with oscilloscope/GPIO outputs) build to be tested which would take a fair bit of time, so I guess we just go with the "is anyone shouting this is broken" approach for now :)

Kevin

miotislucifugis commented 2 months ago

I can test that tomorrow. My key switches are on a daughter board and I have an other board that I can swap in that has the standard little pcb push buttons. For what its worth, I currently see no issue w/ the encoder switch.

miotislucifugis commented 2 months ago

Regular switches appear to be working fine in this build... at least for me

probonopd commented 2 months ago

Merging. Please comment here if you experience any button related issues. Thanks!