I'm putting this here since I'm unclear where this question would belong.
I want to build a ground station around a Raspberry Pi that can display basic telemetry.
Initially at least, I want to read only a minimal set of attributes, essentially what comes in the VFR_HUD, ATTITUDE and GLOBAL_POSITION_INT messages.
I understand that the MAVLINK data looks similar to what I find in a .tlog file. I think I understand MAVLINK message structure. I can parse these files enough to understand the basic structure of the protocol. I have a generator to construct packet types from the XML specifications.
What I'm missing is an understanding on the higher-level (session-level) protocol. Is there a message the ground station needs to send to APM to initiate a session? What does it need to tell APM? I'm entirely unclear on where I can find documentation that describes all this. I appreciate your pointers.
Ari.
Replies
So now I'm reading MALINK from APM, and I'm parsing out the telemetry, and the CRCs I calculate match what's coming though the serial (wow the extra CRC nonsense). Thank you for your pointers guys!
Now I want to drive my UAV from the ground station. I send RC_CHANNELS_OVERRIDE, but see no visible effect from that. I wonder if I need to say a special please (like, "I'm going to start sending you rc override commands now") or if I'm expecting some type of ACK or NACK from APM.
Ari.
Simply connect, listen for heartbeat messages which APM always sends and request your needed info with msg_request_data_stream packet - MAV_DATA_STREAM_ALL 0x00 will give you all.