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.

LP5810: Auto pattern not as per what GUI shows

Part Number: LP5810
Other Parts Discussed in Thread: MSPM0C1103,

Tool/software:

Hello,

I am looking to create the below pattern as a test. But I am getting another pattern. Please help to figure out what's going wrong. Attached is I2C write and video of the pattern.

Here's the I2C write sequence from boot. Wr means I2C write, next is I2C target address (LP5810D), following which is register address and then data.

Wr 5c  0  1       -> Chip enable
Wr 5c 23 66     -> Sw reset
Wr 6c  0  1       -> Broadcast for sw issue workaround
Wr 6f 50  5
Wr 6f 50  8
Wr 6f 50  1
Wr 6f 50  3
Wr 6f 51 27
Wr 6f 50  0
Wr 6c  0  0
Wr 5c  0  1                -> Chip enable
Wr 5c  4  1  0  7        -> Enable Auto and exponential
Wr 5c  d  f                 -> Enable LOD and LSD
Wr 5c 10 55              -> Update config
Wr 5c 20  7               -> Enable LED 0,1,2
Wr 5c 50 cc  0  0       -> Set Auto DC
Wr 5c 81 1f                -> Auto LED0 config for using AEU 1 and 2 for LED0
Wr 5c 84 ff ff              -> PWM3 and 4 set to FF for AEU1
Wr 5c 87  a  a            -> PT1 and PT3 set to 3s for AEU1
Wr 5c 8c ff ff              -> PWM3 and 4 set to FF for AEU2
Wr 5c 8f  7  7             -> PT1 and PT3 set to 1.5s for AEU2
Wr 5c 10 55              -> Update config
Wr 5c 11 ff                -> Start pattern

Thanks, Prithvi

  • Hi Prithvi,

    Thanks for reaching out! I will reply to you next Monday since I am OoO now.

    BR, Jared

  • Hi Prithvi,

    Sorry for late reply.

    I think your program is no problem. Based on the GUI configuration, I think you want to realize the LED patter like blinking, but the real patter you attached in the video, like breathing, am I right?

    BR, Jared

  • Hi Prithvi,

    Based on my experience, I will recommend you to configure all the register include the default value is the same as your setting to avoid some mismatch information. If possible, please help to read back from the register to see if they are matched with your setting.

    BR, Jared

  • Hi Jared, thanks for the reply. Yes, I am looking for a blinking pattern and the result is having some blinking as well as some fading pattern. What I see is that if I use only one AEU, then I get the same pattern as per the GUI, so I think there might be some discrepancy of how the device works compared to GUI. Can you please check this?

    To make sure the default values are present, I have done a software reset by writing 0x66 to 0x23 register at the very beginning. 

  • Hi Prithvi,

    You mean that if you use the I2C sample code with your own MCU and attached the above code, you can get the blinking patter as you want. But you can't get the blink patter as you want if you using GUI?

    BR, Jared

  • Hello Jared,

    I am using MSPM0C1103 MCU from TI as the MCU. The process that I am following is as follows:

    1. Set the required LED pattern in the auto mode configuration in the LED control page.
    2. Use the values generated for the 'Auto control registers' starting from 0x80 from the Register Map page in an array in the C project.
    3. The I2C driver writes to LP5810 the array of 'auto control register' from address 0x80 until the last non-zero value since the default values are zero.

    So the scenario with only AEU1 is used the LED pattern is as shown in the GUI, unlike the scenario where both AEU1 and AEU2 is used. Both with 'auto control register' values generated from the GUI.

    The I2C write sequence from the original question is what is sent on the I2C bus for the GUI pattern in the question with both AEU1 and AEU2 enabled.

    Thanks, Prithvi

  • Hello Jared,

    I am using MSPM0C1103 MCU from TI as the MCU. The process that I am following is as follows:

    1. Set the required LED pattern in the auto mode configuration in the LED control page.
    2. Use the values generated for the 'Auto control registers' starting from 0x80 from the Register Map page in an array in the C project.
    3. The I2C driver writes to LP5810 the array of 'auto control register' from address 0x80 until the last non-zero value since the default values are zero.

    So the scenario with only AEU1 is used the LED pattern is as shown in the GUI, unlike the scenario where both AEU1 and AEU2 is used. Both with 'auto control register' values generated from the GUI.

    The I2C write sequence from the original question is what is sent on the I2C bus for the GUI pattern in the question with both AEU1 and AEU2 enabled.

    Thanks, Prithvi

  • Hi, Prithvi

    Our expert will reply you late.

  • Hi Prithvi,

    I think your program code order is correct.

    So, my understanding is that you can successfully run the patter using internal animation with your MCU, but you can't run it using GUI.

    If in this case, I think the reason is that the GUI setting is wrong.

    BR, Jared

  • Hello Jared,

    I think there is some misunderstanding from you - I am not running using GUI, only taking the values generated there to be used in my MCU code.

    In any case, I'm using my application with manual mode where I am updating the PWM registers and it works as desired.

    Thanks for your help and I'm closing the question.