Generating static output

I’m trying to put an image on my screen using PYNQ
Output is a TCL TV (HDMI input, says: HDMI-ARC next to the connector)
this TCL TV works nicely as a monitor on my MacBook and Windows Laptop

Board: PYNQ-Z1 - default images
I have no HDMI-Input don’t think I need one.

My python script in Jupiter notebook reads as follows:

import time
import numpy as np
import cv2
import random
from pynq.overlays.base import BaseOverlay
from pynq.lib.video import *
base = BaseOverlay(“base.bit”)
hdmi_out = base.video.hdmi_out
hdmi_out.configure(VideoMode(640,480,24),pixelformat=PIXEL_BGR)
hdmi_out.stop()
hdmi_out.start()
B=random.randint(0,255)
G=random.randint(0,255)
R=random.randint(0,255)
print(“R=%d,G=%d,B=%d” % (R,G,B))
newframe = hdmi_out.newframe() * 0 + [R,G,B]
newframe.coherent = True
print(“Write frame!”)
hdmi_out.writeframe(newframe)
print(“Wrote frame”)
time.sleep(10)
print(“Done”)
hdmi_out.stop()

When I click RUN

I am expecting a full screen of a RANDOM color (whatever the R/G/B works out to be)
Then about 10 seconds of screen time and the TV reverting to “no-signal”

What I see instead is:
A longish delay (5 to 10 seconds) during the bitstream BaseOverlay() call
Then I see in Jupiter notebook output like this:

R=241,G=186,B=237
Write frame!
Wrote frame
Done

The TV continues to show a black screen.

Occasionally, If I re-run it hangs in the “writeframe()” operation

as I understand, the output frame should repeat until a new frame is provided.

I’m sort of stuck