diff --git a/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc b/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc index f4d5ff3136b4ad2a9261affe8b2688f7509b3965..9ccccca963208b63a1bb8d8ca8814eae0522ec18 100644 --- a/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc +++ b/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc @@ -173,6 +173,8 @@ void ArduSubFirmwarePlugin::_handleNamedValueFloat(mavlink_message_t* message) fwFactGroup->getFact("lights 1")->setRawValue(value.value * 100); } else if (name == "Lights2") { fwFactGroup->getFact("lights 2")->setRawValue(value.value * 100); + } else if (name == "PilotGain") { + fwFactGroup->getFact("pilot gain")->setRawValue(value.value * 100); } } @@ -194,6 +196,7 @@ const char* APMSubmarineFactGroup::_camTiltFactName = "camera tilt"; const char* APMSubmarineFactGroup::_tetherTurnsFactName = "tether turns"; const char* APMSubmarineFactGroup::_lightsLevel1FactName = "lights 1"; const char* APMSubmarineFactGroup::_lightsLevel2FactName = "lights 2"; +const char* APMSubmarineFactGroup::_pilotGainFactName = "pilot gain"; APMSubmarineFactGroup::APMSubmarineFactGroup(QObject* parent) : FactGroup(300, ":/json/Vehicle/SubmarineFact.json", parent) @@ -201,15 +204,18 @@ APMSubmarineFactGroup::APMSubmarineFactGroup(QObject* parent) , _tetherTurnsFact (0, _tetherTurnsFactName, FactMetaData::valueTypeDouble) , _lightsLevel1Fact (0, _lightsLevel1FactName, FactMetaData::valueTypeDouble) , _lightsLevel2Fact (0, _lightsLevel2FactName, FactMetaData::valueTypeDouble) + , _pilotGainFact (0, _pilotGainFactName, FactMetaData::valueTypeDouble) { _addFact(&_camTiltFact, _camTiltFactName); _addFact(&_tetherTurnsFact, _tetherTurnsFactName); _addFact(&_lightsLevel1Fact, _lightsLevel1FactName); _addFact(&_lightsLevel2Fact, _lightsLevel2FactName); + _addFact(&_pilotGainFact, _pilotGainFactName); // Start out as not available "--.--" _camTiltFact.setRawValue (std::numeric_limits::quiet_NaN()); _tetherTurnsFact.setRawValue (std::numeric_limits::quiet_NaN()); _lightsLevel1Fact.setRawValue (std::numeric_limits::quiet_NaN()); _lightsLevel2Fact.setRawValue (std::numeric_limits::quiet_NaN()); + _pilotGainFact.setRawValue (std::numeric_limits::quiet_NaN()); } diff --git a/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h b/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h index bf463aef7deadb0cd48022e5ddb06a354aed979f..87af47c28d0b3752b4c6b5ad5f4576f716b218fe 100644 --- a/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h +++ b/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h @@ -110,16 +110,19 @@ public: Q_PROPERTY(Fact* tetherTurns READ tetherTurns CONSTANT) Q_PROPERTY(Fact* lightsLevel1 READ lightsLevel1 CONSTANT) Q_PROPERTY(Fact* lightsLevel2 READ lightsLevel2 CONSTANT) + Q_PROPERTY(Fact* pilotGain READ pilotGain 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; } static const char* _camTiltFactName; static const char* _tetherTurnsFactName; static const char* _lightsLevel1FactName; static const char* _lightsLevel2FactName; + static const char* _pilotGainFactName; static const char* _settingsGroup; @@ -128,5 +131,6 @@ private: Fact _tetherTurnsFact; Fact _lightsLevel1Fact; Fact _lightsLevel2Fact; + Fact _pilotGainFact; }; #endif diff --git a/src/Vehicle/SubmarineFact.json b/src/Vehicle/SubmarineFact.json index 2a126643ee9e7e3b5059f453f1f2f7076a12c593..a32ae63d0a54a20eaa70c169d9e031672eec4e59 100644 --- a/src/Vehicle/SubmarineFact.json +++ b/src/Vehicle/SubmarineFact.json @@ -22,5 +22,11 @@ "shortDescription": "Lights 2 level", "type": "int16", "units": "%" +}, +{ + "name": "pilot gain", + "shortDescription": "Pilot Gain", + "type": "int16", + "units": "%" } ]