5 :
FactGroup(1000, QStringLiteral(
":/json/Vehicle/GeneratorFact.json"), parent)
38 switch (message.msgid) {
39 case MAVLINK_MSG_ID_GENERATOR_STATUS:
40 _handleGeneratorStatus(message);
47void VehicleGeneratorFactGroup::_handleGeneratorStatus(
const mavlink_message_t &message)
49 mavlink_generator_status_t generator{};
50 mavlink_msg_generator_status_decode(&message, &generator);
53 genSpeed()->
setRawValue((generator.generator_speed == UINT16_MAX) ? qQNaN() : generator.generator_speed);
58 rectifierTemp()->
setRawValue((generator.rectifier_temperature == INT16_MAX) ? qQNaN() : generator.rectifier_temperature);
60 genTemp()->
setRawValue((generator.generator_temperature == INT16_MAX) ? qQNaN() : generator.generator_temperature);
67void VehicleGeneratorFactGroup::_updateGeneratorFlags(
const QVariant &value)
69 const int statusFlag = value.toInt();
70 if (statusFlag == _prevFlag) {
74 _prevFlag = statusFlag;
75 _flagsListGenerator.clear();
77 const QBitArray bitsetFlags(23);
78 for (qsizetype i = 0; i < bitsetFlags.size(); i++) {
80 _flagsListGenerator.append(1);
82 _flagsListGenerator.append(0);
struct __mavlink_message mavlink_message_t
Used to group Facts together into an object hierarachy.
void _setTelemetryAvailable(bool telemetryAvailable)
void _addFact(Fact *fact, const QString &name)
void rawValueChanged(const QVariant &value)
void setRawValue(const QVariant &value)
Fact * batCurrentSetpoint()
void flagsListGeneratorChanged()
VehicleGeneratorFactGroup(QObject *parent=nullptr)
void handleMessage(Vehicle *vehicle, const mavlink_message_t &message) final
Allows a FactGroup to parse incoming messages and fill in values.