|
|
|
@ -220,6 +220,14 @@ void ArduSubFirmwarePlugin::_handleMavlinkMessage(mavlink_message_t* message)
@@ -220,6 +220,14 @@ void ArduSubFirmwarePlugin::_handleMavlinkMessage(mavlink_message_t* message)
|
|
|
|
|
switch (message->msgid) { |
|
|
|
|
case (MAVLINK_MSG_ID_NAMED_VALUE_FLOAT): |
|
|
|
|
_handleNamedValueFloat(message); |
|
|
|
|
break; |
|
|
|
|
case (MAVLINK_MSG_ID_RANGEFINDER): |
|
|
|
|
{ |
|
|
|
|
mavlink_rangefinder_t msg; |
|
|
|
|
mavlink_msg_rangefinder_decode(message, &msg); |
|
|
|
|
_infoFactGroup.getFact("rangefinder distance")->setRawValue(msg.distance); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -233,36 +241,41 @@ QMap<QString, FactGroup*>* ArduSubFirmwarePlugin::factGroups(void) {
@@ -233,36 +241,41 @@ QMap<QString, FactGroup*>* ArduSubFirmwarePlugin::factGroups(void) {
|
|
|
|
|
return &_nameToFactGroupMap; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
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"; |
|
|
|
|
const char* APMSubmarineFactGroup::_inputHoldFactName = "input hold"; |
|
|
|
|
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"; |
|
|
|
|
const char* APMSubmarineFactGroup::_inputHoldFactName = "input hold"; |
|
|
|
|
const char* APMSubmarineFactGroup::_rangefinderDistanceFactName = "rangefinder distance"; |
|
|
|
|
|
|
|
|
|
APMSubmarineFactGroup::APMSubmarineFactGroup(QObject* parent) |
|
|
|
|
: FactGroup(300, ":/json/Vehicle/SubmarineFact.json", parent) |
|
|
|
|
, _camTiltFact (0, _camTiltFactName, FactMetaData::valueTypeDouble) |
|
|
|
|
, _tetherTurnsFact (0, _tetherTurnsFactName, FactMetaData::valueTypeDouble) |
|
|
|
|
, _lightsLevel1Fact (0, _lightsLevel1FactName, FactMetaData::valueTypeDouble) |
|
|
|
|
, _lightsLevel2Fact (0, _lightsLevel2FactName, FactMetaData::valueTypeDouble) |
|
|
|
|
, _pilotGainFact (0, _pilotGainFactName, FactMetaData::valueTypeDouble) |
|
|
|
|
, _inputHoldFact (0, _inputHoldFactName, FactMetaData::valueTypeDouble) |
|
|
|
|
, _camTiltFact (0, _camTiltFactName, FactMetaData::valueTypeDouble) |
|
|
|
|
, _tetherTurnsFact (0, _tetherTurnsFactName, FactMetaData::valueTypeDouble) |
|
|
|
|
, _lightsLevel1Fact (0, _lightsLevel1FactName, FactMetaData::valueTypeDouble) |
|
|
|
|
, _lightsLevel2Fact (0, _lightsLevel2FactName, FactMetaData::valueTypeDouble) |
|
|
|
|
, _pilotGainFact (0, _pilotGainFactName, FactMetaData::valueTypeDouble) |
|
|
|
|
, _inputHoldFact (0, _inputHoldFactName, FactMetaData::valueTypeDouble) |
|
|
|
|
, _rangefinderDistanceFact (0, _rangefinderDistanceFactName, FactMetaData::valueTypeDouble) |
|
|
|
|
{ |
|
|
|
|
_addFact(&_camTiltFact, _camTiltFactName); |
|
|
|
|
_addFact(&_tetherTurnsFact, _tetherTurnsFactName); |
|
|
|
|
_addFact(&_lightsLevel1Fact, _lightsLevel1FactName); |
|
|
|
|
_addFact(&_lightsLevel2Fact, _lightsLevel2FactName); |
|
|
|
|
_addFact(&_pilotGainFact, _pilotGainFactName); |
|
|
|
|
_addFact(&_inputHoldFact, _inputHoldFactName); |
|
|
|
|
_addFact(&_camTiltFact, _camTiltFactName); |
|
|
|
|
_addFact(&_tetherTurnsFact, _tetherTurnsFactName); |
|
|
|
|
_addFact(&_lightsLevel1Fact, _lightsLevel1FactName); |
|
|
|
|
_addFact(&_lightsLevel2Fact, _lightsLevel2FactName); |
|
|
|
|
_addFact(&_pilotGainFact, _pilotGainFactName); |
|
|
|
|
_addFact(&_inputHoldFact, _inputHoldFactName); |
|
|
|
|
_addFact(&_rangefinderDistanceFact, _rangefinderDistanceFactName); |
|
|
|
|
|
|
|
|
|
// Start out as not available "--.--"
|
|
|
|
|
_camTiltFact.setRawValue (std::numeric_limits<float>::quiet_NaN()); |
|
|
|
|
_tetherTurnsFact.setRawValue (std::numeric_limits<float>::quiet_NaN()); |
|
|
|
|
_lightsLevel1Fact.setRawValue (std::numeric_limits<float>::quiet_NaN()); |
|
|
|
|
_lightsLevel2Fact.setRawValue (std::numeric_limits<float>::quiet_NaN()); |
|
|
|
|
_pilotGainFact.setRawValue (std::numeric_limits<float>::quiet_NaN()); |
|
|
|
|
_inputHoldFact.setRawValue (std::numeric_limits<float>::quiet_NaN()); |
|
|
|
|
_camTiltFact.setRawValue (std::numeric_limits<float>::quiet_NaN()); |
|
|
|
|
_tetherTurnsFact.setRawValue (std::numeric_limits<float>::quiet_NaN()); |
|
|
|
|
_lightsLevel1Fact.setRawValue (std::numeric_limits<float>::quiet_NaN()); |
|
|
|
|
_lightsLevel2Fact.setRawValue (std::numeric_limits<float>::quiet_NaN()); |
|
|
|
|
_pilotGainFact.setRawValue (std::numeric_limits<float>::quiet_NaN()); |
|
|
|
|
_inputHoldFact.setRawValue (std::numeric_limits<float>::quiet_NaN()); |
|
|
|
|
_rangefinderDistanceFact.setRawValue (std::numeric_limits<float>::quiet_NaN()); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
QString ArduSubFirmwarePlugin::vehicleImageOpaque(const Vehicle* vehicle) const |
|
|
|
|