takestring

danya/test-2/takestring

No description
takestring
@/takestring
SS DSport
Board port to write to
Mclockport
Board port to write to
DIport
Board port to write to
UPDpulse
Triggers new write
SIG1boolean
State to write
SIG2boolean
State to write
SIG3boolean
State to write
SIG4boolean
State to write
SIG5boolean
State to write
SIG6boolean
State to write
SIG7boolean
State to write
SIG8boolean
State to write
SIG9boolean
State to write
SIG10boolean
State to write
SIG11boolean
State to write
SIG12boolean
State to write
SIG13boolean
State to write
SIG14boolean
State to write
SIG15boolean
State to write
SIG16boolean
State to write
SIG17boolean
State to write
SIG18boolean
State to write
SIG19boolean
State to write
SIG20boolean
State to write
SIG21boolean
State to write
SIG22boolean
State to write
SIG23boolean
State to write
SIG24boolean
State to write
SIG25boolean
State to write
SIG26boolean
State to write
SIG27boolean
State to write
SIG28boolean
State to write
SIG29boolean
State to write
SIG30boolean
State to write
SIG31boolean
State to write
SIG32boolean
State to write
takestring
SS DS
Mclock
DI
UPD
SIG1
SIG2
SIG3
SIG4
SIG5
SIG6
SIG7
SIG8
SIG9
SIG10
SIG11
SIG12
SIG13
SIG14
SIG15
SIG16
SIG17
SIG18
SIG19
SIG20
SIG21
SIG22
SIG23
SIG24
SIG25
SIG26
SIG27
SIG28
SIG29
SIG30
SIG31
SIG32
DONE
DONEpulse
Fires on writing complete
To use the node in your project you should have the danya/test-2 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 disable
#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 ss = getValue<input_SS_DS>(ctx);
    const uint8_t cl = getValue<input_Mclock>(ctx);
    const uint8_t di = getValue<input_DI>(ctx);
  

    ::pinMode(ss, OUTPUT);
    ::pinMode(cl, OUTPUT);
    ::pinMode(di, OUTPUT);
    const bool a = getValue<input_SIG1>(ctx);
    const bool b = getValue<input_SIG2>(ctx);
    const bool c = getValue<input_SIG3>(ctx);
    const bool d = getValue<input_SIG4>(ctx);
    const bool e = getValue<input_SIG5>(ctx);
    const bool f = getValue<input_SIG6>(ctx);
    const bool g = getValue<input_SIG7>(ctx);
    const bool h = getValue<input_SIG8>(ctx);
    const bool i = getValue<input_SIG9>(ctx);
    const bool j = getValue<input_SIG10>(ctx);
    const bool k = getValue<input_SIG11>(ctx);
    const bool l = getValue<input_SIG12>(ctx);
    const bool m = getValue<input_SIG13>(ctx);
    const bool n = getValue<input_SIG14>(ctx);
    const bool o = getValue<input_SIG15>(ctx);
    const bool p = getValue<input_SIG16>(ctx);
    const bool q = getValue<input_SIG17>(ctx);
    const bool r = getValue<input_SIG18>(ctx);
    const bool s = getValue<input_SIG19>(ctx);
    const bool t = getValue<input_SIG20>(ctx);
    const bool u = getValue<input_SIG21>(ctx);
    const bool v = getValue<input_SIG22>(ctx);
    const bool w = getValue<input_SIG23>(ctx);
    const bool x = getValue<input_SIG24>(ctx);
    const bool y = getValue<input_SIG25>(ctx);
    const bool z = getValue<input_SIG26>(ctx);
    const bool aa = getValue<input_SIG27>(ctx);
    const bool ab = getValue<input_SIG28>(ctx);
    const bool ac = getValue<input_SIG29>(ctx);
    const bool ad = getValue<input_SIG30>(ctx);
    const bool ae = getValue<input_SIG31>(ctx);
    const bool af = getValue<input_SIG32>(ctx);
   ::digitalWrite(ss, 0);
     ::digitalWrite(di, a);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, b);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, c);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, d);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, e);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, f);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, g);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, h);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, i);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, j);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, k);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, l);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, m);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, n);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, o);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, p);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, q);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, r);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, s);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, t);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, u);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, v);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, w);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, x);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, y);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, z);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, aa);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, ab);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, ac);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, ad);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, ae);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
    ::digitalWrite(di, af);
     ::digitalWrite(cl, 1);
     ::digitalWrite(cl, 0);
   ::digitalWrite(ss, 1);
    emitValue<output_DONE>(ctx, 1);
}