MSP DisplayPort

@timtuxworth Do you mind posting your set up with the H743. In particular, the physical UART the VTX is connected to and posting your parameters. Any special settings in the goggles or VTX?

I think I cover it all in this video: https://youtu.be/d1N1Y53Ugmc - oh this is on a Durandal, but I have the same VTX working with the Zealot H743. I’ll note any differences a little later today.

Oh basic question, we’ve all been concentrating on the low level details, but you have set OSD1_ENABLE = 1?

@yaapu I was able to quickly build a cable for my old analog FPV system. Using the OSD chip built into the Zealot H743 worked. I got the OSD to show on my analog goggles. So what does that tell you? I’m guessing that means that the OSD feature was built into the firmware?

Yes OSD1_ENABLE was set to 1 when I used it with the Digital HD goggles.

The only difference with the Zealot H743 setup is the port I used for the VTX. I’m running it off SERIAL3 (labeled Uart3 on the AP aka the GPS1 port). I have a CAN GPS so this port is free.

SERIAL3_PROTOCOL = 42
SERIAL3_BAUD = 115
OSD_TYPE = 5
OSD_OPTIONS = 1 (default)
OSD1_ENABLE = 1
MSP_OPTIONS = 0

@yaapu @timtuxworth

I have now tried the following FC/UARTs for MSP Displayport and none worked
CUAV V5 - 4.5-dev UART 3, 4 & GPS
Qiotek Zealot F427 UART 2, 3, &4
Qiotek Zealot H743 UART 1, 2, 3, & 4

The only one that works is the Qiotek Adept F407 and I tried that on UART 1 and 2. The weird thing with this setup was that when I tried to change the OSD1_TXT_RES to 1, it didn’t change the layout of the text on the display. Could this be an issue with the VTX after all? @yaapu do you think that is possible. I can’t imagine that the protocol changes between FCs.

Could this be a voltage issue on the UART? I did most of the tests using the FC connected to my computer USB but it worked with that configuration for the Adept F407. I used flight battery power on my last test with the CUAV v5 and it did not work.

I don’t want to keep this air unit and realize that it is faulty after the 30 day return policy expires. The safer bet would be to return it and if I have the same issue with the next one then I know it isn’t the VTX.

unfortunately the protocol CAN change between VTXs, the resolution stuff is a quite recent addon and a vendor might just not support it and always output at a fixed resolution

yes, this could make sense if you do not have another VTX (different brand/model) to validate your setup. You could alse use a logic analyzer and capture the serial port output, displayport is a “push” protocol so even a terminal app setup for 115k bauds should tell you if anything is coming out of the displayport uart at all.

You really shouldn’t be powering the VTX from the FC. I run the power for my HD-Zero VTX from a separate BEC or direct from the battery depending on it’s power needs. I’m not sure if this could cause your problem, but something you should probably change in any case.

I’m not powering the VTX through the FC. Separate 3s battery is used to power the VTX. Just saying that the quality of the voltage signal on the UART could affect the communication. Asking if powering the FC through the computer vs the flight battery could affect the UART comm quality.

Do you have a common ground? I’m not an expert at this but it strikes me that if the FC is running from the computer but the VTX is running off an independent battery there might be an issue with that. Can anyone else help with that?

Not between the power sources. There is a ground wire across the UART that they share.

@timtuxworth What website did you use to download the VTX firmware? What was the version of the VTX firmware that you used?

@yaapu Spoke with tech support at GetFPV and he did offer to exchange it if I wanted. Before I do though, I wanted to verify that there was data being transmitted across the UART. I don’t have a logic analyzer but I do have a FTDI FT232R which from what I’ve been reading can be used to send/receive data to/from a UART. I was going to do this from a powershell on my windows 11 laptop. However I was wondering if I could do this through WSL2 using python? However I am not that savvy with python. What might be the best way to check the UART data?

Edit:
So I was able to confirm with the FTDI that data is coming out of the UART port on the Zealot H743 and it is not being displayed by the VTX to the goggles. I was not able to capture it in binary mode but ascii version of the output pretty clearly confirms that it is telem data. Attached is the text output that was captured using powershell with the FTDI FT232R.
ZealotH743_Displayport_output_over_UART.txt (153.9 KB)

yeah, it looks like it’s working, can’t tell if any “key” frames are missing tough, for instance if for some reason the “screen redraw” command is lost the vtx would never draw the screen but at least you have some output

Do you have any code that would collect the binary output?

I spoke with Tridge about this issue. He confirmed all of what I’ve been doing thus far. Recommended that I set all of the other serial ports, except serial0, to -1 and just have the serial port that I’m running display port with the settings for display port. I did that and it confirmed that I have the correct serial port. He also mentioned something about the current on the 3.3 volt lines not being sufficient to support good quality serial communications. He said that I would need a digital analyzer to determine that but I don’t own one.

@andyp1per Tridge pointed out that you may be able to help with trouble shooting this issue. The short summary is that I can’t get display port to work on 3 out of 4 FC’s that I own. Trying to trouble shoot why. could you read through the thread and see if you have any ideas.

@bnsgeyer I just set this up with the walksnail VTX you are using on a MatekH743 Slim and it worked just fine. There is some setup (I think) you have to do on the VTX itself as display port is not the default. Did you do this setup? The OSD settings on the flight controller should be as everyone else describes - 5/42.

I updated the firmware on mine to the latest

@andyp1per it was the qiotek zealot H743 not the. Matek H743. I didn’t read anything about required setup in the goggles. For the qiotek adept F407, it worked as soon as I made the changes to the parameters on the flight controller.

I have a Zealot, but its going to be hard to try since my Walksnail is now mounted.

@andyp1per @yaapu I was able to capture binary data coming off of the UART for both the Zealot F427 running latest Dev version and Zealot F407 running the version supplied by the manufacturer because it is a new board. I think it was version 4.3.4. The F407 board works with the walksnail and the F427 does not.
test_F407.bin (200.0 KB)
test_F427.bin (200.0 KB)

Hopefully this is helpful. I don’t know what I am looking at or how to decode the displayport binary data.

Hi Bill, what format is the binary data in?

Hi, you captured it without the VTX connected right, so we should expect plain displayport and no telemetry polling/responses?