QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
Fact Class Reference

A Fact is used to hold a single value within the system. More...

#include <Fact.h>

+ Inheritance diagram for Fact:
+ Collaboration diagram for Fact:

Signals

void bitmaskStringsChanged ()
 
void bitmaskValuesChanged ()
 
void cookedValuesChanged ()
 Cooked units, ranges, defaults, increment or precision changed without a raw value change.
 
void enumsChanged ()
 
void sendValueChangedSignalsChanged (bool sendValueChangedSignals)
 
void valueChanged (const QVariant &value)
 This signal is only meant for use by the QT property system. It should not be connected to by client code.
 
void rawValueChanged (const QVariant &value)
 
void vehicleUpdated (const QVariant &value)
 Signalled when the param write ack comes back from the vehicle.
 
void containerRawValueChanged (const QVariant &value)
 This signal is meant for use by Fact container implementations. Used to send changed values to vehicle.
 

Public Member Functions

 Fact (QObject *parent=nullptr)
 
 Fact (int componentId, const QString &name, FactMetaData::ValueType_t type, QObject *parent=nullptr)
 
 Fact (const Fact &other, QObject *parent=nullptr)
 
 Fact (const QString &settingsGroup, FactMetaData *metaData, QObject *parent=nullptr)
 
virtual ~Fact ()
 
const Fact & operator= (const Fact &other)
 
Q_INVOKABLE QString validate (const QString &cookedValue, bool convertOnly)
 
Q_INVOKABLE QVariant clamp (const QString &cookedValue)
 Convert and clamp value.
 
QVariant cookedValue () const
 
Q_INVOKABLE QVariant rawToCooked (const QVariant &rawValue) const
 
QVariant rawValue () const
 
int componentId () const
 
int decimalPlaces () const
 
int maxStringLength () const
 
QVariant rawDefaultValue () const
 
QVariant cookedDefaultValue () const
 
bool defaultValueAvailable () const
 
QString cookedDefaultValueString () const
 
QStringList bitmaskStrings () const
 
QVariantList bitmaskValues () const
 
QStringList selectedBitmaskStrings () const
 Provide a list of selected strings based on the fact value with the bitmaskString/bitmaskValues map.
 
int enumIndex ()
 
QStringList enumStrings () const
 
QString enumStringValue ()
 
QVariantList enumValues () const
 
QString category () const
 
QString group () const
 
QString longDescription () const
 
QVariant rawMax () const
 
QVariant cookedMax () const
 
QString cookedMaxString () const
 
bool maxIsDefaultForType () const
 
QVariant rawMin () const
 
QVariant cookedMin () const
 
QString cookedMinString () const
 
bool minIsDefaultForType () const
 
QVariant rawUserMin () const
 
QVariant cookedUserMin () const
 
QString cookedUserMinString () const
 
QVariant rawUserMax () const
 
QVariant cookedUserMax () const
 
QString cookedUserMaxString () const
 
QString name () const
 
QString label () const
 
QString shortDescription () const
 
FactMetaData::ValueType_t type () const
 
QString cookedUnits () const
 
QString rawUnits () const
 
QString invalidValueString (int decimalPlaces) const
 
QString invalidValueString () const
 
QString rawValueString () const
 
QString cookedValueString () const
 
bool valueEqualsDefault () const
 
bool vehicleRebootRequired () const
 
bool qgcRebootRequired () const
 
QString enumOrValueString ()
 
double rawIncrement () const
 
double cookedIncrement () const
 
bool typeIsString () const
 
bool typeIsBool () const
 
bool hasControl () const
 
bool readOnly () const
 
bool writeOnly () const
 
bool volatileValue () const
 
QString rawValueStringFullPrecision () const
 Returns the values as a string with full 18 digit precision if float/double.
 
void setRawValue (const QVariant &value)
 
void setCookedValue (const QVariant &value)
 
void setEnumIndex (int index)
 
void setEnumStringValue (const QString &value)
 
int valueIndex (const QString &value) const
 
void setSendValueChangedSignals (bool sendValueChangedSignals)
 
bool sendValueChangedSignals () const
 
bool deferredValueChangeSignal () const
 
void clearDeferredValueChangeSignal ()
 
void sendDeferredValueChangedSignal ()
 
void forceSetRawValue (const QVariant &value)
 Sets and sends new value to vehicle even if value is the same.
 
void setMetaData (FactMetaData *metaData, bool setDefaultFromMetaData=false)
 
FactMetaData * metaData ()
 
void containerSetRawValue (const QVariant &value)
 Value coming from Vehicle. This does NOT send a _containerRawValueChanged signal.
 
void setName (const QString &name)
 Generally you should not change the name of a fact. But if you know what you are doing, you can.
 
void setEnumInfo (const QStringList &strings, const QVariantList &values)
 Generally this is done during parsing. But if you know what you are doing, you can.
 

Protected Member Functions

QString _variantToString (const QVariant &variant, int decimalPlaces) const
 
void _sendValueChangedSignal (const QVariant &value)
 

Protected Attributes

QString _name
 
int _componentId = -1
 
QVariant _rawValue {0}
 
QRecursiveMutex _rawValueMutex
 
FactMetaData::ValueType_t _type = FactMetaData::valueTypeInt32
 
FactMetaData * _metaData = nullptr
 
bool _sendValueChangedSignals = true
 
bool _deferredValueChangeSignal = false
 

Static Protected Attributes

static constexpr const char * kMissingMetadata = "Meta data pointer missing"
 

Detailed Description

A Fact is used to hold a single value within the system.

Definition at line 14 of file Fact.h.

Constructor & Destructor Documentation

◆ Fact() [1/4]

Fact::Fact ( QObject *  parent = nullptr)
explicit

Definition at line 16 of file Fact.cc.

◆ Fact() [2/4]

Fact::Fact ( int  componentId,
const QString &  name,
FactMetaData::ValueType_t  type,
QObject *  parent = nullptr 
)
explicit

Definition at line 27 of file Fact.cc.

References _type, metaData(), and setMetaData().

◆ Fact() [3/4]

Fact::Fact ( const Fact &  other,
QObject *  parent = nullptr 
)
explicit

Definition at line 65 of file Fact.cc.

◆ Fact() [4/4]

Fact::Fact ( const QString &  settingsGroup,
FactMetaData *  metaData,
QObject *  parent = nullptr 
)
explicit

Creates a Fact using the name and type from metaData. Also calls SettingsManager::adjustSettingMetaData allowing custom builds to override the metadata.

Definition at line 41 of file Fact.cc.

References _rawValue, _rawValueMutex, SettingsManager::adjustSettingMetaData(), FactMetaData::defaultValueAvailable(), metaData(), FactMetaData::rawDefaultValue(), QGC::runningUnitTests(), and setMetaData().

◆ ~Fact()

Fact::~Fact ( )
virtual

Definition at line 75 of file Fact.cc.

Member Function Documentation

◆ _sendValueChangedSignal()

void Fact::_sendValueChangedSignal ( const QVariant &  value)
protected

◆ _variantToString()

◆ bitmaskStrings()

QStringList Fact::bitmaskStrings ( ) const

Definition at line 324 of file Fact.cc.

References _metaData, FactMetaData::bitmaskStrings(), kMissingMetadata, and name().

◆ bitmaskStringsChanged

void Fact::bitmaskStringsChanged ( )
signal

◆ bitmaskValues()

QVariantList Fact::bitmaskValues ( ) const

Definition at line 334 of file Fact.cc.

References _metaData, FactMetaData::bitmaskValues(), kMissingMetadata, and name().

◆ bitmaskValuesChanged

void Fact::bitmaskValuesChanged ( )
signal

◆ category()

QString Fact::category ( ) const

Definition at line 722 of file Fact.cc.

References _metaData, FactMetaData::category(), kMissingMetadata, and name().

◆ clamp()

QVariant Fact::clamp ( const QString &  cookedValue)

Convert and clamp value.

Definition at line 803 of file Fact.cc.

References _metaData, FactMetaData::clampValue(), cookedValue(), kMissingMetadata, name(), and rawValue().

◆ clearDeferredValueChangeSignal()

void Fact::clearDeferredValueChangeSignal ( )
inline

Definition at line 161 of file Fact.h.

References _deferredValueChangeSignal.

◆ componentId()

int Fact::componentId ( ) const
inline

Definition at line 92 of file Fact.h.

References _componentId.

Referenced by ParameterEditorController::buildDiffFromFile().

◆ containerRawValueChanged

void Fact::containerRawValueChanged ( const QVariant &  value)
signal

This signal is meant for use by Fact container implementations. Used to send changed values to vehicle.

Referenced by forceSetRawValue(), QGCCameraParamIO::QGCCameraParamIO(), and setRawValue().

◆ containerSetRawValue()

void Fact::containerSetRawValue ( const QVariant &  value)

Value coming from Vehicle. This does NOT send a _containerRawValueChanged signal.

Definition at line 199 of file Fact.cc.

References _metaData, _rawValue, _rawValueMutex, _sendValueChangedSignal(), FactMetaData::rawTranslator(), rawValueChanged(), and vehicleUpdated().

Referenced by QGCCameraParamIO::handleParamAck(), and QGCCameraParamIO::handleParamValue().

◆ cookedDefaultValue()

QVariant Fact::cookedDefaultValue ( ) const

◆ cookedDefaultValueString()

QString Fact::cookedDefaultValueString ( ) const

Definition at line 520 of file Fact.cc.

References _variantToString(), cookedDefaultValue(), and decimalPlaces().

◆ cookedIncrement()

double Fact::cookedIncrement ( ) const

Definition at line 889 of file Fact.cc.

References _metaData, FactMetaData::cookedIncrement(), kMissingMetadata, and name().

◆ cookedMax()

QVariant Fact::cookedMax ( ) const

Definition at line 642 of file Fact.cc.

References _metaData, FactMetaData::cookedMax(), kMissingMetadata, and name().

Referenced by cookedMaxString().

◆ cookedMaxString()

QString Fact::cookedMaxString ( ) const

Definition at line 672 of file Fact.cc.

References _variantToString(), cookedMax(), and decimalPlaces().

◆ cookedMin()

QVariant Fact::cookedMin ( ) const

Definition at line 592 of file Fact.cc.

References _metaData, FactMetaData::cookedMin(), kMissingMetadata, and name().

Referenced by cookedMinString().

◆ cookedMinString()

QString Fact::cookedMinString ( ) const

Definition at line 622 of file Fact.cc.

References _variantToString(), cookedMin(), and decimalPlaces().

◆ cookedUnits()

QString Fact::cookedUnits ( ) const

◆ cookedUserMax()

QVariant Fact::cookedUserMax ( ) const

Definition at line 662 of file Fact.cc.

References _metaData, FactMetaData::cookedUserMax(), kMissingMetadata, and name().

Referenced by cookedUserMaxString().

◆ cookedUserMaxString()

QString Fact::cookedUserMaxString ( ) const

Definition at line 677 of file Fact.cc.

References _variantToString(), cookedUserMax(), and decimalPlaces().

◆ cookedUserMin()

QVariant Fact::cookedUserMin ( ) const

Definition at line 612 of file Fact.cc.

References _metaData, FactMetaData::cookedUserMin(), kMissingMetadata, and name().

Referenced by cookedUserMinString().

◆ cookedUserMinString()

QString Fact::cookedUserMinString ( ) const

Definition at line 627 of file Fact.cc.

References _variantToString(), cookedUserMin(), and decimalPlaces().

◆ cookedValue()

◆ cookedValuesChanged

void Fact::cookedValuesChanged ( )
signal

Cooked units, ranges, defaults, increment or precision changed without a raw value change.

Referenced by setMetaData().

◆ cookedValueString()

QString Fact::cookedValueString ( ) const

Definition at line 489 of file Fact.cc.

References _variantToString(), cookedValue(), and decimalPlaces().

Referenced by enumOrValueString().

◆ decimalPlaces()

◆ defaultValueAvailable()

bool Fact::defaultValueAvailable ( ) const

Definition at line 778 of file Fact.cc.

References _metaData, FactMetaData::defaultValueAvailable(), kMissingMetadata, and name().

◆ deferredValueChangeSignal()

bool Fact::deferredValueChangeSignal ( ) const
inline

Definition at line 160 of file Fact.h.

References _deferredValueChangeSignal.

◆ enumIndex()

◆ enumOrValueString()

◆ enumsChanged

void Fact::enumsChanged ( )
signal

◆ enumStrings()

QStringList Fact::enumStrings ( ) const

◆ enumStringValue()

QString Fact::enumStringValue ( )

Definition at line 248 of file Fact.cc.

References _metaData, enumIndex(), enumStrings(), FactMetaData::enumStrings(), kMissingMetadata, and name().

Referenced by enumOrValueString().

◆ enumValues()

QVariantList Fact::enumValues ( ) const

Definition at line 304 of file Fact.cc.

References _metaData, FactMetaData::enumValues(), kMissingMetadata, and name().

Referenced by APMFrameClass::APMFrameClass().

◆ forceSetRawValue()

void Fact::forceSetRawValue ( const QVariant &  value)

◆ group()

QString Fact::group ( ) const

Definition at line 732 of file Fact.cc.

References _metaData, FactMetaData::group(), kMissingMetadata, and name().

◆ hasControl()

bool Fact::hasControl ( ) const

Definition at line 899 of file Fact.cc.

References _metaData, FactMetaData::hasControl(), kMissingMetadata, and name().

◆ invalidValueString() [1/2]

QString Fact::invalidValueString ( ) const
inline

Definition at line 131 of file Fact.h.

References decimalPlaces(), and invalidValueString().

Referenced by _variantToString(), invalidValueString(), and rawValueStringFullPrecision().

◆ invalidValueString() [2/2]

QString Fact::invalidValueString ( int  decimalPlaces) const

◆ label()

QString Fact::label ( ) const

◆ longDescription()

QString Fact::longDescription ( ) const

Definition at line 552 of file Fact.cc.

References _metaData, kMissingMetadata, FactMetaData::longDescription(), and name().

◆ maxIsDefaultForType()

bool Fact::maxIsDefaultForType ( ) const

Definition at line 692 of file Fact.cc.

References _metaData, kMissingMetadata, FactMetaData::maxIsDefaultForType(), and name().

◆ maxStringLength()

int Fact::maxStringLength ( ) const

Definition at line 712 of file Fact.cc.

References _metaData, kMissingMetadata, FactMetaData::maxStringLength(), and name().

◆ metaData()

◆ minIsDefaultForType()

bool Fact::minIsDefaultForType ( ) const

Definition at line 682 of file Fact.cc.

References _metaData, kMissingMetadata, FactMetaData::minIsDefaultForType(), and name().

◆ name()

◆ operator=()

const Fact & Fact::operator= ( const Fact &  other)

◆ qgcRebootRequired()

bool Fact::qgcRebootRequired ( ) const

Definition at line 829 of file Fact.cc.

References _metaData, kMissingMetadata, name(), and FactMetaData::qgcRebootRequired().

◆ rawDefaultValue()

◆ rawIncrement()

double Fact::rawIncrement ( ) const

Definition at line 879 of file Fact.cc.

References _metaData, kMissingMetadata, name(), and FactMetaData::rawIncrement().

◆ rawMax()

QVariant Fact::rawMax ( ) const

Definition at line 632 of file Fact.cc.

References _metaData, kMissingMetadata, name(), and FactMetaData::rawMax().

Referenced by RCToParamDialogController::setTuningFact().

◆ rawMin()

QVariant Fact::rawMin ( ) const

Definition at line 582 of file Fact.cc.

References _metaData, kMissingMetadata, name(), and FactMetaData::rawMin().

Referenced by RCToParamDialogController::setTuningFact().

◆ rawToCooked()

QVariant Fact::rawToCooked ( const QVariant &  rawValue) const

Value after translation Converts an arbitrary raw value to the cooked (user units) domain using this fact's own translator. Use this instead of the QmlUnitsConversion helpers when mixing constants with Fact values so the conversion always follows the fact's metadata.

Definition at line 238 of file Fact.cc.

References _metaData, kMissingMetadata, name(), FactMetaData::rawTranslator(), and rawValue().

◆ rawUnits()

QString Fact::rawUnits ( ) const

Definition at line 562 of file Fact.cc.

References _metaData, kMissingMetadata, name(), and FactMetaData::rawUnits().

◆ rawUserMax()

QVariant Fact::rawUserMax ( ) const

Definition at line 652 of file Fact.cc.

References _metaData, kMissingMetadata, name(), and FactMetaData::rawUserMax().

◆ rawUserMin()

QVariant Fact::rawUserMin ( ) const

Definition at line 602 of file Fact.cc.

References _metaData, kMissingMetadata, name(), and FactMetaData::rawUserMin().

◆ rawValue()

QVariant Fact::rawValue ( ) const
inline

Definition at line 87 of file Fact.h.

References _rawValue, and _rawValueMutex.

Referenced by TransectStyleComplexItem::_appendConditionGate(), TransectStyleComplexItem::_appendWaypoint(), LandingComplexItem::_createDoLandStartItem(), LandingComplexItem::_createFinalApproachItem(), VehicleFactGroup::_handleNavControllerOutput(), LandingComplexItem::_recalcFromCoordinateChange(), LandingComplexItem::_recalcFromHeadingAndDistanceChange(), TransectStyleComplexItem::_save(), LandingComplexItem::_save(), TransectStyleComplexItem::_turnAroundDistance(), APMSensorsComponent::accelSetupNeeded(), GimbalController::acquireGimbalControl(), ADSBVehicleManager::ADSBVehicleManager(), AirframeComponentController::AirframeComponentController(), LandingComplexItem::amslEntryAlt(), StructureScanComplexItem::amslEntryAlt(), TransectStyleComplexItem::amslEntryAlt(), LandingComplexItem::amslExitAlt(), APMFlightModesComponentController::APMFlightModesComponentController(), MissionSettingsItem::appendMissionItems(), StructureScanComplexItem::appendMissionItems(), CameraSection::appendSectionItems(), SpeedSection::appendSectionItems(), Mixer::MixerChannel::applyRule(), VehicleGPSFactGroup::authenticationReported(), VehicleGPSFactGroup::authenticationSeverity(), MissionItem::autoContinue(), Vehicle::autoDisarm(), ESP8266ComponentController::baudIndex(), StructureScanComplexItem::bottomFlightAlt(), ParameterEditorController::buildDiffFromFile(), APMSensorsComponentController::calibrateCompass(), CameraCalc::CameraCalc(), clamp(), MissionItem::command(), APMSensorsComponent::compassSetupNeeded(), RallyPoint::coordinate(), LandingComplexItem::editableAlt(), MissionSettingsItem::editableAlt(), StructureScanComplexItem::editableAlt(), TransectStyleComplexItem::editableAlt(), VehicleObjectAvoidance::enabled(), enumIndex(), Condition::evaluate(), MissionItem::frame(), APMFrameClass::frameType(), Mixer::MixerChannel::getGeometry(), APMFirmwarePlugin::getHobbsMeter(), PX4FirmwarePlugin::getHobbsMeter(), Mixer::Mixers::getSpecificLabelForFunction(), GimbalController::gimbalOnScreenControl(), APMFirmwarePlugin::guidedModeChangeAltitude(), PX4FirmwarePlugin::guidedModeChangeAltitude(), APMFirmwarePlugin::guidedModeChangeHeading(), APMFirmwarePlugin::guidedModeGotoLocation(), PX4FirmwarePlugin::guidedModeGotoLocation(), PX4FirmwarePlugin::guidedModeTakeoff(), QGCCameraParamIO::handleParamAck(), QGCCameraParamIO::handleParamValue(), APMFirmwarePlugin::hasGripper(), PX4FirmwarePlugin::hasGripper(), TransectStyleComplexItem::hoverAndCaptureEnabled(), APMFrameClass::imageResource(), VehicleGPSFactGroup::interferenceState(), CameraCalc::isCustomCamera(), CameraCalc::isManualCamera(), CameraSection::itemCount(), VehicleGPSFactGroup::jammingReported(), AndroidInterface::jniStoragePermissionsResult(), LandingComplexItem::lastSequenceNumber(), StructureScanComplexItem::lastSequenceNumber(), SimpleMissionItem::load(), SimpleMissionItem::load(), StructureScanComplexItem::maxAMSLAltitude(), TransectStyleComplexItem::maxAMSLAltitude(), APMFirmwarePlugin::maximumEquivalentAirspeed(), PX4FirmwarePlugin::maximumEquivalentAirspeed(), APMFirmwarePlugin::maximumHorizontalSpeedMultirotorMetersSecond(), PX4FirmwarePlugin::maximumHorizontalSpeedMultirotorMetersSecond(), StructureScanComplexItem::minAMSLAltitude(), TransectStyleComplexItem::minAMSLAltitude(), APMFirmwarePlugin::minimumEquivalentAirspeed(), PX4FirmwarePlugin::minimumEquivalentAirspeed(), APMFirmwarePlugin::minimumTakeoffAltitudeMeters(), Mixer::MixerChannel::MixerChannel(), Vehicle::motorCount(), ArduCopterFirmwarePlugin::multiRotorXConfig(), CameraSpec::operator=(), MissionItem::operator=(), QGCMapCircle::operator=(), RallyPoint::operator=(), MissionItem::param1(), MissionItem::param2(), MissionItem::param3(), MissionItem::param4(), MissionItem::param5(), MissionItem::param6(), MissionItem::param7(), GeoFenceController::paramCircularFence(), PX4AutoPilotPlugin::parametersReadyPreChecks(), PX4AutoPilotPlugin::prerequisiteSetup(), VideoSettings::pruneUnavailableDecoders(), QGCMapCircle::QGCMapCircle(), SyslinkComponentController::radioAddress(), SyslinkComponentController::radioChannel(), SyslinkComponentController::radioRate(), RallyPoint::RallyPoint(), rawToCooked(), rawValueString(), rawValueStringFullPrecision(), SimpleMissionItem::readyForSaveState(), MissionFlightStatusCalculator::recalc(), GimbalController::releaseGimbalControl(), MissionController::removeVisualItem(), PX4RadioComponent::requiresSetup(), FixedWingLandingComplexItem::save(), SimpleMissionItem::save(), StructureScanComplexItem::save(), CameraCalc::save(), CameraSpec::save(), GeoFenceController::save(), QGCMapCircle::saveToJson(), SensorsComponent::sectionIds(), SensorsComponent::sectionSetupComplete(), selectedBitmaskStrings(), GimbalController::sendPitchAbsoluteYaw(), GimbalController::sendPitchBodyYaw(), GimbalController::sendPitchYawFlags(), GeoFenceManager::sendToVehicle(), TransformPositionController::setFromGeo(), TransformPositionController::setFromMGRS(), TransformPositionController::setFromUTM(), SimpleMissionItem::setMissionFlightStatus(), Vehicle::setPIDTuningTelemetryMode(), APMFlightModesComponentController::setSimpleMode(), APMFlightModesComponentController::setSuperSimpleMode(), RCToParamDialogController::setTuningFact(), APMAirframeComponent::setupComplete(), APMRadioComponent::setupComplete(), AirframeComponent::setupComplete(), PX4RadioComponent::setupComplete(), PowerComponent::setupComplete(), SensorsComponent::setupComplete(), SimpleMissionItem::SimpleMissionItem(), MissionItem::specifiedFlightSpeed(), SpeedSection::specifiedFlightSpeed(), MissionSettingsItem::specifiedFlightSpeed(), SimpleMissionItem::specifiedFlightSpeed(), CameraSection::specifiedGimbalPitch(), MissionItem::specifiedGimbalPitch(), MissionSettingsItem::specifiedGimbalPitch(), CameraSection::specifiedGimbalYaw(), MissionItem::specifiedGimbalYaw(), MissionSettingsItem::specifiedGimbalYaw(), VehicleGPSFactGroup::spoofingReported(), VehicleGPSFactGroup::systemErrorText(), StructureScanComplexItem::timeBetweenShots(), CorridorScanComplexItem::timeBetweenShots(), StructureScanComplexItem::topFlightAlt(), TransectStyleComplexItem::triggerDistance(), Mixer::Mixers::update(), TerrainQueryCoordinator::updateAltAboveTerrain(), Vehicle::updateFlightDistance(), VehicleFactGroup::updateRCRSSI(), valueEqualsDefault(), ESP8266ComponentController::version(), VTOLLandingComplexItem::VTOLLandingComplexItem(), ESP8266ComponentController::wifiPassword(), ESP8266ComponentController::wifiPasswordSta(), ESP8266ComponentController::wifiSSID(), and ESP8266ComponentController::wifiSSIDSta().

◆ rawValueChanged

void Fact::rawValueChanged ( const QVariant &  value)
signal

Referenced by LandingComplexItem::_init(), ActuatorOutputs::ActuatorOutput::ActuatorOutput(), ADSBVehicleManager::ADSBVehicleManager(), Mixer::ChannelConfigInstanceVirtualAxis::allInstancesInitialized(), APMFrameClass::APMFrameClass(), BatteryFactGroup::BatteryFactGroup(), GStreamer::bindDebugLevelFact(), CameraCalc::CameraCalc(), CameraSection::CameraSection(), CityMapGeometry::CityMapGeometry(), containerSetRawValue(), CorridorScanComplexItem::CorridorScanComplexItem(), DECLARE_SETTINGGROUP(), DECLARE_SETTINGGROUP(), DECLARE_SETTINGGROUP(), DECLARE_SETTINGSFACT_NO_FUNC(), DECLARE_SETTINGSFACT_NO_FUNC(), DECLARE_SETTINGSFACT_NO_FUNC(), DECLARE_SETTINGSFACT_NO_FUNC(), FactBitset::FactBitset(), FactFloatAsBool::FactFloatAsBool(), FirmwareUpgradeController::FirmwareUpgradeController(), FixedWingLandingComplexItem::FixedWingLandingComplexItem(), forceSetRawValue(), GeoFenceController::GeoFenceController(), GPSReceiver::GPSReceiver(), QGCCameraParamIO::handleParamValue(), FollowMe::init(), LogManager::init(), VideoManager::init(), Joystick::Joystick(), JoystickManager::JoystickManager(), MissionController::MissionController(), MissionItem::MissionItem(), MissionItem::MissionItem(), MissionItem::MissionItem(), MissionSettingsItem::MissionSettingsItem(), Mixer::MixerChannel::MixerChannel(), QGCCameraParamIO::QGCCameraParamIO(), QmlUnitsConversion::QmlUnitsConversion(), MavlinkActionManager::setActionFileNameFact(), setRawValue(), SettingsFact::SettingsFact(), SimulatedCameraControl::SimulatedCameraControl(), SpeedSection::SpeedSection(), Vehicle::stopTrackingFirmwareVehicleTypeChanges(), StructureScanComplexItem::StructureScanComplexItem(), SurfaceModel::SurfaceModel(), SurveyComplexItem::SurveyComplexItem(), Vehicle::trackFirmwareVehicleTypeChanges(), TransectStyleComplexItem::TransectStyleComplexItem(), Vehicle::Vehicle(), VehicleGeneratorFactGroup::VehicleGeneratorFactGroup(), VehicleGPSFactGroup::VehicleGPSFactGroup(), Viewer3DManager::Viewer3DManager(), Viewer3DTerrainGeometry::Viewer3DTerrainGeometry(), and Viewer3DTerrainTexture::Viewer3DTerrainTexture().

◆ rawValueString()

QString Fact::rawValueString ( ) const

Definition at line 484 of file Fact.cc.

References _variantToString(), decimalPlaces(), and rawValue().

Referenced by QGCCameraParamIO::handleParamValue().

◆ rawValueStringFullPrecision()

QString Fact::rawValueStringFullPrecision ( ) const

Returns the values as a string with full 18 digit precision if float/double.

Definition at line 446 of file Fact.cc.

References _variantToString(), invalidValueString(), rawValue(), type(), FactMetaData::valueTypeDouble, and FactMetaData::valueTypeFloat.

Referenced by ParameterManager::writeParametersToStream().

◆ readOnly()

bool Fact::readOnly ( ) const

◆ selectedBitmaskStrings()

QStringList Fact::selectedBitmaskStrings ( ) const

Provide a list of selected strings based on the fact value with the bitmaskString/bitmaskValues map.

Definition at line 344 of file Fact.cc.

References _metaData, FactMetaData::bitmaskStrings(), FactMetaData::bitmaskValues(), kMissingMetadata, name(), and rawValue().

◆ sendDeferredValueChangedSignal()

void Fact::sendDeferredValueChangedSignal ( )

Definition at line 857 of file Fact.cc.

References _deferredValueChangeSignal, cookedValue(), and valueChanged().

◆ sendValueChangedSignals()

bool Fact::sendValueChangedSignals ( ) const
inline

Definition at line 159 of file Fact.h.

References _sendValueChangedSignals.

Referenced by setSendValueChangedSignals().

◆ sendValueChangedSignalsChanged

void Fact::sendValueChangedSignalsChanged ( bool  sendValueChangedSignals)
signal

◆ setCookedValue()

void Fact::setCookedValue ( const QVariant &  value)

◆ setEnumIndex()

void Fact::setEnumIndex ( int  index)

Definition at line 190 of file Fact.cc.

References _metaData, FactMetaData::enumValues(), kMissingMetadata, name(), and setCookedValue().

◆ setEnumInfo()

void Fact::setEnumInfo ( const QStringList &  strings,
const QVariantList &  values 
)

Generally this is done during parsing. But if you know what you are doing, you can.

Definition at line 314 of file Fact.cc.

References _metaData, enumsChanged(), kMissingMetadata, name(), and FactMetaData::setEnumInfo().

◆ setEnumStringValue()

void Fact::setEnumStringValue ( const QString &  value)

Definition at line 182 of file Fact.cc.

References _metaData, FactMetaData::enumValues(), setCookedValue(), and valueIndex().

◆ setMetaData()

void Fact::setMetaData ( FactMetaData *  metaData,
bool  setDefaultFromMetaData = false 
)

Sets the meta data associated with the Fact.

Parameters
metaDataFactMetaData for Fact
setDefaultFromMetaDatatrue: set the fact value to the default specified in the meta data

Definition at line 742 of file Fact.cc.

References _metaData, FactMetaData::appSettingsUnitsChanged(), cookedValue(), cookedValuesChanged(), FactMetaData::defaultValueAvailable(), metaData(), rawDefaultValue(), setRawValue(), and valueChanged().

Referenced by FactGroup::_addFact(), ParameterEditorController::buildDiffFromFile(), Fact(), Fact(), SettingsFact::SettingsFact(), and SpeedSection::SpeedSection().

◆ setName()

void Fact::setName ( const QString &  name)
inline

Generally you should not change the name of a fact. But if you know what you are doing, you can.

Definition at line 178 of file Fact.h.

References _name, and name().

◆ setRawValue()

void Fact::setRawValue ( const QVariant &  value)

Definition at line 135 of file Fact.cc.

References _metaData, _rawValue, _rawValueMutex, _sendValueChangedSignal(), containerRawValueChanged(), FactMetaData::convertAndValidateRaw(), errorString, kMissingMetadata, name(), FactMetaData::rawTranslator(), and rawValueChanged().

Referenced by VehicleFactGroup::_handleAltitude(), VehicleFactGroup::_handleAttitudeQuaternion(), VehicleHygrometerFactGroup::_handleHygrometerSensor(), VehicleFactGroup::_handleNavControllerOutput(), VehicleFactGroup::_handleRangefinder(), VehicleFactGroup::_handleRawImuTemp(), VehicleFactGroup::_handleVfrHud(), LandingComplexItem::_init(), TransectStyleComplexItem::_load(), LandingComplexItem::_load(), LandingComplexItem::_recalcFromCoordinateChange(), LandingComplexItem::_scanForItem(), CameraCalc::_setCameraNameFromV3TransectLoad(), LandingComplexItem::applyNewAltitude(), SimpleMissionItem::applyNewAltitude(), StructureScanComplexItem::applyNewAltitude(), TransectStyleComplexItem::applyNewAltitude(), Mixer::MixerChannel::applyRule(), BatteryFactGroup::BatteryFactGroup(), ParameterEditorController::buildDiffFromFile(), APMSensorsComponentController::calibrateCompass(), DECLARE_SETTINGGROUP(), EscStatusFactGroup::EscStatusFactGroup(), VehicleDistanceSensorFactGroup::handleMessage(), VehicleEstimatorStatusFactGroup::handleMessage(), VehicleLocalPositionFactGroup::handleMessage(), VehicleLocalPositionSetpointFactGroup::handleMessage(), VehicleSetpointFactGroup::handleMessage(), VehicleVibrationFactGroup::handleMessage(), TransformPositionController::initValues(), Mixer::ChannelConfig::instantiate(), AndroidInterface::jniStoragePermissionsResult(), FixedWingLandingComplexItem::load(), StructureScanComplexItem::load(), CameraCalc::load(), SimpleMissionItem::load(), CameraSpec::load(), GeoFenceController::load(), SimpleMissionItem::load(), QGCMapCircle::loadFromJson(), MissionItem::MissionItem(), MissionItem::MissionItem(), MissionItem::MissionItem(), CameraSpec::operator=(), MissionItem::operator=(), QGCMapCircle::operator=(), RallyPoint::operator=(), VideoSettings::pruneUnavailableDecoders(), QGCMapCircle::QGCMapCircle(), QGCMapCircle::QGCMapCircle(), RallyPoint::RallyPoint(), RallyPoint::RallyPoint(), ParameterManager::resetAllToVehicleConfiguration(), SyslinkComponentController::resetDefaults(), CameraSection::scanForSection(), SpeedSection::scanForSection(), ParameterEditorController::sendDiff(), Gimbal::setAbsolutePitch(), Gimbal::setAbsoluteRoll(), Gimbal::setAbsoluteYaw(), MissionItem::setAutoContinue(), ESP8266ComponentController::setBaudIndex(), Gimbal::setBodyYaw(), CameraCalc::setCameraBrand(), VehicleCameraControl::setCameraMode(), CameraCalc::setCameraModel(), MissionItem::setCommand(), setCookedValue(), RallyPoint::setCoordinate(), Gimbal::setDeltaYaw(), Gimbal::setDeviceId(), MissionItem::setFrame(), LandingComplexItem::setLandingHeadingToTakeoffHeading(), Gimbal::setManagerCompid(), setMetaData(), SimpleMissionItem::setMissionFlightStatus(), MissionItem::setParam1(), MissionItem::setParam2(), MissionItem::setParam3(), MissionItem::setParam4(), MissionItem::setParam5(), MissionItem::setParam6(), MissionItem::setParam7(), Vehicle::setPIDTuningTelemetryMode(), SyslinkComponentController::setRadioAddress(), SyslinkComponentController::setRadioChannel(), SyslinkComponentController::setRadioRate(), APMFlightModesComponentController::setSimpleMode(), APMFlightModesComponentController::setSuperSimpleMode(), RCToParamDialogController::setTuningFact(), ESP8266ComponentController::setWifiPassword(), ESP8266ComponentController::setWifiPasswordSta(), ESP8266ComponentController::setWifiSSID(), ESP8266ComponentController::setWifiSSIDSta(), SimpleMissionItem::SimpleMissionItem(), SpeedSection::SpeedSection(), VehicleObjectAvoidance::start(), VehicleObjectAvoidance::stop(), Vehicle::updateFlightDistance(), VehicleFactGroup::updateRCRSSI(), VehicleClockFactGroup::VehicleClockFactGroup(), VehicleEFIFactGroup::VehicleEFIFactGroup(), VehicleFactGroup::VehicleFactGroup(), VehicleGeneratorFactGroup::VehicleGeneratorFactGroup(), VehicleGPSFactGroup::VehicleGPSFactGroup(), VehicleHygrometerFactGroup::VehicleHygrometerFactGroup(), VehicleLocalPositionFactGroup::VehicleLocalPositionFactGroup(), VehicleLocalPositionSetpointFactGroup::VehicleLocalPositionSetpointFactGroup(), VehicleRPMFactGroup::VehicleRPMFactGroup(), VehicleSetpointFactGroup::VehicleSetpointFactGroup(), VehicleTemperatureFactGroup::VehicleTemperatureFactGroup(), VehicleVibrationFactGroup::VehicleVibrationFactGroup(), and VehicleWindFactGroup::VehicleWindFactGroup().

◆ setSendValueChangedSignals()

void Fact::setSendValueChangedSignals ( bool  sendValueChangedSignals)

◆ shortDescription()

QString Fact::shortDescription ( ) const

Definition at line 525 of file Fact.cc.

References _metaData, kMissingMetadata, name(), and FactMetaData::shortDescription().

Referenced by ParameterTableModel::insert().

◆ type()

◆ typeIsBool()

bool Fact::typeIsBool ( ) const
inline

Definition at line 141 of file Fact.h.

References type(), and FactMetaData::valueTypeBool.

◆ typeIsString()

bool Fact::typeIsString ( ) const
inline

Definition at line 140 of file Fact.h.

References type(), and FactMetaData::valueTypeString.

◆ validate()

QString Fact::validate ( const QString &  cookedValue,
bool  convertOnly 
)

Convert and validate value

Parameters
cookedValueValue to convert and validate
convertOnlytrue: validate type conversion only, false: validate against meta data as well

Definition at line 788 of file Fact.cc.

References _metaData, FactMetaData::convertAndValidateCooked(), cookedValue(), errorString, kMissingMetadata, and name().

◆ valueChanged

◆ valueEqualsDefault()

bool Fact::valueEqualsDefault ( ) const

◆ valueIndex()

int Fact::valueIndex ( const QString &  value) const

Definition at line 173 of file Fact.cc.

References _metaData, FactMetaData::enumStrings(), kMissingMetadata, and name().

Referenced by setEnumStringValue().

◆ vehicleRebootRequired()

bool Fact::vehicleRebootRequired ( ) const

Definition at line 819 of file Fact.cc.

References _metaData, kMissingMetadata, name(), and FactMetaData::vehicleRebootRequired().

◆ vehicleUpdated

void Fact::vehicleUpdated ( const QVariant &  value)
signal

Signalled when the param write ack comes back from the vehicle.

Referenced by AirframeComponentController::changeAutostart(), containerSetRawValue(), and RCToParamDialogController::setTuningFact().

◆ volatileValue()

bool Fact::volatileValue ( ) const

Definition at line 929 of file Fact.cc.

References _metaData, kMissingMetadata, name(), and FactMetaData::volatileValue().

◆ writeOnly()

Member Data Documentation

◆ _componentId

int Fact::_componentId = -1
protected

Definition at line 206 of file Fact.h.

Referenced by componentId(), and operator=().

◆ _deferredValueChangeSignal

bool Fact::_deferredValueChangeSignal = false
protected

◆ _metaData

◆ _name

QString Fact::_name
protected

Definition at line 205 of file Fact.h.

Referenced by name(), operator=(), setName(), and SettingsFact::SettingsFact().

◆ _rawValue

QVariant Fact::_rawValue {0}
protected

◆ _rawValueMutex

QRecursiveMutex Fact::_rawValueMutex
mutableprotected

◆ _sendValueChangedSignals

bool Fact::_sendValueChangedSignals = true
protected

◆ _type

Definition at line 209 of file Fact.h.

Referenced by Fact(), operator=(), and type().

◆ kMissingMetadata


The documentation for this class was generated from the following files: