ICND1065L SPWM Config troubles

Hi & thanks for this channel!

Ich have troubles with a 11px gap of the lower half with a 128x64px panel driven by a ICND1065L.
The controller is a RPI CM4 board & Adafruit Active3 Bonnet hat.
The previous setup - 128x64px panel HUB75 no PWM - was straight forward with GitHub - hzeller/rpi-rgb-led-matrix: Controlling up to three chains of 64x64, 32x32, 16x32 or similar RGB LED displays using Raspberry Pi GPIO · GitHub . I just built a control framework with an API that controls the content. Now I was trying a Chinese panel with an ICND1065L driver and RT4957DSP row expander but I cannot get rid of a 11px “dead” gap of the lower half of the panel.
I’ve tried several values and combinations - swapped through scan rows, address type, multiplexing etc. but no luck.

Currently running on GitHub - kingdo9/rpi-rgb-led-matrix_pwm_experiment: rpi-rgb-led-matrix - SPWM Expeimental Support · GitHub
Does anyone have a hint what could actually be the issue here?

Thanks & cheers

Please show a clear image of the back of the panel

to confirm did you try
–led-spwm-scan=32

also what do you uee for this?
–led-spwm-row-addr-type=1
or
–led-spwm-row-addr-type=0

the only kind of working settings but with

scan=43

row type=2

multiplexing=0

I did a sweep through 1-86 on row type 0 & 1 - no luck to get even near a proper image - 32 makes sense, 43 is working - so this 11 rows missing in the lower half

sorry, but this is a non-sense

Your panel is definitely 1/32s scan and uses a shift register line switcher.

So you have to use options below:

–led-spwm-scan=32 --led-spwm-row-addr-type=1

Exactly -but when I set

pwm_scan=32, spwm_row_addr_type=1,

the panel goes bad instead of showing the RPis IP address - the only scan settings showing the IP with the dead bar is scan=43 and 86 with row address type=2.

This is how the panel looks like with scan=32, row address type=1

Thanks for your help!

If you’re working with RP2040 or STM32 boards in the Arduino environment, you might want to try a different library that’s supports ICND1065 panels..
This way, you can check the correct settings.

yup

I only tested and implemented with my specific 1/43 panel. Hopefully will adapt shortly.

1 Like

@5UP3R3D
So, would you like to try it on my library? This would be useful for the @kingdo9 library as well – to see if the problem is in the code or the panel.

@5UP3R3D

Hi,

Could you try the latest version of the library 0.13 , with the alternative register flag

--led-panel-type=icnd1065l --led-rows=64 --led-cols=128 --led-spwm-row-addr-type=2 --led-spwm-scan=32 --led-spwm-register-config=1

Also you might be a good candidate to test the new feature of display register config picker

Please try it here, it is Demo 15. Don’t forget to adjust it to your own switches.
You switch between configs using the Left and Right arrow keys. Press M to mark the good ones, then press Enter which you can then cycle through the good ones to compare.

taskset -c 2 chrt -f 99 /opt/rpi-rgb-led-matrix*/examples-api-use/demo -D15 --led-rows=64 --led-cols=128 --led-scan-mode=0 --led-gpio-mapping=regular --led-brightness=50 --led-slowdown-gpio=5 --led-pwm-bits=11 --led-limit-refresh=60 --led-no-busy-waiting --led-panel-type=icnd1065l --led-spwm-row-addr-type=2

2 Likes

I am still testing the setup but the panel works fine now. Regtype45 of the demo did it. This feature is super handy and saves a lot of time when driving „unknown“ panels. Thanks again and sincere appreciation!

1 Like

Thanks.

Yes it seems to make it more accessible for the users to resolve without code changes.

Sorry, what is Regtype45 ? I could not find it in the parameter list

Within the big list of configs now for the displays

rpi-rgb-led-matrix_pwm_experiment/lib/spwm/registertest/icnd1065l/icnd1065l-register-profiles.generated.h

static const uint16_t icnd1065l_regtype45_r = {