Circuit Sword button bouncing

McGyver
Posts: 218
Joined: Tue Jan 31, 2017 11:06 am
Location: Tianjin / China
Has thanked: 23 times
Been thanked: 50 times

Circuit Sword button bouncing

Post by McGyver » Fri Oct 12, 2018 8:31 am

Dear circuit sword uses,

on my CS build I recognize regular button bounces (unwanted multiple button presses). Can you please give your experience about this on your builds?

If helpfully for everybody maybe KITE can add a slight bounce feature to the Arduino script for update.

User avatar
Hellweaver666
Posts: 62
Joined: Sun Aug 12, 2018 1:37 am
Has thanked: 16 times
Been thanked: 13 times

Re: Circuit Sword button bouncing

Post by Hellweaver666 » Sat Oct 13, 2018 4:28 am

I saw someone complaining about bouncy buttons on start/select so maybe there could be a need for a little software tuning there!

User avatar
Killar
Posts: 55
Joined: Sat Dec 02, 2017 6:29 am
Has thanked: 17 times
Been thanked: 9 times

Re: Circuit Sword button bouncing

Post by Killar » Sat Oct 13, 2018 5:38 am

i have the same problem with my d-pad and start button.. i got the newest version of kites cm3 board. i use buttons and rubber membranes from retromodding. contact pads on the board and rubbber membranes have been cleaned without any improvement. i even used 2 different membranes from a cheap chinese vendor. no change

when i press the start button, it recognizes 2-3 button pushes in a split second. the dpad not so much

User avatar
kite
Posts: 924
Joined: Thu May 12, 2016 4:30 am
Location: UK
Has thanked: 236 times
Been thanked: 305 times
Contact:

Re: Circuit Sword button bouncing

Post by kite » Sat Oct 13, 2018 8:17 am

Just replied to Killars post, perhaps i need to implement de-bouncing sooner then..

Tomatopaste
Posts: 5
Joined: Thu Dec 14, 2017 1:02 pm

Re: Circuit Sword button bouncing

Post by Tomatopaste » Wed Oct 17, 2018 10:52 am

Noticed the same thing as well,
As my day job is problem management I thought I would just let you know what I am seeing so you can gauge how many people are seeing this and give what info I can.

Super easy to spot in Tetris as a single push will spin the blocks several times.
Is the Arduino running like a refresh on the buttons looking for presses or is is binary on/off?
Not that I am much of an expert but it seems like it’s recognizing the same push over and over as opposed to a single press.

Anyway I’m sure Kite or even another user on these boards knows what the deal is and can fix it.

McGyver
Posts: 218
Joined: Tue Jan 31, 2017 11:06 am
Location: Tianjin / China
Has thanked: 23 times
Been thanked: 50 times

Re: Circuit Sword button bouncing

Post by McGyver » Wed Oct 17, 2018 8:20 pm

See here:
http://www.sudomod.com/forum/viewtopic. ... lit=Bounce especially the explanation from Moosepr.

It is possible to integrate this function into the arduino script.
It would be quite convenient for us if Kite add this to the script on the server and we only need to update :lol:

The only theoretical disadvantage if your button with this debounce enabled: your affected button will be "blocked" for maybe 100ms before a second press will be recogniced. So the debounce time value should be not chosen too high.

javi.124
Posts: 30
Joined: Sun Aug 20, 2017 3:48 am
Has thanked: 6 times

Re: Circuit Sword button bouncing

Post by javi.124 » Fri Oct 19, 2018 1:41 am

McGyver wrote:
Wed Oct 17, 2018 8:20 pm
See here:
http://www.sudomod.com/forum/viewtopic. ... lit=Bounce
The only theoretical disadvantage if your button with this debounce enabled: your affected button will be "blocked" for maybe 100ms before a second press will be recogniced. So the debounce time value should be not chosen too high.
That's exactly what I was thinking... If the solution is some sort of low-frequency-pass filtering, it may end limiting games in which you have to push repeatedly and/or very quickly some buttons (fighting arcades, etc.)

McGyver
Posts: 218
Joined: Tue Jan 31, 2017 11:06 am
Location: Tianjin / China
Has thanked: 23 times
Been thanked: 50 times

Re: Circuit Sword button bouncing

Post by McGyver » Fri Oct 19, 2018 3:28 am

A value of 100ms still allows you 10 keypresses a second!

Edit:
Here you see how 16 keypress on a pad looks like


User avatar
kite
Posts: 924
Joined: Thu May 12, 2016 4:30 am
Location: UK
Has thanked: 236 times
Been thanked: 305 times
Contact:

Re: Circuit Sword button bouncing

Post by kite » Mon Oct 22, 2018 4:32 am

Thanks for the feedback guys. The arduino code polls the buttons at about 60hz and transmits any changes in the same period. I can look in to adding some de-bounce logic but if someone does happen to make changes they can submit a pull request or even email me what they have done and I can integrate it.

Obviously I want to make sure it's still responsive, especially for timing critical things. But even if i limited the debounce to technically only allow 20 button changes per second, that should at least have everything covered.. also, going forward I'm going to change the PCBs to be ENIG finished (gold) which should mean a quicker change and less bouncing in the first place..

Tomatopaste
Posts: 5
Joined: Thu Dec 14, 2017 1:02 pm

Re: Circuit Sword button bouncing

Post by Tomatopaste » Thu Nov 01, 2018 6:12 am

Has anyone come up with a solution to this yet? I’ve fiddled with and cleaned my connections, replaced all the pads and still have pretty frequent bouncing issues.
Thanks!

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest