Cannot find Heartbeat Protocol in Github Repo

Hi!

I am currently doing an investigative research paper on adding authentication into the heartbeat protocol for MAVLink. I have been looking through the open source code on Github, but I am not able to find where this protocol is actually established. There is also not much listed on in on the mavlink.io website. Would anyone be able to provide some assistance with this? Thank you!

What do you mean exactly? You’re looking for some sort of handshake? If so, that’s not what it does. It’s pretty stateless and just discovers a counter part when it receives a heartbeat.

She is not asking about the physical location of the heartbeat authentication protocol, it’s about the specific part of the code where the heartbeat signal is transmitted so that she can create some authentication process for it. The header file is accessible at this link:. However, it doesn’t include detailed explanations about the functionality of the different function calls mentioned in the program.

Ok, so is this about authenticating MAVLink in general, or heartbeats in specific? Just note that it will be hard to impossible to change a fundamental message like the heartbeat but that doesn’t mean you could add other messages/meta protocols to do authentication.

I assume you’re aware of signing support in MAVLink: Message Signing · MAVLink Developer Guide?

And then trying to address your question @adriel1029, the way it works is that most of the C headers are generated using mavgen.py, and some templates.

Have a look here:
https://mavlink.io/en/getting_started/generate_libraries.html