(Developers) Getting started with the MP codebase? Control messages

Hi everyone,

I’d like to modify MP to send out controller values on a pub-sub bus called DDS. Got the source code and I am experienced, but having trouble understanding where to begin.

Looks like there’s some facility for CAN bus traffic, which is also interesting to us.

I can compile and run fine, just curious if someone could point me to this area in the code.

Best regards, and thanks,
Dan

Instead of modifying the MP code, I would go for a plugin.
Plugins are running in a separated thread, and called a predetermined intervals. It gets all controller values via the Host.cs object, or it can subscribe to a Mavlink_received event to get all incoming mavlink packets if needed. Take a look at https://github.com/ArduPilot/MissionPlanner/blob/master/ExtLibs/MissionPlanner.Stats/StatsPlugin.cs for ideas.

Thank you so much! This is very helpful.

I’ve successfully started MP with a joystick and am controlling a simulated vehicle on-screen. I’ve found the ‘status’ tab which seems to display all the variables the plug-in can get from the plug-in host object in c# using the Host.cs (CurrentState) object in its callback Loop.

However, after testing out the controller, I don’t seem to see any values that correspond to control inputs. Am I wrong here? Do you know what values on the CurrentState object correspond to controller inputs?

Best regards,
Dan