Settings SYSID_THISMAV doesn't change srcSystem in messages

Hi! I’m trying to do a multi-copter simulation. I’ve got much of it working but want to visualize the different instances by having each output a stream to Mission Planner. Before it gets to Mission Planner I’m forwarding the various streams to a python script which outputs all messages out on the same port which MP listens on.

Each SITL instance has it’s own SYSID_THISMAV set to something unique, at least according to dronekit (1,2,3…). However, in Mission Planner it only renders one copter with ‘1’ written over it at a time, flashing back and forth between two copters in different positions.

I believe this has to do with the system ID somehow. Further evidence is that I can manually receive the mavlink messages from a system where SYSID has been set to say 20 from 1 (given in the default parameters file), and the message.get_srcSystem() header field remains 1 even after changing SYSID_THISMAV, so I can see why ArduCopter is might be getting confused. Is the header field for srcSystems not the same as the SYSID_THISMAV parameter? I can reproduce this with a pymavlink connection reading out the srcSystem field of messages passed form a mavproxy ground station to a ArduCopter instance.

Further, the srcSystem in the mavlink message header changes if I change the SYSID_THISMAV in the default_params file… I may change this a little later in execution and suspect I can get the visualization to work if I can force the srcSystem to update!


Each SITL instance has it’s own SYSID_THISMAV set to something unique, at

Are you rebooting the SITL instance after setting this variable? It is
required to have effect on Copter.

Ahh great - this should be in the docs! That requirement doesn’t appear to be listed somewhere I can find (logical place might be ?)