From 37beaf3ee45f35e83f66c613f7651ca5a54a3b03 Mon Sep 17 00:00:00 2001 From: phiwan-dev <75113544+phiwan-dev@users.noreply.github.com> Date: Sun, 3 Aug 2025 18:34:24 +0200 Subject: [PATCH] zmk: add screen to left half --- .../boards/shields/phiboard/Kconfig.defconfig | 3 ++ .../shields/phiboard/phiboard_left.overlay | 30 +++++++++++++++++-- firmware/zmk-config/phiboard.conf | 5 +++- 3 files changed, 34 insertions(+), 4 deletions(-) diff --git a/firmware/zmk-config/boards/shields/phiboard/Kconfig.defconfig b/firmware/zmk-config/boards/shields/phiboard/Kconfig.defconfig index feb879d..5054acf 100644 --- a/firmware/zmk-config/boards/shields/phiboard/Kconfig.defconfig +++ b/firmware/zmk-config/boards/shields/phiboard/Kconfig.defconfig @@ -19,6 +19,9 @@ if SHIELD_PHIBOARD_LEFT config ZMK_KEYBOARD_NAME default "phiboard slave" +config ZMK_DISPLAY + default y + endif if SHIELD_PHIBOARD_LEFT || SHIELD_PHIBOARD_RIGHT diff --git a/firmware/zmk-config/boards/shields/phiboard/phiboard_left.overlay b/firmware/zmk-config/boards/shields/phiboard/phiboard_left.overlay index 286f86a..5ad5689 100644 --- a/firmware/zmk-config/boards/shields/phiboard/phiboard_left.overlay +++ b/firmware/zmk-config/boards/shields/phiboard/phiboard_left.overlay @@ -3,14 +3,15 @@ / { chosen { zmk,kscan = &kscan0; + zephyr,display = &oled_left; }; + kscan0: kscan_0 { compatible = "zmk,kscan-gpio-matrix"; label = "KSCAN"; diode-direction = "col2row"; - col-gpios = <&xiao_d 10 GPIO_ACTIVE_HIGH> , <&xiao_d 9 GPIO_ACTIVE_HIGH> @@ -25,6 +26,29 @@ , <&xiao_d 2 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)> , <&xiao_d 3 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)> ; - }; - + }; }; + + +&xiao_i2c { + status = "okay"; + + oled_left: ssd1306@3c { + status = "okay"; + + compatible = "solomon,ssd1306fb"; + reg = <0x3c>; + width = <128>; + height = <80>; + segment-offset = <0>; + page-offset = <0>; + display-offset = <0>; + multiplex-ratio = <31>; + //segment-remap; + //com-invdir; + com-sequential; + inversion-on; + prechargep = <0x22>; + }; +}; + diff --git a/firmware/zmk-config/phiboard.conf b/firmware/zmk-config/phiboard.conf index 979421b..76da301 100644 --- a/firmware/zmk-config/phiboard.conf +++ b/firmware/zmk-config/phiboard.conf @@ -11,4 +11,7 @@ CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=10 CONFIG_ZMK_WIDGET_LAYER_STATUS=y CONFIG_ZMK_WIDGET_BATTERY_STATUS=y -CONFIG_ZMK_WIDGET_OUTPUT_STATUS=y +CONFIG_ZMK_WIDGET_OUTPUT_STATUS=y # Shows if USB/BLE is active +#CONFIG_ZMK_DISPLAY_INVERT=n +#CONFIG_ZMK_WIDGET_WPM_STATUS=y +#CONFIG_ZMK_DISPLAY_STATUS_SCREEN_CUSTOM=y