struct State {
};
{{ GENERATED_CODE }}
void evaluate(Context ctx)
{
if (isInputDirty<input_UPD>(ctx))
{
const uint8_t port = getValue<input_PORT>(ctx);
if (isValidDigitalPort(port))
{
::pinMode(port, OUTPUT);
bool val = getValue<input_STATE>(ctx);
if (getValue<input_PULL>(ctx))
::digitalWrite(port, val);
else
::digitalWrite(port, !val);
emitValue<output_DONE>(ctx, 1);
}
else
emitValue<output_ERR>(ctx, 1);
}
}