This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LP5569: Breathing effect with one engine and change the LED association

Part Number: LP5569

Hi all,

After several months working on another project, I am still not able to use one engine and change the LED association for a simple breathing effect.

The idea proposed does not seem to work. One other colleague tried to get it to work and ended up having with the same issues.

How can we unlock the situation? I am completely open to suggestions.

Thank you for your help,

David

  • Hi David,

    Could you help to provide the code you are using now?

  • Dear Mr Wu,

    Thank you for the quick repply. Please find attached the code I put together based on Kenneth Du's response in this forum entry https://e2e.ti.com/support/power-management/f/196/t/755061

    Please let me know if you have any further queries.

    Thanks,

    David3872.LP5569_Example_5_LEDs.src.zip

  • Dear Mr. Wu,

    Is there anything else do you want me to try with this issue?

    Thank you,

    David

  • Hi David,

    So sorry I missed the notification of your former reply and it had been long time.

    In the former thread, you want to achieve a state that one LED in an infinite breathing effect while others off. You need a I2C instruction to change which LED on, right?
    Did you try to write PROG_START Register? Take your code for example, if you want to light LED-D4 when LED-D1 is on, write the address where 'map_addr row4' saved (13h) to  ENGINE1_PROG_START Register (4Bh). It would change engine start address to SRAM 13h and continue rest codes.

  • Dear Mr. Wu,

    This is the sequence of what I am sending:

    - LED_ENGINE_CONTROL1 (01h) with data 0x00 (hold all engines)

    - LED_ENGINE_CONTROL2 (02h) with data 0x00 (stop all engines)

    - ENGINE1_PROG_START (4Bh) with the following address depending on the LED I want to breathe:

    - LED1: 0x05

    - LED2: 0x0B

    -LED3: 0x0F

    -LED4: 0x13

    - LED5: 0x17

    - LED_ENGINE_CONTROL1 (01h) with data 0xA8 (Free run engine1, engine2 and engine3)

    - LED_ENGINE_CONTROL2 (02h) with data 0xA8 (Run engine1, engine2 and engine3)

    Unfortunately, the results are not correct and the LEDs don't breathe as they should. Am I missing anything obvious here?

    Kind Regards,

    David

  • Hi David,

    This sequence can work in our EVM board.
    Did the LEDs not breathe? Or they just stuck in one LED breathe and can not change others you need?
    To light the LEDs normally, chip_en(40h to register 00h), cp_mode(08h to register 2Fh) should be set before engine start. If you have no external CLK input, internal CLK enable bit should also be set. Then you can begin upload the code and start engine control.

  • Hi Hardy,

    Can you confirm that you tried my program and works on the EVM board?

    In our board, the first LED breathes fine (I guess that confirms the internal clock is running, as the CLK line is tied to GND via a pull down resistor on our HW).

    I am writing 0x48 to cp+mode, to leave the autoincrease setting + the led pump and the CLK set to internal. I send that while register 00 is disabled and then I enable it (sending 0x40).

    is there any chance we could borrow an EVM to see if we can find out what is wrong with this?

    Thanks for your help,

    David

  • Hi Hardy,

    I am happy to report that I found the issue with our system. There was a very hard to detect bug in the writing of the SRAM section.

    Now it works perfectly fine.

    Thanks a lot for your help.

    David

  • Hi David,

    So glad to hear it. Could you help to share the experience? It would be great helpful when we meet similar issues in the future.