สูตร ddcutil yocto
สําหรับโครงการนี้เราจําเป็นต้องมีไลบรารี ddcutil เพื่อเข้าถึงการตั้งค่าการแสดงผล HDMI ผ่าน I2C
ในการรวมไลบรารี ddcutil ลงในระบบลินุกซ์ที่กําหนดเองของคุณคุณต้องสร้างสูตรที่กําหนดเองสําหรับมัน
สูตร ddcutil_git.bb
ในเมตาเลเยอร์ที่กําหนดเองของคุณสร้างโฟลเดอร์ 'recipes-support/ddcutil' และภายในโฟลเดอร์นี้สร้างไฟล์ 'ddcutil_git.bb'
SUMMARY = "Tool to modify display settings by ddc (hdmi)"
HOMEPAGE = "http://www.ddcutil.com"
AUTHOR = "Sanford Rockowitz "
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
BRANCH = "master"
SRCREV = "5080161b456cc6a1fd3e6db3dc537e1dcd1c809b"
PV = "1.2.2+${SRCPV}"
SRC_URI = " \
git://github.com/rockowitz/ddcutil;branch=${BRANCH};protocol=https; \
"
# disable trying to fetch from mirrors
PREMIRRORS = ""
MIRRORS = ""
DEPENDS += "\
i2c-tools \
libusb1 \
libdrm \
libgudev \
"
RDEPENDS_${PN} += "\
i2c-tools \
i2c-tools-misc \
libdrm \
"
S = "${WORKDIR}/git"
EXTRA_OECONF += "\
--disable-x11 --enable-drm --disable-usb --enable-lib --disable-doxygen \
"
inherit autotools pkgconfig
รวม ddcutil ลงในภาพของคุณ
คุณต้องรวมสูตรใน Yocto Linux ของคุณ:
IMAGE_INSTALL:append = " ddcutil"
จากนั้นคุณสามารถกัดภาพของคุณและทดสอบผลลัพธ์</:code22:></:code11:>
การทดสอบ DDcutil
เข้าสู่ระบบฝังตัวแบบกําหนดเองของคุณหรือเชื่อมต่อผ่าน SSH
ตอนนี้คุณสามารถใช้คําสั่ง ddcutil และดูว่าการใช้งานสําเร็จหรือไม่
ตรวจพบการตรวจสอบรายงาน
ก่อนอื่นคุณสามารถตรวจจับได้ว่าจอภาพ HDMI เชื่อมต่อและพร้อมใช้งานผ่าน ddcutil หรือไม่ ใช้คําสั่งต่อไปนี้:
ddcutil detect
ผลลัพธ์ควรมีลักษณะดังนี้:
Display 1
I2C bus: /dev/i2c-3
EDID synopsis:
Mfg id: IVM
Model: PLT2236
Product code: 22057
Serial number: 11402A7100051
Binary serial number: 51 (0x00000033)
Manufacture year: 2017, Week: 1
VCP version: 2.1
รับการตั้งค่าทั้งหมด
หากต้องการรับการตั้งค่าทั้งหมด ให้ใช้คําสั่งต่อไปนี้:
ddcutil getvcp all
ผลลัพธ์ควรมีลักษณะดังนี้:
VCP code 0x02 (New control value ): No user controls are present (0xff)
VCP code 0x0b (Color temperature increment ): 50 degree(s) Kelvin
VCP code 0x0c (Color temperature request ): 3000 + 70 * (feature 0B color temp increment) degree(s) Kelvin
VCP code 0x10 (Brightness ): current value = 100, max value = 100
VCP code 0x12 (Contrast ): current value = 50, max value = 100
VCP code 0x14 (Select color preset ): User 1 (sl=0x0b)
VCP code 0x16 (Video gain: Red ): current value = 100, max value = 100
VCP code 0x18 (Video gain: Green ): current value = 100, max value = 100
VCP code 0x1a (Video gain: Blue ): current value = 100, max value = 100
VCP code 0x52 (Active control ): Value: 0x00
VCP code 0x60 (Input Source ): DVI-1 (sl=0x03)
VCP code 0x62 (Audio speaker volume ): current value = 49, max value = 100
VCP code 0x6c (Video black level: Red ): current value = 50, max value = 100
VCP code 0x6e (Video black level: Green ): current value = 50, max value = 100
VCP code 0x70 (Video black level: Blue ): current value = 50, max value = 100
VCP code 0x8d (Audio Mute ): Unmute the audio (sl=0x02)
VCP code 0xac (Horizontal frequency ): 1964 hz
VCP code 0xae (Vertical frequency ): 60.00 hz
VCP code 0xb2 (Flat panel sub-pixel layout ): Red/Green/Blue vertical stripe (sl=0x01)
VCP code 0xb6 (Display technology type ): LCD (active matrix) (sl=0x03)
VCP code 0xc0 (Display usage time ): Usage time (hours) = 1030 (0x000406) mh=0xff, ml=0xff, sh=0x04, sl=0x06
VCP code 0xc6 (Application enable key ): 0x006f
VCP code 0xc8 (Display controller type ): Mfg: Novatek (sl=0x12), controller number: mh=0xff, ml=0xff, sh=0x00
VCP code 0xc9 (Display firmware level ): 0.2
VCP code 0xca (OSD ): OSD Enabled (sl=0x02)
VCP code 0xcc (OSD Language ): English (sl=0x02)
VCP code 0xd6 (Power mode ): DPM: On, DPMS: Off (sl=0x01)
VCP code 0xdc (Display Mode ): User defined (sl=0x04)
VCP code 0xdf (VCP Version ): 2.1
ตั้งค่าความสว่าง
ในการตั้งค่าความสว่างของจอภาพเป็น 50% ให้ใช้คําสั่งต่อไปนี้:
ddcutil setvcp 10 50
ใบอนุญาตลิขสิทธิ์
ลิขสิทธิ์ © 2022 Interelectronix e.K.
ซอร์สโค้ดของโครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต GPL-3.0