node {
void evaluate(Context ctx) {
uint8_t count = getValue<output_OUT>(ctx);
uint8_t limit = getValue<input_limite>(ctx);
if (isInputDirty<input_RST>(ctx))
{count = 0; emitValue<output_DONE>(ctx, false);}
else if (count >= limit)
{ emitValue<output_DONE>(ctx, true); }
else if (isInputDirty<input_INC>(ctx))
count += getValue<input_STEP>(ctx);
if(getValue<output_DONE>(ctx))
count = 0;
emitValue<output_OUT>(ctx, count);
}
}