7 :
FactGroup(1000, QStringLiteral(
":/json/Vehicle/GeneratorFact.json"), parent)
40 switch (message.msgid) {
41 case MAVLINK_MSG_ID_GENERATOR_STATUS:
42 _handleGeneratorStatus(message);
49void VehicleGeneratorFactGroup::_handleGeneratorStatus(
const mavlink_message_t &message)
51 mavlink_generator_status_t generator{};
52 mavlink_msg_generator_status_decode(&message, &generator);
55 genSpeed()->
setRawValue((generator.generator_speed == UINT16_MAX) ? qQNaN() : generator.generator_speed);
60 rectifierTemp()->
setRawValue((generator.rectifier_temperature == INT16_MAX) ? qQNaN() : generator.rectifier_temperature);
62 genTemp()->
setRawValue((generator.generator_temperature == INT16_MAX) ? qQNaN() : generator.generator_temperature);
69void VehicleGeneratorFactGroup::_updateGeneratorFlags(
const QVariant &value)
71 const int statusFlag = value.toInt();
72 if (statusFlag == _prevFlag) {
76 _prevFlag = statusFlag;
77 _flagsListGenerator.clear();
79 const QBitArray bitsetFlags(23);
80 for (qsizetype i = 0; i < bitsetFlags.size(); i++) {
82 _flagsListGenerator.append(1);
84 _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.