9 changed files with 138 additions and 0 deletions
@ -0,0 +1,27 @@ |
|||||||
|
{ |
||||||
|
"version": 1, |
||||||
|
"fileType": "FactMetaData", |
||||||
|
"QGC.MetaData.Facts": |
||||||
|
[ |
||||||
|
{ |
||||||
|
"name": "temperature", |
||||||
|
"shortDesc": "Temperature", |
||||||
|
"type": "double", |
||||||
|
"decimalPlaces": 3, |
||||||
|
"units": "deg" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "humidity", |
||||||
|
"shortDesc": "Humidity %", |
||||||
|
"type": "double", |
||||||
|
"decimalPlaces": 3, |
||||||
|
"units": "%" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name": "hygrometerid", |
||||||
|
"shortDesc": "ID", |
||||||
|
"type": "uint16", |
||||||
|
"decimalPlaces": 0 |
||||||
|
} |
||||||
|
] |
||||||
|
} |
@ -0,0 +1,52 @@ |
|||||||
|
/****************************************************************************
|
||||||
|
* |
||||||
|
* (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 "VehicleHygrometerFactGroup.h" |
||||||
|
#include "Vehicle.h" |
||||||
|
#include "QGCGeo.h" |
||||||
|
|
||||||
|
const char* VehicleHygrometerFactGroup::_hygroHumiFactName = "humidity"; |
||||||
|
const char* VehicleHygrometerFactGroup::_hygroTempFactName = "temperature"; |
||||||
|
const char* VehicleHygrometerFactGroup::_hygroIDFactName = "hygrometerid"; |
||||||
|
|
||||||
|
VehicleHygrometerFactGroup::VehicleHygrometerFactGroup(QObject* parent) |
||||||
|
: FactGroup(1000, ":/json/Vehicle/HygrometerFact.json", parent) |
||||||
|
, _hygroTempFact (0, _hygroTempFactName, FactMetaData::valueTypeDouble) |
||||||
|
, _hygroHumiFact (0, _hygroHumiFactName, FactMetaData::valueTypeDouble) |
||||||
|
, _hygroIDFact (0, _hygroIDFactName, FactMetaData::valueTypeUint16) |
||||||
|
{
|
||||||
|
_addFact(&_hygroTempFact, _hygroTempFactName); |
||||||
|
_addFact(&_hygroHumiFact, _hygroHumiFactName); |
||||||
|
_addFact(&_hygroIDFact, _hygroIDFactName); |
||||||
|
|
||||||
|
_hygroTempFact.setRawValue(std::numeric_limits<float>::quiet_NaN()); |
||||||
|
_hygroHumiFact.setRawValue(std::numeric_limits<float>::quiet_NaN()); |
||||||
|
_hygroIDFact.setRawValue(std::numeric_limits<unsigned int>::quiet_NaN()); |
||||||
|
} |
||||||
|
|
||||||
|
void VehicleHygrometerFactGroup::handleMessage(Vehicle* /* vehicle */, mavlink_message_t& message) |
||||||
|
{ |
||||||
|
switch (message.msgid) { |
||||||
|
case MAVLINK_MSG_ID_HYGROMETER_SENSOR: |
||||||
|
_handleHygrometerSensor(message); |
||||||
|
break; |
||||||
|
default: |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
void VehicleHygrometerFactGroup::_handleHygrometerSensor(mavlink_message_t& message) |
||||||
|
{ |
||||||
|
mavlink_hygrometer_sensor_t hygrometer; |
||||||
|
mavlink_msg_hygrometer_sensor_decode(&message, &hygrometer); |
||||||
|
|
||||||
|
_hygroTempFact.setRawValue(hygrometer.temperature); |
||||||
|
_hygroHumiFact.setRawValue(hygrometer.humidity); |
||||||
|
_hygroIDFact.setRawValue(hygrometer.id); |
||||||
|
} |
@ -0,0 +1,43 @@ |
|||||||
|
/****************************************************************************
|
||||||
|
* |
||||||
|
* (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. |
||||||
|
* |
||||||
|
****************************************************************************/ |
||||||
|
|
||||||
|
#pragma once |
||||||
|
|
||||||
|
#include "FactGroup.h" |
||||||
|
#include "QGCMAVLink.h" |
||||||
|
|
||||||
|
class VehicleHygrometerFactGroup : public FactGroup |
||||||
|
{ |
||||||
|
Q_OBJECT |
||||||
|
|
||||||
|
public: |
||||||
|
VehicleHygrometerFactGroup(QObject* parent = nullptr); |
||||||
|
|
||||||
|
Q_PROPERTY(Fact* hygroID READ hygroID CONSTANT) |
||||||
|
Q_PROPERTY(Fact* hygroTemp READ hygroTemp CONSTANT) |
||||||
|
Q_PROPERTY(Fact* hygroHumi READ hygroHumi CONSTANT) |
||||||
|
|
||||||
|
Fact* hygroID () { return &_hygroIDFact; } |
||||||
|
Fact* hygroTemp () { return &_hygroTempFact; } |
||||||
|
Fact* hygroHumi () { return &_hygroHumiFact; } |
||||||
|
|
||||||
|
// Overrides from FactGroup
|
||||||
|
virtual void handleMessage(Vehicle* vehicle, mavlink_message_t& message) override; |
||||||
|
|
||||||
|
static const char* _hygroIDFactName; |
||||||
|
static const char* _hygroTempFactName; |
||||||
|
static const char* _hygroHumiFactName; |
||||||
|
|
||||||
|
protected: |
||||||
|
void _handleHygrometerSensor (mavlink_message_t& message); |
||||||
|
|
||||||
|
Fact _hygroIDFact; |
||||||
|
Fact _hygroTempFact; |
||||||
|
Fact _hygroHumiFact; |
||||||
|
}; |
Loading…
Reference in new issue