Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for HD108 led strip (16bits colors) #527

Merged
merged 5 commits into from
Jul 21, 2023
Merged

Add support for HD108 led strip (16bits colors) #527

merged 5 commits into from
Jul 21, 2023

Conversation

awawa-dev
Copy link
Owner

Add initial support for HD108 SPI led strip.
HD108 is capable of 16bits channels for RGB and adjust the maximum current output level.
The LED strip is using standard 5V logic level (not 3.3V).

obraz

Documentation can be found here: http://www.rose-lighting.com/wp-content/uploads/sites/53/2021/03/HD108-5050-LED-Specificaion-V1.1.0-Rose-Lighting.pdf

@r3vEngIT
Copy link

r3vEngIT commented Mar 15, 2023

took longer than expected but i got this running.
this is all new to me but i am determined to learn haha.
i was using the SD card .img, so i had to teach myself how to SSH into the RPi to use this .deb file. however, something with the file format linked here would not work with 'wget' so i had to learn how to use SCP and load it that way.

i also did more reading on these led chips and found an updated datasheet from ROSE. (adds 3.3V logic proof)
HD108-Specificaion-V1.2.pdf

i re-designed my LED frame and further improved my wiring. the RPi is now powered directly from the PSU instead of off the strip. the cable from the RPi to the strip has been shortened to ~8in. originally it was ~20in.

the BAD:
the colors are off but i cant figure out exactly why. i have been reading about color management and started playing around with different ICC profiles within windows because i think that is where the problem lies.
being an audiophile and chasing that bitstream quality i have learned of the ways in which signal processing can have a significant impact on quality. between Nvidia, my network AVR, the Smart TV, screen capturing, HDR, WASAPI and EDID handshakes it is a never-ending battle using a Windows HTPC.

so i think the HD108s are only amplifying the color issues. using youtube color tests, the LED colors are perfect for the basic colors. but when watching a movie (SDR or HDR) the tones are too light and the overall brightness of the LEDs is too high. adjusting gamma over 2.0 helps this but introduces other issues like skin pigment being reddish.

i am going to keep messing with it but if there is any data you would like to see, i can send it to you.

is there any network protocols that will screen capture at higher than 8bit?

can you take a look at the new datasheet and see if there is anything different that would need changed in HyperHDR?

Thanks again!

@awawa-dev
Copy link
Owner Author

awawa-dev commented Mar 16, 2023

i also did more reading on these led chips and found an updated datasheet from ROSE. (adds 3.3V logic proof)

It is probably a rather different version of HD108, the previous manual has the same authors and the other revision was not compatible with 3.3V. The situation is the same with some versions of ws2812b in the market. The HD108 protocol hasn't changed.

i think the HD108s are only amplifying the color issues. using youtube color tests, the LED colors are perfect for the basic colors. but when watching a movie (SDR or HDR) the tones are too light and the overall brightness of the LEDs is too high. adjusting gamma over 2.0 helps this but introduces other issues like skin pigment being reddish.

Yes, you only need to watch the live video preview and not the LEDs as some minor transformations like gamma correction have been applied to them by default. The symptom you describe is usually when "HDR to SDR tone mapping" is unnecessarily enabled in the DX11 software grabber, which may cause the overall brightness to be too high. If you search the discussion, you'll find a similar issue with DX capturing, where some content doesn't require HDR tone mapping (like desktop apps) and other apps need it (e.g. games). There is no workaround for now.

@r3vEngIT
Copy link

i also did more reading on these led chips and found an updated datasheet from ROSE. (adds 3.3V logic proof)

It is probably a rather different version of HD108, the previous manual has the same authors and the other revision was not compatible with 3.3V. The situation is the same with some versions of ws2812b in the market. The HD108 protocol hasn't changed.

i think the HD108s are only amplifying the color issues. using youtube color tests, the LED colors are perfect for the basic colors. but when watching a movie (SDR or HDR) the tones are too light and the overall brightness of the LEDs is too high. adjusting gamma over 2.0 helps this but introduces other issues like skin pigment being reddish.

Yes, you only need to watch the live video preview and not the LEDs as some minor transformations like gamma correction have been applied to them by default. The symptom you describe is usually when "HDR to SDR tone mapping" is unnecessarily enabled in the DX11 software grabber, which may cause the overall brightness to be too high. If you search the discussion, you'll find a similar issue with DX capturing, where some content doesn't require HDR tone mapping (like desktop apps) and other apps need it (e.g. games). There is no workaround for now.

oh wow.
glad you mentioned this or i probably never would have looked!

Screenshot 2023-03-18 200207

looks like @ktaeleman is working on improving HSC for R16G16B16 Windows Desktop Duplication. i will focus my research here.

sabaatworld/HyperionScreenCap#61 (comment)

@r3vEngIT
Copy link

update:
running the modified HSC with the HD108 is working well so far. colors are the best i have seen and auto HDR turned on in Windows 11 is working (surprisingly) as well.

Thanks again for all your help!

@awawa-dev awawa-dev merged commit 69da76c into master Jul 21, 2023
9 checks passed
@awawa-dev awawa-dev deleted the hd108 branch October 23, 2023 17:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants