How to set data rate of GLOBAL_POSITION_INT

Hi,

When requesting GLOBAL_POSITION_INT through MAVPROXY, the data rate is very slow. For example, GLOBAL_POSITION_INT only updates every 10 seconds.

How can I speed up this rate to at least once every second?

I tried to use MAV_CMD_SET_MESSAGE_INTERVAL (Messages (common) · MAVLink Developer Guide), but it does not seem to work.

Thanks!

Hi @Imozeb! MAV_CMD_SET_MESSAGE_INTERVAL works indeed! Send what are the values you are setting for the param!

Try running it again with mavlink message ID 33 and interval at 1e6/30 for 30hz rate. It’s working for me

After more testing, it seems like a message backlog issue. Does “recv_match” output the most recent message or does MAVPROXY store a backlog of messages? I’d like the most recent message to be displayed.

PYTHON CODE:
while 1:
ardupilotResponse = mavConnection.recv_match(type = ‘GLOBAL_POSITION_INT’, blocking = True, timeout = 3)
print(ardupilotResponse)

The lat/long stays at a fixed value for about 10 messages and then starts updating normally.