Hello,
I'm developing a driver for the LP5523 in order to manage 2 RGB LEDs (let's call them B and C) and 1 individual LED (let's call it A).
I developed blinking/breathing/etc. patterns using the instruction set.
LED A is assigned to engine 1, whose PROG START ADDR is 0x00.
LED B is assigned to engine 2, whose PROG START ADDR is 0x20.
LED C is assigned to engine 3, whose PROG START ADDR is 0x40.
This structure allows me to run a different code on each LED separately. The PC and other registers are correctly set as I use the same functions to manage all LEDs with just a parameter saying which LED is concerned. When trying the functions on a single LED or RGB LED, everything works fine.
The initialisation uses the following values:
- reg 0x00 takes value 0x40
- reg 0x36 takes value 0x5B
- regs 0x06-0x0E take value 0x20
My problem is that I can run parallel patterns on engines 1 and 2, on engines 1 and 3, but not on engines 2 and 3.
When I start a blinking pattern (for example) on engine 3 and then engine 2 (or vice versa), the LED connected to engine 2 blinks a few times and then ramps up and stays on... I have also the impression that from this point, the LP5523 becomes a bit "crazy" and turn on/off some LED sometimes.
Any idea?
Thanks.
Yorick