#led-driver #i2c #no-std-driver

no-std lp5018

no_std driver for the lp5018 i2c LED driver

3 releases

0.1.4 Mar 10, 2022
0.1.3 Feb 11, 2022
0.1.2 Jun 16, 2021
0.1.1 Jun 16, 2021
0.1.0 Jun 16, 2021

#1892 in Embedded development

MIT/Apache

9KB
152 lines

build_workflow Crates.io Version Crates.io Downloads No Std

lp5018

This crate is a no_std driver for the lp5018 i2c LED driver.

Datasheet

https://www.ti.com/lit/gpn/lp5018

About this driver

This driver does not support all features of the LED driver such as power saving mode, programmable bank support or auto-increment for writing or reading with one transition. It supports setting the brightness of each output.

Usage

Add this to your Cargo.toml:

[dependencies]
lp5018 = "0.1.4"

And this to your main.rs

    let mut led_controller_enable_pin = some_pin;
    let mut led_controller = lp5018::LedDriver::new();
    led_controller.set_address(true, true);
    led_controller_enable_pin.set_high().unwrap();
    timer.delay_ms(500_u32);
    led_controller.reset(&mut i2c).unwrap();
    led_controller.init_device(&mut i2c).unwrap();

    loop {
        //turn on LED
        led_controller
            .change_intensity_for_output(&mut i2c, Out00, 0xff)
            .unwrap();
        timer.delay_ms(500_u32);
        //turn off LED
        led_controller
            .change_intensity_for_output(&mut i2c, Out00, 0x00)
            .unwrap();
        timer.delay_ms(500_u32);
    }

License

Licensed under either of

at your option.

Dependencies

~71KB