Starting simulation with
sim_vehicle.py -w, I then send
long SET_MESSAGE_INTERVAL 33 10000 1 in the console and receive
Got COMMAND_ACK: SET_MESSAGE_INTERVAL: ACCEPTED.
It can also be reproduced by selecting Telemetry Stream Rates in QGroundControl.
I can see in MAVlink inspector the rate change to 100Hz, but after couple seconds, it falls back to the default 4Hz. This time interval is not constant, sometimes it takes 5 seconds, sometimes 10 seconds…
The frequency that is requested also is not a factor, it behaves the same when I request 10Hz.
The version of Arducopter is 4.1.0dev.
To confirm this is not intended behavior, I checked it on Cube Orange (Arducopter 4.0.7), which held the requested frequency no problem.