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.
34 lines
1.6 KiB
34 lines
1.6 KiB
1 year ago
|
# Fact System
|
||
|
|
||
|
The Fact System provides a set of capabilities which standardizes and simplifies the creation of the QGC user interface.
|
||
|
|
||
|
## Fact {#fact}
|
||
|
|
||
|
A Fact represents a single value within the system.
|
||
|
|
||
|
## FactMetaData
|
||
|
|
||
|
There is `FactMetaData` associated with each fact. It provides details on the Fact in order to drive automatic user interface generation and validation.
|
||
|
|
||
|
## Fact Controls
|
||
|
|
||
|
A Fact Control is a QML user interface control which connects to a Fact and it's `FactMetaData` to provide a control to the user to modify/display the value associated with the Fact.
|
||
|
|
||
|
## FactGroup
|
||
|
|
||
|
A _Fact Group_ is a group of [Facts](#fact).
|
||
|
It is used to organise facts and manage user defined facts.
|
||
|
|
||
|
## Custom Build Support
|
||
|
|
||
|
User defined facts can be added by overriding `factGroups` function of `FirmwarePlugin` in a custom firmware plugin class.
|
||
|
These functions return a name to fact group map that is used to identify added fact groups.
|
||
|
A custom fact group can be added by extending `FactGroup` class.
|
||
|
FactMetaDatas could be defined using the appopriate `FactGroup` constructor by providing a json file containing necessery information.
|
||
|
|
||
|
Changing the metadata of existing facts is also possible by overriding `adjustMetaData` of `FirmwarePlugin` class.
|
||
|
|
||
|
A fact associated with a vehicle (including facts belonging to fact groups returned in `factGroups` function of the vehicles Firmware plugin) can be reached using `getFact("factName")` or `getFact("factGroupName.factName")`
|
||
|
|
||
|
For additional information please refer to comments in [FirmwarePlugin.h](https://github.com/mavlink/qgroundcontrol/blob/v4.0.8/src/FirmwarePlugin/FirmwarePlugin.h).
|