Short question about MAVLink

Hello there!

I would like to add an additional sensor (that doesn't suppose to be used by autopilot) to my Pixhawk and add it to MAVLink protocol, so I need to study out the code and principles first. 

So my question regarding THIS instruction Step #3. Do I have to change ardupilotmega.xml or pixhawk.xml in case I have last-mentioned board? And what is actually the difference between changing common.xml "If this command will hopefully be added to the MAVLink protocol.." or "..only for your personal use or only for use with Ardupilot.." ardupilotmega.xml ? Doesn't changing of ardupilotmega.xml already imply adding to the MAVLink protocol?

And the second question is about using Linux, as I understood we need it only for utilizing Step #5 - "run this command:./libraries/GCS_MAVLink/generate.sh"So maybe there is a way to avoid using Linux, 'cause for a person who never worked with it wastes a lot of time, likewise switching all the time between OSes?

Thank you in advance! 

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

  • So I found out the answers by myself and I will write them in case somebody have the same questions.

    So my question regarding this http://dev.ardupilot.com/wiki/code-overview-adding-a-new-mavlink-me...instruction Step #3. Do I have to change ardupilotmega.xml or pixhawk.xml in case I have last-mentioned board? And what is actually the difference between changing common.xml "If this command will hopefully be added to the MAVLink protocol.." or "..only for your personal use or only for use with Ardupilot.." ardupilotmega.xml ? Doesn't changing of ardupilotmega.xml already imply adding to the MAVLink protocol?


    In Step #4 it is said, that
    first cd to the ardupilot directory and then run this command: ./libraries/GCS_MAVLink/generate.sh
    by that you create from *.XML file a MAVLink lib that maintain data flow between UAV-GCS. For instance in ..GitHub\ardupilot\libraries\GCS_MAVLink\include\mavlink\v1.0 there are 2 folders Ardupilotmega and Common that are made from ardupilotmega.xml and common.xml. There are six others header files (checksum.h,protocol.h etc) as well in v1.0 folder, but they don't change.
    So the answer is - Ilia, you should use ardupilotmega.xml if you have arduplane firmware, and pixhawk.xml if you have an original pixhawk one. 
    maybe there is a way to avoid using Linux, 'cause for a person who never worked with it wastes a lot of time, likewise switching all the time between OSes?

    Unfortunately all my attempts using Cmaker didn't work, so I just ran Linux, generated that files and returned back to my precious windows with required folder=)

    P.S. I followed mostly instructions described here http://www.qgroundcontrol.org/dev/start
This reply was deleted.