Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions DaemonBiteArcadeEncoder/DaemonBiteArcadeEncoder.ino
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,12 @@ void loop()
// Debounce axes
for(pin=0; pin<4; pin++)
{
// Sanitize millisNow in case of overflow (after around 50 days, but it can happen! :-)
if(millisNow < axesMillis[pin])
{
axesMillis[pin] = 0;
millisNow = DEBOUNCE_TIME + 1;
}
// Check if the current pin state is different to the stored state and that enough time has passed since last change
if((axesDirect & axesBits[pin]) != (axes & axesBits[pin]) && (millisNow - axesMillis[pin]) > DEBOUNCE_TIME)
{
Expand All @@ -126,6 +132,12 @@ void loop()
// Debounce buttons
for(pin=0; pin<12; pin++)
{
// Sanitize millisNow in case of overflow (after around 50 days, but it can happen! :-)
if(millisNow < buttonsMillis[pin])
{
buttonsMillis[pin] = 0;
millisNow = DEBOUNCE_TIME + 1;
}
// Check if the current pin state is different to the stored state and that enough time has passed since last change
if((buttonsDirect & buttonsBits[pin]) != (buttons & buttonsBits[pin]) && (millisNow - buttonsMillis[pin]) > DEBOUNCE_TIME)
{
Expand Down