|
|
@ -97,6 +97,7 @@ const char* Vehicle::_headingToHomeFactName = "headingToHome"; |
|
|
|
const char* Vehicle::_distanceToGCSFactName = "distanceToGCS"; |
|
|
|
const char* Vehicle::_distanceToGCSFactName = "distanceToGCS"; |
|
|
|
const char* Vehicle::_hobbsFactName = "hobbs"; |
|
|
|
const char* Vehicle::_hobbsFactName = "hobbs"; |
|
|
|
const char* Vehicle::_throttlePctFactName = "throttlePct"; |
|
|
|
const char* Vehicle::_throttlePctFactName = "throttlePct"; |
|
|
|
|
|
|
|
const char* Vehicle::_imuTempFactName = "imuTemp"; |
|
|
|
|
|
|
|
|
|
|
|
const char* Vehicle::_gpsFactGroupName = "gps"; |
|
|
|
const char* Vehicle::_gpsFactGroupName = "gps"; |
|
|
|
const char* Vehicle::_gps2FactGroupName = "gps2"; |
|
|
|
const char* Vehicle::_gps2FactGroupName = "gps2"; |
|
|
@ -159,6 +160,7 @@ Vehicle::Vehicle(LinkInterface* link, |
|
|
|
, _distanceToGCSFact (0, _distanceToGCSFactName, FactMetaData::valueTypeDouble) |
|
|
|
, _distanceToGCSFact (0, _distanceToGCSFactName, FactMetaData::valueTypeDouble) |
|
|
|
, _hobbsFact (0, _hobbsFactName, FactMetaData::valueTypeString) |
|
|
|
, _hobbsFact (0, _hobbsFactName, FactMetaData::valueTypeString) |
|
|
|
, _throttlePctFact (0, _throttlePctFactName, FactMetaData::valueTypeUint16) |
|
|
|
, _throttlePctFact (0, _throttlePctFactName, FactMetaData::valueTypeUint16) |
|
|
|
|
|
|
|
, _imuTempFact (0, _imuTempFactName, FactMetaData::valueTypeInt16) |
|
|
|
, _gpsFactGroup (this) |
|
|
|
, _gpsFactGroup (this) |
|
|
|
, _gps2FactGroup (this) |
|
|
|
, _gps2FactGroup (this) |
|
|
|
, _windFactGroup (this) |
|
|
|
, _windFactGroup (this) |
|
|
@ -315,6 +317,7 @@ Vehicle::Vehicle(MAV_AUTOPILOT firmwareType, |
|
|
|
, _distanceToGCSFact (0, _distanceToGCSFactName, FactMetaData::valueTypeDouble) |
|
|
|
, _distanceToGCSFact (0, _distanceToGCSFactName, FactMetaData::valueTypeDouble) |
|
|
|
, _hobbsFact (0, _hobbsFactName, FactMetaData::valueTypeString) |
|
|
|
, _hobbsFact (0, _hobbsFactName, FactMetaData::valueTypeString) |
|
|
|
, _throttlePctFact (0, _throttlePctFactName, FactMetaData::valueTypeUint16) |
|
|
|
, _throttlePctFact (0, _throttlePctFactName, FactMetaData::valueTypeUint16) |
|
|
|
|
|
|
|
, _imuTempFact (0, _imuTempFactName, FactMetaData::valueTypeInt16) |
|
|
|
, _gpsFactGroup (this) |
|
|
|
, _gpsFactGroup (this) |
|
|
|
, _gps2FactGroup (this) |
|
|
|
, _gps2FactGroup (this) |
|
|
|
, _windFactGroup (this) |
|
|
|
, _windFactGroup (this) |
|
|
@ -441,6 +444,7 @@ void Vehicle::_commonInit() |
|
|
|
_addFact(&_headingToHomeFact, _headingToHomeFactName); |
|
|
|
_addFact(&_headingToHomeFact, _headingToHomeFactName); |
|
|
|
_addFact(&_distanceToGCSFact, _distanceToGCSFactName); |
|
|
|
_addFact(&_distanceToGCSFact, _distanceToGCSFactName); |
|
|
|
_addFact(&_throttlePctFact, _throttlePctFactName); |
|
|
|
_addFact(&_throttlePctFact, _throttlePctFactName); |
|
|
|
|
|
|
|
_addFact(&_imuTempFact, _imuTempFactName); |
|
|
|
|
|
|
|
|
|
|
|
_hobbsFact.setRawValue(QVariant(QString("0000:00:00"))); |
|
|
|
_hobbsFact.setRawValue(QVariant(QString("0000:00:00"))); |
|
|
|
_addFact(&_hobbsFact, _hobbsFactName); |
|
|
|
_addFact(&_hobbsFact, _hobbsFactName); |
|
|
@ -694,7 +698,7 @@ void Vehicle::_mavlinkMessageReceived(LinkInterface* link, mavlink_message_t mes |
|
|
|
_handleSysStatus(message); |
|
|
|
_handleSysStatus(message); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case MAVLINK_MSG_ID_RAW_IMU: |
|
|
|
case MAVLINK_MSG_ID_RAW_IMU: |
|
|
|
emit mavlinkRawImu(message); |
|
|
|
_handleRawImuTemp(message); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case MAVLINK_MSG_ID_SCALED_IMU: |
|
|
|
case MAVLINK_MSG_ID_SCALED_IMU: |
|
|
|
emit mavlinkScaledImu1(message); |
|
|
|
emit mavlinkScaledImu1(message); |
|
|
@ -3802,6 +3806,17 @@ void Vehicle::_handleADSBVehicle(const mavlink_message_t& message) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void Vehicle::_handleRawImuTemp(mavlink_message_t& message) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
// This is used by compass calibration
|
|
|
|
|
|
|
|
emit mavlinkRawImu(message); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mavlink_raw_imu_t imuRaw; |
|
|
|
|
|
|
|
mavlink_msg_raw_imu_decode(&message, &imuRaw); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_imuTempFact.setRawValue(imuRaw.temperature == 0 ? 0 : imuRaw.temperature * 0.01); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void Vehicle::_updateDistanceHeadingToHome() |
|
|
|
void Vehicle::_updateDistanceHeadingToHome() |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (coordinate().isValid() && homePosition().isValid()) { |
|
|
|
if (coordinate().isValid() && homePosition().isValid()) { |
|
|
|