Odroid N2 OLED I2C / SPI driver

I couldn’t see any difference in the recognized HDR mode by kodi.
“Once Upon a Time” is HDR10
“1917” is HDR10+
“Gemini Man” is HDR10 but 60Hz

Yep, that’s what I suspected. The display driver reads the value from /sys/class/amhdmitx/amhdmitx0/config which currently doesn’t seem to differentiate between HDR10 and HDR10+. Until this is fixed then unfortunately I have no way of detecting HDR10+ :frowning:

1 Like

I was expecting this because the Ace2 skin I am using sometimes doesn’t even show the HDR symbol right.
Anyhow it was worth a try.
Your plugin makes the Kodi experience a lot better and even if the spi mode doesn’t make the seconds count down exactly smooth, it is a lot better than I2C mode :+1:

Yep, that’s due to the fact that the time is only sampled and displayed twice every second and if the time from Kodi and the time at which the value is sampled by the display drive isn’t perfectly synced then every so often you get a jitter. I’m working on better update code that will allow the driver to sample the time from Kodi at a higher rate without updating the display if the time hasn’t changed. Which should make the display smoother.

1 Like

Hi there, I’m not new to the ODROID N2 but new to the forum. I just finished installing a 2.42" SSD1309 128x64 SPI OLED display and it looks great. Very good job with this Kodi addon, thanks to the author. I just have a little issue with the brightness settings. Whatever the value in the 1 - 16 range, the brightness is always the same, so is it just an issue with SPI OLED displays or is there something wrong with my gear ?

No, there is a issue with brightness on the SSD1309 SPI displays, I’ll have to look into it and see what the problem is.

OK, thanks a lot roidy !

Holy cow!
That setup looks absolutely neat! :+1:

This is just a part of my home theater. :wink:

2 Likes

:crazy_face: and daddy would like one too :smiley:
Do you have time to watch anything?

Maybe a have an explanation why brightness settings don’t work well with SPI OLED displays.
Found this video about SSD1306 which seems to be very similar to the 1309, and how the guy solved the issue. Looks like it’s related with charge pump register. Hope this helps…

The SSD1306 has a 256 level brightness setting (accessible via 81h register) but its effect is somewhat limited if you using jellybean modules from China.

Maximum brightness achieved easily but if you want to dim it, you can’t dim it to low levels. “Precharge period” and “VCOMH deselect(sic) level” registers and to a limited extent charge pump register can be used for this.

What happens if you modify these registers can be seen in this video.

Disabling charge pump for achieving very low brightness levels is undocumented and unsupported feature which I found by accident. As you can see in video, only SPI display can work while charge pump disabled. I2C display simply display nothing, therefore charge pump disabling method is not usable on I2C display.

Left display connected via SPI, right display driven via I2C.
Hello world and 333°C is placeholder text.
The bottom line is important.

First value is Precharge (D9h)
Second value is VCOMH (DBh)
[DEF] means default suggested settings.
br = Brightness (81h)
CHGPMP OFF = Charge pump off (via writing 10h to 8Dh, to enable simply write 14h to same address)

Thanks, I’m already aware of the PreCharge and VCOMH issues. However the reason it currently doesn’t work on the SPI SSD1309 displays is simply that I forgot to update the code that sets the brightness. The code is simply missing :smiley:

I’ll update the code at the weekend to include support fro SPI displays.

1 Like

It’s nice to hear that ! :grinning:
Thanks roidy !

@RAMALPHA Could you grab release 0.1.7 from github and test that brightness is working on SSD1309 SPI displays please.

Just finished installing your update and yes it works now.
Here are the results with the following brightness settings :
1 - 8 - 16


Thanks for your work roidy !

1 Like

Brightness set at 1 is dark enough to be used in a dark room without beeing annoying while watching a movie.

1 Like

Addon service doesn’t work with the latest official CoreELEC 9.2.4. No display at all. OLED Driver error is shown at the top of the screen at boot. I had to reactivate ODROID N2 SPI with the following SSH commands :

mount -o remount,rw /flash
fdtput -t s /flash/dtb.img /soc/cbus@ffd00000/spi@13000/spidev@0 status “okay”
fdtput -t s /flash/dtb.img /soc/cbus@ffd00000/spi@13000 status “okay”
reboot

And after that it works again. :wink:

Yep, until SPI gets permanently activated in CoreELEC you will have to do that every time you update.

And do you know if this is something the developers plan to do in the near future ? :relaxed:

Sorry I have no idea, you’d have to ask the CoreELEC dev team.