1个不稳定版本
0.5.0 | 2024年1月25日 |
---|
#1702 in 嵌入式开发
34KB
706 行
is31fl3733-rs
Rust接口,用于Lumissil IS31FL3733 16x12 LED驱动器。
该软件包目前仅包含启动芯片和控制LED所需的最小功能。
LED的开关状态控制通过set_leds
函数实现,该函数直接写入芯片内部状态。24字节缓冲区中的每个位依次映射到一个LED。
类似地,亮度通过set_brightness
控制,该函数写入芯片的PWM状态。在这种情况下,每个LED都有自己的字节来确定亮度。
整体最大亮度限制可以使用set_global_control_current
进行调整。
有关更多信息,请参阅数据手册。
保持内部状态并与之比较,以将总线写入量保持在最低。
示例
let is31fl3733 = IS31FL3733::is31fl3733::new();
is31fl3733.initialize()?;
is31fl3733.set_global_control_current(0xff)?; // Maximum brightness limit
is31fl3733.set_leds(&[0xffu8; 24])?; // Turn on all LEDs
// Set each LED's brightness to its index value
let brightness: [u8; 192] = core::array::from_fn(|i| i);
is31fl3733.set_brightness(&brightness);
TBD
- LED开路/短路状态检测
- 中断支持
- 自动呼吸模式
免责声明:此库不是官方产品,请自行承担使用风险。
依赖项
~725KB
~13K SLoC