Leds BlinkM 驅動程式

leds-blinkm 驅動程式支援 BlinkM 系列裝置。

它們是 RGB-LED 模組,由 (AT)tiny 微控制器驅動,並透過 I2C 進行通訊。這些模組的預設地址是 0x09,但可以透過命令更改。透過這種方式,您可以在一條 I2C 總線上菊花鏈連線多達 127 個 BlinkM 模組。

該裝置透過單獨的命令接受 RGB 和 HSB 顏色值。您還可以將閃爍序列作為“指令碼”儲存在控制器中並執行它們。漸變也是一個選項。

此驅動程式提供的介面分為三類

a) 用於觸發器的 LED 多色類介面

註冊遵循以下方案

blinkm-<i2c-bus-nr>-<i2c-device-nr>:rgb:indicator

$ ls -h /sys/class/leds/blinkm-1-9:rgb:indicator
brightness  device  max_brightness  multi_index  multi_intensity  power  subsystem  trigger  uevent

色調由 multi_intensity 檔案控制,亮度由 brightness 檔案控制。

寫入強度值的順序可以在 multi_index 中找到。必須向 multi_intensity 寫入三個介於 0 到 255 之間的值才能改變顏色

$ echo 255 100 50 > multi_intensity

可以透過向 brightness 檔案寫入 0 到 255 之間的值來改變整體亮度。

b) 用於觸發器的 LED 類介面

註冊遵循以下方案

blinkm-<i2c-bus-nr>-<i2c-device-nr>-<color>

$ ls -h /sys/class/leds/blinkm-6-*
/sys/class/leds/blinkm-6-9-blue:
brightness  device  max_brightness  power  subsystem  trigger  uevent

/sys/class/leds/blinkm-6-9-green:
brightness  device  max_brightness  power  subsystem  trigger  uevent

/sys/class/leds/blinkm-6-9-red:
brightness  device  max_brightness  power  subsystem  trigger  uevent

(與 /sys/bus/i2c/devices/6-0009/leds 相同)

我們可以將顏色分為紅、綠、藍進行控制,併為每種顏色分配觸發器。

例如:

$ cat blinkm-6-9-blue/brightness
05

$ echo 200 > blinkm-6-9-blue/brightness
$

$ modprobe ledtrig-heartbeat
$ echo heartbeat > blinkm-6-9-green/trigger
$

b) Sysfs 組,用於控制 rgb、漸變、hsb、指令碼等...

此擴充套件介面在 I2C 裝置的 sysfs 資料夾中作為 blinkm 資料夾提供。例如,在 /sys/bus/i2c/devices/6-0009/blinkm 下

$ ls -h /sys/bus/i2c/devices/6-0009/blinkm/ blue green red test

目前僅支援設定紅色、綠色、藍色和測試序列。

例如:

$ cat *
00
00
00
#Write into test to start test sequence!#

$ echo 1 > test
$

$ echo 255 > red
$

截至 2024 年 7 月

dl9pf <at> gmx <dot> de jstrauss <at> mailbox <dot> org