4052-multiplexer

cesars/405xb/4052-multiplexer

No description
4052-multiplexer
@/4052-multiplexer
Deprecated: Use library cesars/4051
CH_X0generic t1
CH_Y0generic t2
CH_X1generic t1
CH_Y1generic t2
CH_X2generic t1
CH_Y2generic t2
CH_X3generic t1
CH_Y3generic t2
ENboolean
SELnumber
4052-multiplexer
CH_X0
CH_Y0
CH_X1
CH_Y1
CH_X2
CH_Y2
CH_X3
CH_Y3
EN
SEL
X_COM
Y_COM
Y_COMgeneric t2
X_COMgeneric t1
To use the node in your project you should have the cesars/405xb 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 dirtieness disable

struct State {
};

{{ GENERATED_CODE }}

void evaluate(Context ctx) {

    if(!getValue<input_EN>(ctx) == 1)
        return;

    int sel = getValue<input_SEL>(ctx);

    switch (sel){
        case 0:
        emitValue<output_X_COM>(ctx, getValue<input_CH_X0>(ctx));
        emitValue<output_Y_COM>(ctx, getValue<input_CH_Y0>(ctx));
            break;
        case 1:
        emitValue<output_X_COM>(ctx, getValue<input_CH_X1>(ctx));
        emitValue<output_Y_COM>(ctx, getValue<input_CH_Y1>(ctx));
            break;
        case 2:
        emitValue<output_X_COM>(ctx, getValue<input_CH_X2>(ctx));
        emitValue<output_Y_COM>(ctx, getValue<input_CH_Y2>(ctx));
            break;
        case 3:
        emitValue<output_X_COM>(ctx, getValue<input_CH_X3>(ctx));
        emitValue<output_Y_COM>(ctx, getValue<input_CH_Y3>(ctx));
            break;
    }
}