From 5fb93f4878ad7d2d363edc4fcb2b86379975ad68 Mon Sep 17 00:00:00 2001 From: Jacob Walser Date: Wed, 1 Mar 2017 16:34:24 -0500 Subject: [PATCH] Add support for PX4 Firmware git hash --- src/Vehicle/Vehicle.cc | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/Vehicle/Vehicle.cc b/src/Vehicle/Vehicle.cc index c2d265162..9c267d65a 100644 --- a/src/Vehicle/Vehicle.cc +++ b/src/Vehicle/Vehicle.cc @@ -675,7 +675,17 @@ void Vehicle::_handleAutopilotVersion(LinkInterface *link, mavlink_message_t& me // Git hash if (autopilotVersion.flight_custom_version[0] != 0) { - _gitHash = QString::fromUtf8((char*)autopilotVersion.flight_custom_version, 8); + // PX4 Firmware stores the first 16 characters of the git hash as binary, with the individual bytes in reverse order + if (px4Firmware()) { + _gitHash = ""; + QByteArray array((char*)autopilotVersion.flight_custom_version, 8); + for (int i = 7; i >= 0; i--) { + _gitHash.append(QString("%1").arg(autopilotVersion.flight_custom_version[i], 2, 16, QChar('0'))); + } + } else { + // APM Firmware stores the first 8 characters of the git hash as an ASCII character string + _gitHash = QString::fromUtf8((char*)autopilotVersion.flight_custom_version, 8); + } emit gitHashChanged(_gitHash); } } -- 2.22.0