Browse Source

Merge pull request #696 from Susurrus/fix_647

Fix for #647
QGC4.4
Lorenz Meier 11 years ago
parent
commit
d222658ac0
  1. 12
      src/ui/QGCMAVLinkLogPlayer.cc

12
src/ui/QGCMAVLinkLogPlayer.cc

@ -572,10 +572,18 @@ void QGCMAVLinkLogPlayer::logLoop() @@ -572,10 +572,18 @@ void QGCMAVLinkLogPlayer::logLoop()
if (mavlinkLogFormat)
{
// Now parse MAVLink messages, grabbing their timestamps as we go. We stop once we
// have at least 3ms until the next one.
// have at least 3ms until the next one.
// We track what the next execution time should be in milliseconds, which we use to set
// the next timer interrupt.
int nextExecutionTime = 0;
// We use the `findNextMavlinkMessage()` function to scan ahead for MAVLink messages. This
// is necessary because we don't know how big each MAVLink message is until we finish parsing
// one, and since we only output arrays of bytes, we need to know the size of that array.
mavlink_message_t msg;
msg.len = 0; // FIXME: Hack, remove once Issue #647 is fixed
findNextMavlinkMessage(&msg);
while (nextExecutionTime < 3) {
// Now we're sitting at the start of a MAVLink message, so read it all into a byte array for feeding to our parser.

Loading…
Cancel
Save