From 1b29384e1910af9d8941644bde507b22f099f2ff Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Wed, 23 Nov 2016 16:38:49 -0800 Subject: [PATCH] RallyPoint support should be optional --- src/FirmwarePlugin/APM/APMRallyPointManager.cc | 9 +++++++-- src/FirmwarePlugin/APM/APMRallyPointManager.h | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/FirmwarePlugin/APM/APMRallyPointManager.cc b/src/FirmwarePlugin/APM/APMRallyPointManager.cc index 76eb2a876..f25aaf3cc 100644 --- a/src/FirmwarePlugin/APM/APMRallyPointManager.cc +++ b/src/FirmwarePlugin/APM/APMRallyPointManager.cc @@ -31,7 +31,7 @@ APMRallyPointManager::~APMRallyPointManager() void APMRallyPointManager::sendToVehicle(const QList& rgPoints) { - if (_vehicle->isOfflineEditingVehicle()) { + if (_vehicle->isOfflineEditingVehicle() || !rallyPointsSupported()) { return; } @@ -53,7 +53,7 @@ void APMRallyPointManager::sendToVehicle(const QList& rgPoints) void APMRallyPointManager::loadFromVehicle(void) { - if (_vehicle->isOfflineEditingVehicle() || _readTransactionInProgress) { + if (_vehicle->isOfflineEditingVehicle() || !rallyPointsSupported() || _readTransactionInProgress) { return; } @@ -144,3 +144,8 @@ bool APMRallyPointManager::inProgress(void) const { return _readTransactionInProgress || _writeTransactionInProgress; } + +bool APMRallyPointManager::rallyPointsSupported(void) const +{ + return _vehicle->parameterManager()->parameterExists(_vehicle->defaultComponentId(), _rallyTotalParam); +} diff --git a/src/FirmwarePlugin/APM/APMRallyPointManager.h b/src/FirmwarePlugin/APM/APMRallyPointManager.h index 80dc758c4..4a5ac2067 100644 --- a/src/FirmwarePlugin/APM/APMRallyPointManager.h +++ b/src/FirmwarePlugin/APM/APMRallyPointManager.h @@ -25,7 +25,7 @@ public: bool inProgress (void) const final; void loadFromVehicle (void) final; void sendToVehicle (const QList& rgPoints) final; - bool rallyPointsSupported (void) const final { return true; } + bool rallyPointsSupported (void) const final; QString editorQml(void) const final { return QStringLiteral("qrc:/FirmwarePlugin/APM/APMRallyPointEditor.qml"); } -- 2.22.0