draw-logotype

nazarijtipusak080/prototype-relay/draw-logotype

Draw XOD logo. Logo is 128 x 64 pixels.
draw-logotype
@/draw-logotype
Draw XOD logo. Logo is 128 x 64 pixels.
DEVwayland/ssd1306-oled-i2c/ssd1306-oled-i2c-device
An SSD1306 OLED device.
UPDpulse
Update. Trigger write to display buffer.
draw-logotype
DONE
DEV
UPD
DONEpulse
Pulses on completion.
To use the node in your project you should have the nazarijtipusak080/prototype-relay 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

nodespace{
// 'xod_logo_128_64', 128x64px
    static const unsigned char xod_logo_128_64 [] PROGMEM = {
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x04,0x00,0x38,0x00,0x00,0x00,0x73,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x70
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x19,0x15,0x52,0x44,0x00,0x00,0x00,0x73,0xc0,0x00,0x00,0x0e,0xe9,0x8e,0xaa,0x88
,0x05,0xb5,0x55,0x4c,0x00,0x00,0x00,0x50,0x40,0x00,0x00,0x0a,0x8a,0x0a,0xaa,0x98
,0x09,0x55,0xdd,0x54,0x00,0x00,0x00,0x4b,0xc0,0x00,0x00,0x0a,0xe3,0x12,0xee,0xa8
,0x05,0x15,0x55,0x64,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0a,0xa2,0x3e,0xa2,0xc8
,0x19,0x15,0x52,0x44,0x00,0x00,0x00,0x3f,0x80,0x00,0x00,0x0e,0xe1,0xa2,0xae,0x88
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x1c,0x40,0x00,0x00,0x00,0x00,0x28,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x08,0xc0,0x00,0x00,0x00,0x01,0xe4,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x08,0x40,0x00,0x38,0x00,0x00,0x24,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x08,0x40,0x00,0x18,0x00,0x00,0x22,0x80,0x00,0x00,0x80,0x00,0x00,0x00,0x00
,0x00,0x1c,0x40,0x00,0x28,0x00,0x00,0x22,0x80,0x00,0x00,0x40,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x22,0x80,0x00,0x00,0x20,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x21,0x80,0x00,0x00,0x10,0x00,0x00,0x00,0x00
,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x3f,0x80,0x00,0x00,0x08,0x00,0x00,0x00,0x00
,0x00,0x02,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x00
,0x00,0x04,0x00,0x04,0x01,0xff,0xff,0xff,0xff,0xff,0xfc,0x03,0x00,0x00,0x00,0x00
,0x00,0x08,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x04,0x07,0x00,0x01,0xe0,0x00
,0x00,0x10,0x00,0x00,0x01,0xff,0xff,0xff,0xff,0xff,0xfc,0x00,0x00,0x59,0x00,0x00
,0x07,0xe0,0xfe,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x25,0xe0,0x00
,0x00,0x00,0x80,0x00,0x01,0x01,0x54,0x00,0x00,0x00,0x04,0x00,0x00,0x20,0x20,0x00
,0x00,0x00,0x80,0x00,0x01,0xff,0xff,0xff,0xff,0xff,0xfc,0x00,0x00,0x21,0xe0,0x00
,0x00,0x00,0x80,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x80,0x00,0x01,0x01,0xff,0xff,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x01,0x31,0xff,0xff,0x10,0x00,0x04,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x01,0x31,0xff,0xff,0x00,0x00,0x04,0x00,0x07,0xf0,0xfe,0x00
,0x00,0x00,0x00,0x00,0x01,0x01,0xff,0xff,0x10,0x00,0x04,0x00,0x00,0x08,0x80,0x00
,0x00,0x73,0xc0,0x00,0x01,0x01,0xff,0xff,0x01,0x15,0x44,0x00,0x00,0x04,0x80,0x00
,0x00,0x48,0x40,0x00,0x01,0x01,0xff,0xff,0x10,0x00,0x04,0x00,0x00,0x02,0x80,0x00
,0x00,0x70,0x80,0x00,0x01,0x31,0xff,0xff,0x00,0x00,0x04,0x00,0x00,0x01,0x80,0x00
,0x00,0x51,0x00,0x00,0x01,0x31,0xff,0xff,0x10,0x00,0x04,0x00,0x00,0x00,0x80,0x00
,0x00,0x4a,0x00,0x00,0x01,0x01,0xff,0xff,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x01,0xff,0xff,0xff,0xff,0xff,0xfc,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x01,0xff,0xff,0xff,0xff,0xff,0xfc,0x00,0x80,0x00,0x00,0x00
,0x0f,0xe1,0xfc,0x0e,0x01,0x00,0x00,0x00,0x00,0x00,0x04,0x01,0x00,0x00,0x00,0x00
,0x00,0x11,0x00,0x0c,0x01,0xff,0xff,0xff,0xff,0xff,0xfc,0x02,0x00,0x00,0x00,0x00
,0x00,0x09,0x00,0x0a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00
,0x00,0x05,0x00,0x01,0x00,0x00,0x00,0x73,0xc0,0x00,0x00,0x08,0x00,0x00,0x00,0x00
,0x00,0x03,0x00,0x00,0x80,0x00,0x00,0x48,0x40,0x00,0x00,0x50,0x00,0x00,0x00,0x00
,0x00,0x01,0x00,0x00,0x40,0x00,0x00,0x70,0x80,0x00,0x00,0x60,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x51,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x4a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0xe0,0x00,0x00,0x00,0x3f,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x70
,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xff,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x1d,0xdd,0xd5,0x10,0x00,0x00,0x00,0x3f,0x80,0x00,0x03,0xbb,0xbb,0xba,0x2a,0x88
,0x09,0x10,0x95,0x30,0x00,0x00,0x00,0x3f,0x80,0x00,0x02,0xaa,0xa2,0xab,0x6a,0x98
,0x09,0x90,0x9d,0x50,0x00,0x00,0x00,0x3f,0x80,0x00,0x02,0xaa,0xa2,0xaa,0xae,0xa8
,0x09,0x10,0x85,0x90,0x00,0x00,0x00,0x3f,0x80,0x00,0x02,0xb2,0xa3,0x3a,0x22,0xc8
,0x09,0xdc,0x9d,0x10,0x00,0x00,0x00,0x3f,0x80,0x00,0x02,0xa3,0xa2,0x2a,0x2e,0x88
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

    };
}

node {
    void evaluate(Context ctx) {
        // The node responds only if there is an input pulse
        if (!isInputDirty<input_UPD>(ctx))
            return;

        // Get a pointer to the `Adafruit_SSD1306` class instance
        auto display = getValue<input_DEV>(ctx);
        display->drawBitmap(0,0,xod_logo_128_64,128,64,1);
        emitValue<output_DONE>(ctx, 1);
    }
}