Add ssd1306_linux, a simple OLED I2C SSD1306 Linux driver based on the i2c library libi2c from i2c-tools. Example usage for a compatible display with resolution 128x64 pixels:
ssd1306_bin -n 1 -I 128x64 ssd1306_bin -n 1 -c ssd1306_bin -n 1 -r 0 ssd1306_bin -n 1 -x 1 -y 1 ssd1306_bin -n 1 -l "Hello World" Pending GitHub pull request to the upstream of the project: https://github.com/armlabs/ssd1306_linux/pull/4 After fixing the upstream 0001-Use-include-filename.patch should be removed from the recipe. Signed-off-by: Leon Anavi <leon.an...@konsulko.com> --- .../ssd1306/0001-Use-include-filename.patch | 49 +++++++++++++++++++ .../recipes-devtools/ssd1306/ssd1306_git.bb | 25 ++++++++++ 2 files changed, 74 insertions(+) create mode 100644 meta-oe/recipes-devtools/ssd1306/ssd1306/0001-Use-include-filename.patch create mode 100644 meta-oe/recipes-devtools/ssd1306/ssd1306_git.bb diff --git a/meta-oe/recipes-devtools/ssd1306/ssd1306/0001-Use-include-filename.patch b/meta-oe/recipes-devtools/ssd1306/ssd1306/0001-Use-include-filename.patch new file mode 100644 index 000000000..dfe48175a --- /dev/null +++ b/meta-oe/recipes-devtools/ssd1306/ssd1306/0001-Use-include-filename.patch @@ -0,0 +1,49 @@ +From cb32ebbb1efb3202808809861ec3cbd811c55bd2 Mon Sep 17 00:00:00 2001 +From: Leon Anavi <leon.an...@konsulko.com> +Date: Sat, 30 Dec 2023 13:23:31 +0000 +Subject: [PATCH] Use include "filename" + +Use include "filename" to include programmer-defined header files +from the same directory as the file containing the directive. + +Upstream-Status: Submitted [https://github.com/armlabs/ssd1306_linux/pull/4] + +Signed-off-by: Leon Anavi <leon.an...@konsulko.com> +--- + main.c | 2 +- + ssd1306.c | 6 +++--- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/main.c b/main.c +index c1ffc2f..18e2b84 100644 +--- a/main.c ++++ b/main.c +@@ -6,7 +6,7 @@ + #include <string.h> + #include <fcntl.h> + #include <sys/ioctl.h> +-#include <ssd1306.h> ++#include "ssd1306.h" + + void print_help() + { +diff --git a/ssd1306.c b/ssd1306.c +index a03674a..2e6ba97 100644 +--- a/ssd1306.c ++++ b/ssd1306.c +@@ -8,9 +8,9 @@ + #include <string.h> + #include <fcntl.h> + #include <sys/ioctl.h> +-#include <linux_i2c.h> +-#include <ssd1306.h> +-#include <font.h> ++#include "linux_i2c.h" ++#include "ssd1306.h" ++#include "font.h" + + const char init_oled_type_file[] = "/tmp/.ssd1306_oled_type"; + +-- +2.39.2 + diff --git a/meta-oe/recipes-devtools/ssd1306/ssd1306_git.bb b/meta-oe/recipes-devtools/ssd1306/ssd1306_git.bb new file mode 100644 index 000000000..5adfd3ed6 --- /dev/null +++ b/meta-oe/recipes-devtools/ssd1306/ssd1306_git.bb @@ -0,0 +1,25 @@ +SUMMARY="SSD1306 OLED I2C drive" +DESCRIPTION = "SSD1306 OLED I2C driver working in Linux" +HOMEPAGE = "https://github.com/armlabs/ssd1306_linux" +SECTION = "console/utils" +LICENSE = "MIT" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=7b694e603a996c3bfdc6093ed1f70c8f" + +SRC_URI = " \ + git://github.com/armlabs/ssd1306_linux.git;protocol=https;branch=master \ + file://0001-Use-include-filename.patch \ +" +SRCREV = "7375f1088732d243f7167c9a17725f1a860da587" + +S = "${WORKDIR}/git" + +# coreutils provides fmt which is used in the Makefile +DEPENDS = "i2c-tools coreutils-native" + +EXTRA_OEMAKE = "CC='${CC}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'" + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${B}/ssd1306_bin ${D}${bindir} +} -- 2.39.2
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#108014): https://lists.openembedded.org/g/openembedded-devel/message/108014 Mute This Topic: https://lists.openembedded.org/mt/103487593/21656 Group Owner: openembedded-devel+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-