Foxeer reaper infinity(5w vtx) unable to control tx power

I have built a 13 inch “long range” quad and I’m using matekh743 slim and foxeer reaper infinity vtx. I believe I have set the correct parameters in mp because when i set vtx_max_pwr to 800, it could control the vtx to output at 800mw, but when I raise the maximum to 5000, osd shows it only output at 0mw and 25mw. I dothave a rf meter so I don’t know the real output from vtx.

Post your parameters

Hi andy, heres my parameter file.

I could manually set the output power of my vtx by pressing the button on it, and based on the temperature of my vtx, I can say it’s probably running at 5w but osd only shows 1000 when it does. And when I try to control the output power with rc channel, it only goes from 0 to 25 and not any higher. I am using the six button channel on my tx16s.
Vtx manual says it has 6 different settings: PIT/25/500/1500/3000/5000

If VTX_FREQ is 0 it means your flight controller isn’t communicating with the VTX. You need to have the half-duplex bit set in your serial config. Also have you connected the VTX RX pin to the TX pin of your uart?

Yes I have connected them. And I enabled half duplex, it now shows frenquency in the parameter page and message tab. But it still wont show 5000 when I set it to (from the parameter page). Using rc channel I could only set it to 400 and the VTX_PWR always reset itself back to 1000
Edit: forgot to refresh parameters, vtx_freq and vtx_band/vtx_chennel did show up. And vtx_power did reset itself.



Ok now the message and parameter shows its at 5000 but osd show 25mw. VTX light shows 25mw. VTX band chennel and frequency can be set by parameter page but power seems not working.

Hello Andy!
I have the same problem, but I integrated custom values in VTX table, can you help with understand with logic { level, mw, dbm, dac}

What VTX do you have? I really should get some examples so that I can debug more

I found the problem.
It has to do with a specific implementation of the IRCTramp protocol on the VTX.
Thanks for your time!

Hello, Andy!
As my story continues, I have another question :sweat_smile:

In AP_Tramp.cpp:

send_command(‘P’, vtx.get_configured_power_mw());

But why did we create the VTX(AP_VideoTX::PowerLevel AP_VideoTX::_power_levels[VTX_MAX_POWER_LEVELS]) table if we don’t use the other values from { level, mw, dbm, dac} to configure via IRCTramp?

Foxeer have sent me two of these so I should be able to test in the coming weeks

I have a fix for this if anyone is willing to try it

I could have checked it out

Do you need me to do you a build?

Glad to see updates for Tramp protocol, hope it will be merged in upcoming release :+1:
And I don’t need my branch any more :smile: