Need implementation of SSD1306Ascii in XOD

Hi all!
I need implementation of OLED1306ASCII library in XOD

for use with low memory boards
Can anybody help?

wayland/ssd1306-oled-i2c — XOD library already exists, but it wraps Adafruit_SSD1306 (GitHub - adafruit/Adafruit_SSD1306: Arduino library for SSD1306 monochrome 128x64 and 128x32 OLEDs), so it might use too much memory for you. You might be able to use it as a template for creating your own wrapper for the ASCII library even if it doesn’t work for you.

i tried using instruction but kept getting error

error: no matching function for call to ‘SSD1306AsciiAvrI2c :: SSD1306AsciiAvrI2c (const DevType *, uint8_t &)’
Type oled = new (mem) SSD1306AsciiAvrI2c (& Adafruit128x64, i2cAddr)

Do you have pragma to include the SSD1306Ascii library? That is where that function should be defined. There are general instructions for wrapping IDE libraries Wrapping Class-based Arduino Libraries — XOD, and the wayland library I linked to above will probably be pretty close to what you want, making it a good template/example.

I’m afraid I can’t help you much beyond that since I don’t have experience with the process.

of course
trouble in → Type oled = new (mem) SSD1306AsciiAvrI2c(&Adafruit128x64, i2cAddr);

#pragma XOD require “GitHub - greiman/SSD1306Ascii: Text only Arduino Library for SSD1306 OLED displays

#include “SSD1306Ascii.h”
#include “SSD1306AsciiAvrI2c.h”

node {
meta {
using Type = SSD1306AsciiAvrI2c*;
}

uint8_t mem[sizeof(SSD1306AsciiAvrI2c)];
void evaluate(Context ctx) {
    if (!isSettingUp())
        return;
    uint8_t i2cAddr = getValue<input_ADDRESS>(ctx);
    Type oled = new (mem) SSD1306AsciiAvrI2c(&Adafruit128x64, i2cAddr);

    emitValue<output_DEV>(ctx, oled);
}

};

Solution found

Topic can be closed

You are not going to share your solution?

Sure.
When everything is completely ready

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.