To use the node in your project you should have the jaga-jaga/calibrato-16-24bit-adc-dds library installed. Use the “File → Add Library” menu item in XOD IDE if you don’t have it yet. See Using libraries for more info.
C++ implementation
#pragma XOD evaluate_on_pin enable input_UPD
#pragma XOD error_raise enable
struct State {
};
{{ GENERATED_CODE }}
void evaluate(Context ctx) {
if (!isInputDirty<input_UPD>(ctx))
return;
const uint8_t lch = getValue<input_LATCH>(ctx);
const uint8_t cl = getValue<input_CLOCK>(ctx);
const uint8_t dt = getValue<input_DATA>(ctx);
const uint8_t myConst = getValue<input_H1>(ctx);
const uint8_t myConst2 = getValue<input_H2>(ctx);
int cho = getValue<input_CHOICE>(ctx);
::pinMode(lch, OUTPUT);
::pinMode(cl, OUTPUT);
::pinMode(dt, OUTPUT);
int allnumb = getValue<input_TOTAL>(ctx);
//Входные байты
//формируем ноль на latchPin и удерживаем его до конца передачи
digitalWrite(lch, 0);
//Отправляем первый байт
shiftOut(dt, cl, LSBFIRST, myConst);
//Отправляем второй байт
shiftOut(dt, cl, LSBFIRST, myConst2);
//возвращаем высокий уровень на latchin, тем самым сообщая микросхеме о том, что
//больше не требуется воспринимать информацию
::digitalWrite(lch, 1);
emitValue<output_DONE>(ctx, 1);
}