Skip to content

Commit 07b54ac

Browse files
committed
luci-base: getLEDs support for multi-channel LEDS
add color channel attributes to getLEDs ubus call Signed-off-by: Tomáš Macholda <tomas.macholda@nic.cz>
1 parent 8dd088d commit 07b54ac

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

  • modules/luci-base/root/usr/share/rpcd/ucode

modules/luci-base/root/usr/share/rpcd/ucode/luci

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ const methods = {
203203
for (let led in lsdir('/sys/class/leds')) {
204204
let s;
205205

206-
result[led] = { triggers: [] };
206+
result[led] = { triggers: [], multi_channel: false, channels: {} };
207207

208208
s = trim(readfile(`/sys/class/leds/${led}/trigger`));
209209
for (let trigger in split(s, ' ')) {
@@ -212,6 +212,16 @@ const methods = {
212212
if (trigger != result[led].triggers[-1])
213213
result[led].active_trigger = result[led].triggers[-1];
214214
}
215+
s = access(`/sys/class/leds/${led}/multi_index`);
216+
if (s) {
217+
let channels = split(trim(readfile(`/sys/class/leds/${led}/multi_index`)), ' ');
218+
let intensities = split(trim(readfile(`/sys/class/leds/${led}/multi_intensity`)), ' ');
219+
220+
for (let i = 0; i < length(channels); i++) {
221+
result[led].channels[channels[i]] = int(intensities[i]);
222+
}
223+
result[led].multi_channel = true;
224+
}
215225

216226
s = readfile(`/sys/class/leds/${led}/brightness`);
217227
result[led].brightness = +s;

0 commit comments

Comments
 (0)