Push Button Control

Hi all,

What’s the best way to trigger the push button? Seems like i have to hold it down a bit for it to trigger the mechanism in my patch (a hacked version of CV Chucker example)

Also I want to trigger the pushbutton feature using a CV gate signal or other such thing but for some reason it doesn’t work. Why are there two of these, am I missing something? lol

Maybe the pushbutton feature needs to be programmed into my patch but it’s not some reason. Wonder if that’s included in the CV Chucker Gen~ example. If not can someone please enlighten me?

It looks like this behavior is because that’s how this patch is written.

Signal from hardware is received by patch almost instantly (within 1-2 milliseconds) and it works with CV trigger or physical press the same way. You don’t need to do anything special for it to work, but patch has some kind of counter after button so I guess it reacts on it after some time.

Thanks, that makes sense, I hope the unit itself isn’t causing these problems. Strange that when I used this particular patch on the OWL pedal as opposed to the modular I didn’t get any strange behavior from the pushbutton

Did you try it with another patch?

Something like the Poly Sub that triggers a sound on button/gate:

The “best” way is to use an interrupt.
Is that supported?
Even if the switch is de-bounced sufficiently (2mS) the same input code needs to catch triggers which are often 1mS.

Firmware uses interrupts when they’re available (not all GPIO can trigger interrupts on STM32), but this is not exposed to user patches.

Right.
So will the firmware always catch a 1mS trigger applied to gate in and make it available to user patches?

I’m pretty confident that Martin made sure to use EXTI enabled pins for gate/button inputs on most if not all existing OWL hardware. That said, I know that some manufacturers (i.e. Mutable Instruments) use polling rather than interrupts in the same situation without anyone ever complaining.

Debouncing buttons can be done easily in software with polling, while with interrupts it probably makes more sense to deal with it in hardware by smoothing signal to avoid multiple interrupts.

ok,
just thinking about trigger sequencer possibilities for the lich…that’s a long way down on a provisional todo list though.

First lich project will be midi to cv for monosynth.

There is a MIDI-CV converter among demo patches for Lich, it should be a good starting point.

Yes the button and gate inputs are hardware interrupts, and sample accurate: Patch::buttonChanged() callback is called with a ‘samples since start of block’ parameter.

Debouncing is not an issue for gates, only noisy hardware switches.

…perfect start point. Plan is to fix the current patch so it will work as expected sith a keyboard, Then to make a patch dedicated to the midi to CV side and optimised for a single synth voice.
Maybe an envelope out on one of those cv outs.