Pynq VIDEO HDMI tutorial fails on hdmi_in.configure()

Hello,

I’m following this “official” Pynq VIDEO HDMI tutorial:

Video — Python productivity for Zynq (Pynq)

but it fails in the following way after few steps on hdmi_in.configure()

xilinx@pynq:~$ sudo python3
[sudo] password for xilinx:
Python 3.6.5 (default, Apr 1 2018, 05:46:30)
[GCC 7.3.0] on linux
Type “help”, “copyright”, “credits” or “license” for more information.

from pynq import Overlay
from pynq.lib.video import *
base = Overlay(‘base.bit’)
hdmi_in = base.video.hdmi_in
hdmi_out = base.video.hdmi_out
hdmi_in.configure()
Traceback (most recent call last):
File “”, line 1, in
File “/home/xilinx/pynq/lib/video/hierarchies.py”, line 108, in configure
self._hdmi.start()
File “/home/xilinx/pynq/lib/video/xilinx_hdmi.py”, line 288, in start
self.set_hpd(1)
File “/home/xilinx/pynq/lib/video/xilinx_hdmi.py”, line 351, in set_hpd
_hdmi_lib.HdmiRx_set_hpd(self.handle, value)
TypeError: initializer for ctype ‘void *’ must be a cdata pointer, not NoneType

Does this happen to somebody else?
Thanks

Is this on a ZCU104 board by any chance?

It looks like we haven’t updated the documentation to account for the changes for the ZCU104 and PYNQ-Z1/2 boards. For the ZCU104 you need to

from pynq.overlays.base import BaseOverlay
...
base = BaseOverlay('base.bit')

As the video subsystem on that board needs some additional setting up which is performed by the BaseOverlay class.

Peter

Hello Peter,

yes is a ZCU104 and sorry for forgetting to mention it.

I tried, now I face no errors but it hangs forever on hdmi_in.configure() with no error messages. Tried multiple times.

Here my updated steps:

xilinx@pynq:~$ sudo python3
[sudo] password for xilinx:
Python 3.6.5 (default, Apr 1 2018, 05:46:30)
[GCC 7.3.0] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
from pynq.overlays.base import BaseOverlay
from pynq.lib.video import *
base = BaseOverlay(‘base.bit’)

Successfully loaded edid.
hdmi_in = base.video.hdmi_in
hdmi_out = base.video.hdmi_out

hdmi_in.configure()

hdmi_in.configure() will wait for the input signal to be present and stable before returning.

What source are you using for the video input?

Peter

OK, thanks.

I connected a PC as input and it stepped over. I was making some tries and I wrongly supposed that the real input was not yet needed at that point, but only from the following .start method.

Stefano

Hello Peter,

Thank you for your reply, but can you provide BaseOverlay.py related to ZCU106? At present, the problem of “RuntimeError(“Could not find SI5324”)” is encountered on the init SI_5324C clock.

Chong-Wei