From b943a18ff4c9831c0db18295f62e5e785fc7723c Mon Sep 17 00:00:00 2001 From: ArthurZheng Date: Thu, 2 Jul 2026 23:21:04 +0800 Subject: [PATCH 1/3] feat: add https://github.com/openblock-plugin/u8g2 --- registry.json | 1 + 1 file changed, 1 insertion(+) diff --git a/registry.json b/registry.json index c43d452..5f0f03c 100644 --- a/registry.json +++ b/registry.json @@ -28,6 +28,7 @@ "https://github.com/openblock-plugin/arduinoUnoR4Wifi" ], "extensions": [ + "https://github.com/openblock-plugin/u8g2", "https://github.com/openblock-plugin/tcs3200", "https://github.com/openblock-plugin/rgbLedStrip", "https://github.com/openblock-plugin/shiftDigitDisplay", From 9b8ca1f3e6fd611a39399b73cafb352ad4107e7b Mon Sep 17 00:00:00 2001 From: ArthurZheng Date: Thu, 2 Jul 2026 23:21:06 +0800 Subject: [PATCH 2/3] chore: update display baseline for u8g2 --- approved/u8g2.json | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 approved/u8g2.json diff --git a/approved/u8g2.json b/approved/u8g2.json new file mode 100644 index 0000000..7b1a119 --- /dev/null +++ b/approved/u8g2.json @@ -0,0 +1,21 @@ +{ + "id": "u8g2", + "type": "extensions", + "repository": "https://github.com/openblock-plugin/u8g2", + "display": { + "name": "U8G2", + "description": { + "id": "u8g2.description", + "default": "U8g2 is a general graphics library for multiple screens, which is suitable for LCD (base on ST7920) or OLED (base on SSD1306) screens." + }, + "helpLink": "https://wiki.openblock.cc", + "tags": [ + "display" + ], + "author": "ArthurZheng" + }, + "icons": { + "iconURL": "sha256:a337c50e54b0694b7ed18f4db657fe4a07ba60489d08276aeae62d0d7b784bbc" + }, + "displayHash": "sha256:5923d4c7ebab6f24078d9f51be6a0a1ab71c37b8b35d36ccdddd026423217db3" +} From c3245b6c74db7c2e7d8032439a0b6ea2497a97d5 Mon Sep 17 00:00:00 2001 From: ArthurZheng Date: Thu, 2 Jul 2026 23:21:08 +0800 Subject: [PATCH 3/3] chore: update display icon for u8g2 --- approved/u8g2.iconURL.png | Bin 0 -> 32356 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 approved/u8g2.iconURL.png diff --git a/approved/u8g2.iconURL.png b/approved/u8g2.iconURL.png new file mode 100644 index 0000000000000000000000000000000000000000..e45e8328797efb284968f8b74aa2c323686289db GIT binary patch literal 32356 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 lH{|+XXtyp#Td##Mq