You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
5.3 KiB
92 lines
5.3 KiB
/**************************************************************************** |
|
* |
|
* (c) 2009-2020 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org> |
|
* |
|
* QGroundControl is licensed according to the terms in the file |
|
* COPYING.md in the root of the source code directory. |
|
* |
|
****************************************************************************/ |
|
|
|
#include "VehicleEscStatusFactGroup.h" |
|
#include "Vehicle.h" |
|
|
|
const char* VehicleEscStatusFactGroup::_indexFactName = "index"; |
|
|
|
const char* VehicleEscStatusFactGroup::_rpmFirstFactName = "rpm1"; |
|
const char* VehicleEscStatusFactGroup::_rpmSecondFactName = "rpm2"; |
|
const char* VehicleEscStatusFactGroup::_rpmThirdFactName = "rpm3"; |
|
const char* VehicleEscStatusFactGroup::_rpmFourthFactName = "rpm4"; |
|
|
|
const char* VehicleEscStatusFactGroup::_currentFirstFactName = "current1"; |
|
const char* VehicleEscStatusFactGroup::_currentSecondFactName = "current2"; |
|
const char* VehicleEscStatusFactGroup::_currentThirdFactName = "current3"; |
|
const char* VehicleEscStatusFactGroup::_currentFourthFactName = "current4"; |
|
|
|
const char* VehicleEscStatusFactGroup::_voltageFirstFactName = "voltage1"; |
|
const char* VehicleEscStatusFactGroup::_voltageSecondFactName = "voltage2"; |
|
const char* VehicleEscStatusFactGroup::_voltageThirdFactName = "voltage3"; |
|
const char* VehicleEscStatusFactGroup::_voltageFourthFactName = "voltage4"; |
|
|
|
VehicleEscStatusFactGroup::VehicleEscStatusFactGroup(QObject* parent) |
|
: FactGroup (1000, ":/json/Vehicle/EscStatusFactGroup.json", parent) |
|
, _indexFact (0, _indexFactName, FactMetaData::valueTypeUint8) |
|
|
|
, _rpmFirstFact (0, _rpmFirstFactName, FactMetaData::valueTypeFloat) |
|
, _rpmSecondFact (0, _rpmSecondFactName, FactMetaData::valueTypeFloat) |
|
, _rpmThirdFact (0, _rpmThirdFactName, FactMetaData::valueTypeFloat) |
|
, _rpmFourthFact (0, _rpmFourthFactName, FactMetaData::valueTypeFloat) |
|
|
|
, _currentFirstFact (0, _currentFirstFactName, FactMetaData::valueTypeFloat) |
|
, _currentSecondFact (0, _currentSecondFactName, FactMetaData::valueTypeFloat) |
|
, _currentThirdFact (0, _currentThirdFactName, FactMetaData::valueTypeFloat) |
|
, _currentFourthFact (0, _currentFourthFactName, FactMetaData::valueTypeFloat) |
|
|
|
, _voltageFirstFact (0, _voltageFirstFactName, FactMetaData::valueTypeFloat) |
|
, _voltageSecondFact (0, _voltageSecondFactName, FactMetaData::valueTypeFloat) |
|
, _voltageThirdFact (0, _voltageThirdFactName, FactMetaData::valueTypeFloat) |
|
, _voltageFourthFact (0, _voltageFourthFactName, FactMetaData::valueTypeFloat) |
|
{ |
|
_addFact(&_indexFact, _indexFactName); |
|
|
|
_addFact(&_rpmFirstFact, _rpmFirstFactName); |
|
_addFact(&_rpmSecondFact, _rpmSecondFactName); |
|
_addFact(&_rpmThirdFact, _rpmThirdFactName); |
|
_addFact(&_rpmFourthFact, _rpmFourthFactName); |
|
|
|
_addFact(&_currentFirstFact, _currentFirstFactName); |
|
_addFact(&_currentSecondFact, _currentSecondFactName); |
|
_addFact(&_currentThirdFact, _currentThirdFactName); |
|
_addFact(&_currentFourthFact, _currentFourthFactName); |
|
|
|
_addFact(&_voltageFirstFact, _voltageFirstFactName); |
|
_addFact(&_voltageSecondFact, _voltageSecondFactName); |
|
_addFact(&_voltageThirdFact, _voltageThirdFactName); |
|
_addFact(&_voltageFourthFact, _voltageFourthFactName); |
|
} |
|
|
|
void VehicleEscStatusFactGroup::handleMessage(Vehicle* /* vehicle */, mavlink_message_t& message) |
|
{ |
|
if (message.msgid != MAVLINK_MSG_ID_ESC_STATUS) { |
|
return; |
|
} |
|
|
|
mavlink_esc_status_t content; |
|
mavlink_msg_esc_status_decode(&message, &content); |
|
|
|
index()->setRawValue (content.index); |
|
|
|
rpmFirst()->setRawValue (content.rpm[0]); |
|
rpmSecond()->setRawValue (content.rpm[1]); |
|
rpmThird()->setRawValue (content.rpm[2]); |
|
rpmFourth()->setRawValue (content.rpm[3]); |
|
|
|
currentFirst()->setRawValue (content.current[0]); |
|
currentSecond()->setRawValue (content.current[1]); |
|
currentThird()->setRawValue (content.current[2]); |
|
currentFourth()->setRawValue (content.current[3]); |
|
|
|
voltageFirst()->setRawValue (content.voltage[0]); |
|
voltageSecond()->setRawValue (content.voltage[1]); |
|
voltageThird()->setRawValue (content.voltage[2]); |
|
voltageFourth()->setRawValue (content.voltage[3]); |
|
}
|
|
|