From ef1627ce0697a30435a9db39ecb3f1a59ecfe3ab Mon Sep 17 00:00:00 2001 From: dheideman Date: Wed, 26 Jul 2017 12:15:50 -0700 Subject: [PATCH] Add input hold to sub firmware facts --- src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc | 6 ++++++ src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h | 4 ++++ src/Vehicle/SubmarineFact.json | 5 +++++ 3 files changed, 15 insertions(+) diff --git a/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc b/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc index 6fd9259..1e5dfa3 100644 --- a/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc +++ b/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc @@ -210,6 +210,8 @@ void ArduSubFirmwarePlugin::_handleNamedValueFloat(mavlink_message_t* message) _infoFactGroup.getFact("lights 2")->setRawValue(value.value * 100); } else if (name == "PilotGain") { _infoFactGroup.getFact("pilot gain")->setRawValue(value.value * 100); + } else if (name == "InputHold") { + _infoFactGroup.getFact("input hold")->setRawValue(value.value); } } @@ -236,6 +238,7 @@ const char* APMSubmarineFactGroup::_tetherTurnsFactName = "tether turns"; const char* APMSubmarineFactGroup::_lightsLevel1FactName = "lights 1"; const char* APMSubmarineFactGroup::_lightsLevel2FactName = "lights 2"; const char* APMSubmarineFactGroup::_pilotGainFactName = "pilot gain"; +const char* APMSubmarineFactGroup::_inputHoldFactName = "input hold"; APMSubmarineFactGroup::APMSubmarineFactGroup(QObject* parent) : FactGroup(300, ":/json/Vehicle/SubmarineFact.json", parent) @@ -244,12 +247,14 @@ APMSubmarineFactGroup::APMSubmarineFactGroup(QObject* parent) , _lightsLevel1Fact (0, _lightsLevel1FactName, FactMetaData::valueTypeDouble) , _lightsLevel2Fact (0, _lightsLevel2FactName, FactMetaData::valueTypeDouble) , _pilotGainFact (0, _pilotGainFactName, FactMetaData::valueTypeDouble) + , _inputHoldFact (0, _inputHoldFactName, FactMetaData::valueTypeDouble) { _addFact(&_camTiltFact, _camTiltFactName); _addFact(&_tetherTurnsFact, _tetherTurnsFactName); _addFact(&_lightsLevel1Fact, _lightsLevel1FactName); _addFact(&_lightsLevel2Fact, _lightsLevel2FactName); _addFact(&_pilotGainFact, _pilotGainFactName); + _addFact(&_inputHoldFact, _inputHoldFactName); // Start out as not available "--.--" _camTiltFact.setRawValue (std::numeric_limits::quiet_NaN()); @@ -257,6 +262,7 @@ APMSubmarineFactGroup::APMSubmarineFactGroup(QObject* parent) _lightsLevel1Fact.setRawValue (std::numeric_limits::quiet_NaN()); _lightsLevel2Fact.setRawValue (std::numeric_limits::quiet_NaN()); _pilotGainFact.setRawValue (std::numeric_limits::quiet_NaN()); + _inputHoldFact.setRawValue (std::numeric_limits::quiet_NaN()); } QString ArduSubFirmwarePlugin::vehicleImageOpaque(const Vehicle* vehicle) const diff --git a/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h b/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h index 7191a64..98eb620 100644 --- a/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h +++ b/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h @@ -40,18 +40,21 @@ public: Q_PROPERTY(Fact* lightsLevel1 READ lightsLevel1 CONSTANT) Q_PROPERTY(Fact* lightsLevel2 READ lightsLevel2 CONSTANT) Q_PROPERTY(Fact* pilotGain READ pilotGain CONSTANT) + Q_PROPERTY(Fact* inputHold READ inputHold CONSTANT) Fact* camTilt (void) { return &_camTiltFact; } Fact* tetherTurns (void) { return &_tetherTurnsFact; } Fact* lightsLevel1 (void) { return &_lightsLevel1Fact; } Fact* lightsLevel2 (void) { return &_lightsLevel2Fact; } Fact* pilotGain (void) { return &_pilotGainFact; } + Fact* inputHold (void) { return &_inputHoldFact; } static const char* _camTiltFactName; static const char* _tetherTurnsFactName; static const char* _lightsLevel1FactName; static const char* _lightsLevel2FactName; static const char* _pilotGainFactName; + static const char* _inputHoldFactName; static const char* _settingsGroup; @@ -61,6 +64,7 @@ private: Fact _lightsLevel1Fact; Fact _lightsLevel2Fact; Fact _pilotGainFact; + Fact _inputHoldFact; }; class APMSubMode : public APMCustomMode diff --git a/src/Vehicle/SubmarineFact.json b/src/Vehicle/SubmarineFact.json index a32ae63..19532a4 100644 --- a/src/Vehicle/SubmarineFact.json +++ b/src/Vehicle/SubmarineFact.json @@ -28,5 +28,10 @@ "shortDescription": "Pilot Gain", "type": "int16", "units": "%" +}, +{ + "name": "input hold", + "shortDescription": "Input Hold", + "type": "int16" } ]