Xpdr_maint_req seems to be asserting itself

Hi all, I’m running Arduplane 4.2.0 on a Cube Orange. I have a uAvionix Ping200X transponder connected to COM 4 (GPS 2). The serial connection is working, I am able to control the transponder from the Transponder tab in Mission Planner.

I’m getting some unexpected behaviour in the interplay between the Ping200X and Mission Planner. As soon as Mission Planner connects, the “Maintenance Required” flag asserts. So far as I can tell, this corresponds to the variable xpdr_maint_req.

For info: the Ping200X itself does not assert this flag when connected to its own config & control software on a PC. It only asserts when it connects to the Cube Orange as seen in the Mission Planner Transponder tab.

The documentation is a little thin on this specific functionality. Can anyone please help me understand what might cause xpdr_maint_req to assert? Firstly, can Ardupilot or Mission Planner assert this itself, or does it purely reflect an input from the Transponder? Secondly, if A, what does Ardupilot/Mission Planner look at when deciding to assert? Or if B, what sort of data might Ardupilot/Mission Planner be sending to the transponder that might cause it to assert?

Possibly relevant: the uAvionix Ping200X will assert “Maintenance Required” under either of two specific conditions:

  1. It does not have an ICAO 24-bit address,
  2. It has multiple position sources and is not correctly configured to prioritise them.

With that background, could Ardupilot/Mission Planner be messing with the ICAO code? Could Ardupilot/Mission Planner be trying to act as a position source to the Ping200X transponder?

Thanks very much in advance for all help.