Debounces a boolean value. The `OUT` value would change only after a period of at least `Ts` seconds while which the input state `ST` has not changed. The node is useful to fight signal bouncing of mechanical switches.
debounce(boolean)
@/debounce(boolean)
Debounces a boolean value. The `OUT` value would change only after a period of at least `Ts` seconds while which the input state `ST` has not changed. The node is useful to fight signal bouncing of mechanical switches.
STboolean
Input bouncing boolean state.
Tsnumber
Debounce time in seconds.
OUTboolean
Debounced value.
C++ implementation
node {bool state =false;voidevaluate(Context ctx){bool x = getValue<input_ST>(ctx);if(x != state){
state = x;
TimeMs dt = getValue<input_Ts>(ctx)*1000;setTimeout(ctx, dt);}if(isTimedOut(ctx)){
emitValue<output_OUT>(ctx, x);}}}