draw-marking

nazarijtipusak080/prototype-relay/draw-marking

No description
draw-marking
@/draw-marking
DEVwayland/ssd1306-oled-i2c/ssd1306-oled-i2c-device
An SSD1306 OLED device.
UPDpulse
Update. Trigger write to display buffer.
draw-marking
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,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
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x38,0x41,0x00,0x00,0x01,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x10,0x88,0x80,0x22,0xf2,0x45,0xe4,0x3e,0xf7,0xff,0xf7,0xfe,0x1e,0xfd,0xef,0xf6
,0x11,0x00,0x40,0x32,0x94,0x65,0x02,0x35,0x9a,0x55,0x1e,0xaa,0x0b,0x73,0x35,0xe6
,0x11,0x08,0x4e,0x2a,0x94,0x55,0x02,0x39,0x9b,0xc4,0x7f,0x08,0x0e,0x33,0x35,0xb4
,0x11,0x08,0x40,0x26,0x94,0x4d,0x02,0x3d,0x9a,0x44,0xdf,0x88,0x0b,0x7b,0x35,0x9c
,0x38,0x88,0x80,0x22,0xf2,0x45,0xe4,0x3f,0xf7,0xee,0xff,0xfc,0x1f,0xdd,0xef,0x88
,0x00,0x41,0x00,0x00,0x01,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x98
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x40,0x40,0x00,0x00,0x40,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x38,0x96,0x20,0x08,0xbc,0x91,0x79,0x07,0xde,0xff,0xfe,0xff,0xc7,0xce,0xfb,0x80
,0x25,0x09,0x10,0x0c,0xa5,0x19,0x40,0x86,0xb3,0x4a,0xa3,0xd5,0x47,0x7b,0x5e,0xc0
,0x39,0x08,0x13,0x8a,0xa5,0x15,0x40,0x87,0x33,0x78,0x8f,0xe1,0x06,0x7f,0x5f,0xc0
,0x29,0x08,0x10,0x09,0xa5,0x13,0x40,0x87,0xb3,0x48,0x9b,0xf1,0x06,0x78,0xde,0x00
,0x24,0x80,0x20,0x08,0xbc,0x91,0x79,0x07,0xfe,0xfd,0xdf,0xff,0x87,0xcf,0xfb,0xc0
,0x00,0x40,0x40,0x00,0x00,0x40,0x02,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x80,0x00,0x00,0x00,0x00,0x00,0x00
,0x0f,0xe0,0x00,0x00,0x00,0x00,0xee,0x00,0x3f,0x80,0x00,0x00,0x00,0x00,0x00,0x00
,0x0c,0x20,0x00,0x00,0x00,0x01,0x98,0x00,0x3f,0x80,0x00,0x00,0x00,0x00,0x00,0x00
,0x0c,0x20,0x00,0x00,0x00,0x01,0x98,0x00,0x3f,0x81,0xf3,0xbe,0xe0,0xf7,0xc0,0x00
,0x0a,0x20,0xf9,0xdf,0x70,0x7b,0xfc,0x00,0x3f,0x81,0xde,0xd7,0xb1,0x9f,0x40,0x00
,0x0a,0x20,0xef,0x6b,0xd8,0xcd,0x98,0x00,0xff,0xe1,0x9f,0xd7,0xf1,0x9a,0x40,0x00
,0x39,0x38,0xcf,0xeb,0xf8,0xcd,0x98,0x00,0x3f,0x81,0x9e,0x37,0x81,0x9a,0x40,0x00
,0x09,0x20,0xcf,0x1b,0xc0,0xcd,0x98,0x00,0x3f,0x81,0xf3,0xfe,0xf0,0xf7,0xe0,0x00
,0x08,0xa0,0xf9,0xff,0x78,0x7b,0xfc,0x00,0x3f,0x81,0x80,0x00,0x00,0x00,0x00,0x00
,0x08,0xa0,0xc0,0x00,0x00,0x00,0x00,0x00,0x3f,0x81,0xc0,0x00,0x00,0x00,0x00,0x00
,0x08,0x60,0xe0,0x00,0x00,0x00,0x00,0x00,0x3f,0x80,0x00,0x00,0x00,0x00,0x00,0x00
,0x08,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x80,0x00,0x00,0x00,0x00,0x00,0x00
,0x0f,0xe0,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,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
,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x20,0x00,0x00,0x43,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x40,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x80,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x3f,0x07,0xf0,0x01,0xf2,0xff,0xff,0xfd,0x07,0x7f,0xdf,0xfe,0x00,0x00,0x00,0x00
,0x00,0x04,0x00,0x03,0x5e,0x75,0x96,0x4b,0x0d,0xd4,0x69,0x2c,0x00,0x00,0x00,0x00
,0x00,0x04,0x00,0x03,0x5a,0x67,0x9e,0x79,0x0c,0x11,0xef,0x3c,0x00,0x00,0x00,0x00
,0x00,0x04,0x00,0x03,0x5a,0x36,0x82,0x49,0x0c,0x13,0x69,0x34,0x00,0x00,0x00,0x00
,0x00,0x04,0x00,0x01,0xf7,0xff,0xc7,0xff,0x87,0xbb,0xff,0xfe,0x00,0x00,0x00,0x00
,0x00,0x00,0x03,0x80,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0xe0,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,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
,0x7f,0x0f,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x18,0x00,0x03,0xef,0x7f,0xff,0x7f,0xeb,0xc0,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x08,0x00,0x03,0x59,0xa5,0x51,0xea,0xb9,0x60,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x03,0x99,0xbc,0x47,0xf0,0x89,0xc0,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x03,0xd9,0xa4,0x4d,0xf8,0x89,0x60,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x03,0xff,0x7e,0xef,0xff,0xdf,0xe0,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,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);
    }
}