Daisy Pod - is debouncing nessesary?

I was wondering if it necessary to debounce Pod’s momentary switches. Most of the examples use something like the code below to detect button presses, and don’t call debounce() prior to it.

if(hw.button1.RisingEdge())

Is debouncing done internally (in either hardware or the library)?
Is it necessary to call debounce() before using any of the RisingEdge calls?

Thanks

Most of the Pod examples using a “Controls” function in the audio callback / while loop

void Controls()
{
    pod.ProcessAnalogControls();
    pod.ProcessDigitalControls();

    UpdateButtons();
	...
}

If you look into the “ProcessDigitalControls” function, you will find the debouncing of the buttons.

void DaisyPod::ProcessDigitalControls()
{
    encoder.Debounce();
    button1.Debounce();
    button2.Debounce();
}

I’m not a c++ expert, but I think it’s necessary to call Debounce() before using any of the button calls.
Hope that make sense. (Sorry for my google translate english)

1 Like