init

wayland/sh1106g-oled-i2c/init

Initialize display module.
init
@/init
Initialize display module.
DEV@/sh1106g-oled-i2c-device
An SH1106G OLED device.
ADDRbyte
I²C address.
UPDpulse
Update
init
DEV
ADDR
UPD
DONE
DONEpulse
Pulses on completion.
To use the node in your project you should have the wayland/sh1106g-oled-i2c 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

// Declare that node raises errors
#pragma XOD error_raise enable

node {

    void evaluate(Context ctx) {
        if (!isInputDirty<input_UPD>(ctx))
            return;
        auto display = getValue<input_DEV>(ctx);
        auto address = getValue<input_ADDR>(ctx);
        if (!display->begin(address, true)) {
            raiseError(ctx);
            return;
        }
        emitValue<output_DONE>(ctx, 1);
    }
}