struct State {
};
{{ GENERATED_CODE }}
void evaluate(Context ctx) {
if (!isInputDirty<input_UPDATE>(ctx))
return;
const uint8_t port = getValue<input_PORT>(ctx);
if (!isValidDigitalPort(port)) {
raiseError(ctx);
return;
};
auto duty = getValue<input_DUTY>(ctx);
if(duty>65535){duty=65535;}
if(duty<0){duty=0;}
auto freq = getValue<input_FREQUENCY>(ctx);
SetPinFrequencySafe(port, freq);
pwmWriteHR(port, duty);
emitValue<output_DONE>(ctx, 1);
};