5/// This is used to handle the various differences between firmware versions and missing parameters in each in a standard way.
7 property var factPanelController ///< Must be specified by consumer of control
9 property Fact _noFact: Fact { }
11 property bool compassPrimaryFactAvailable: factPanelController.parameterExists(-1, "COMPASS_PRIMARY")
12 property Fact compassPrimaryFact: compassPrimaryFactAvailable ? factPanelController.getParameterFact(-1, "COMPASS_PRIMARY") : _noFact
13 property bool compass1Primary: compassPrimaryFactAvailable ? compassPrimaryFact.rawValue == 0 : false
14 property bool compass2Primary: compassPrimaryFactAvailable ? compassPrimaryFact.rawValue == 1 : false
15 property bool compass3Primary: compassPrimaryFactAvailable ? compassPrimaryFact.rawValue == 2 : false
16 property var rgCompassPrimary: [ compass1Primary, compass2Primary, compass3Primary ]
18 property Fact compass1Id: factPanelController.getParameterFact(-1, "COMPASS_DEV_ID")
19 property Fact compass2Id: factPanelController.getParameterFact(-1, "COMPASS_DEV_ID2")
20 property Fact compass3Id: factPanelController.getParameterFact(-1, "COMPASS_DEV_ID3")
21 property var rgCompassId: [ compass1Id, compass2Id, compass3Id ]
23 property bool compassPrioFactsAvailable: factPanelController.parameterExists(-1, "COMPASS_PRIO1_ID")
24 property Fact compassPrio1Fact: compassPrioFactsAvailable ? factPanelController.getParameterFact(-1, "COMPASS_PRIO1_ID") : _noFact
25 property Fact compassPrio2Fact: compassPrioFactsAvailable ? factPanelController.getParameterFact(-1, "COMPASS_PRIO2_ID") : _noFact
26 property Fact compassPrio3Fact: compassPrioFactsAvailable ? factPanelController.getParameterFact(-1, "COMPASS_PRIO3_ID") : _noFact
27 property var rgCompassPrio: [ compassPrio1Fact, compassPrio2Fact, compassPrio3Fact ]
29 property bool compass1Available: compass1Id.value > 0
30 property bool compass2Available: compass2Id.value > 0
31 property bool compass3Available: compass3Id.value > 0
32 property var rgCompassAvailable: [ compass1Available, compass2Available, compass3Available ]
34 property bool compass1RotParamAvailable: factPanelController.parameterExists(-1, "COMPASS_ORIENT")
35 property bool compass2RotParamAvailable: factPanelController.parameterExists(-1, "COMPASS_ORIENT2")
36 property bool compass3RotParamAvailable: factPanelController.parameterExists(-1, "COMPASS_ORIENT3")
37 property var rgCompassRotParamAvailable: [ compass1RotParamAvailable, compass2RotParamAvailable, compass3RotParamAvailable ]
39 property Fact compass1RotFact: compass2RotParamAvailable ? factPanelController.getParameterFact(-1, "COMPASS_ORIENT") : _noFact
40 property Fact compass2RotFact: compass2RotParamAvailable ? factPanelController.getParameterFact(-1, "COMPASS_ORIENT2") : _noFact
41 property Fact compass3RotFact: compass3RotParamAvailable ? factPanelController.getParameterFact(-1, "COMPASS_ORIENT3") : _noFact
42 property var rgCompassRotFact: [ compass1RotFact, compass2RotFact, compass3RotFact ]
44 property bool compass1UseParamAvailable: factPanelController.parameterExists(-1, "COMPASS_USE")
45 property bool compass2UseParamAvailable: factPanelController.parameterExists(-1, "COMPASS_USE2")
46 property bool compass3UseParamAvailable: factPanelController.parameterExists(-1, "COMPASS_USE3")
47 property var rgCompassUseParamAvailable: [ compass1UseParamAvailable, compass2UseParamAvailable, compass3UseParamAvailable ]
49 property Fact compass1UseFact: compass1UseParamAvailable ? factPanelController.getParameterFact(-1, "COMPASS_USE") : _noFact
50 property Fact compass2UseFact: compass2UseParamAvailable ? factPanelController.getParameterFact(-1, "COMPASS_USE2") : _noFact
51 property Fact compass3UseFact: compass3UseParamAvailable ? factPanelController.getParameterFact(-1, "COMPASS_USE3") : _noFact
52 property var rgCompassUseFact: [ compass1UseFact, compass2UseFact, compass3UseFact ]
54 property bool compass1Use: compass1UseParamAvailable ? compass1UseFact.value : true
55 property bool compass2Use: compass2UseParamAvailable ? compass2UseFact.value : true
56 property bool compass3Use: compass3UseParamAvailable ? compass3UseFact.value : true
58 property bool compass1ExternalParamAvailable: factPanelController.parameterExists(-1, "COMPASS_EXTERNAL")
59 property bool compass2ExternalParamAvailable: factPanelController.parameterExists(-1, "COMPASS_EXTERN2")
60 property bool compass3ExternalParamAvailable: factPanelController.parameterExists(-1, "COMPASS_EXTERN3")
61 property var rgCompassExternalParamAvailable: [ compass1ExternalParamAvailable, compass2ExternalParamAvailable, compass3ExternalParamAvailable ]
63 property Fact compass1ExternalFact: compass1ExternalParamAvailable ? factPanelController.getParameterFact(-1, "COMPASS_EXTERNAL") : _noFact
64 property Fact compass2ExternalFact: compass2ExternalParamAvailable ? factPanelController.getParameterFact(-1, "COMPASS_EXTERN2") : _noFact
65 property Fact compass3ExternalFact: compass3ExternalParamAvailable ? factPanelController.getParameterFact(-1, "COMPASS_EXTERN3") : _noFact
67 property bool compass1External: !!compass1ExternalFact.rawValue
68 property bool compass2External: !!compass2ExternalFact.rawValue
69 property bool compass3External: !!compass3ExternalFact.rawValue
70 property var rgCompassExternal: [ compass1External, compass2External, compass3External ]
72 property Fact compass1OfsXFact: factPanelController.getParameterFact(-1, "COMPASS_OFS_X")
73 property Fact compass1OfsYFact: factPanelController.getParameterFact(-1, "COMPASS_OFS_Y")
74 property Fact compass1OfsZFact: factPanelController.getParameterFact(-1, "COMPASS_OFS_Z")
75 property Fact compass2OfsXFact: factPanelController.getParameterFact(-1, "COMPASS_OFS2_X")
76 property Fact compass2OfsYFact: factPanelController.getParameterFact(-1, "COMPASS_OFS2_Y")
77 property Fact compass2OfsZFact: factPanelController.getParameterFact(-1, "COMPASS_OFS2_Z")
78 property Fact compass3OfsXFact: factPanelController.getParameterFact(-1, "COMPASS_OFS3_X")
79 property Fact compass3OfsYFact: factPanelController.getParameterFact(-1, "COMPASS_OFS3_Y")
80 property Fact compass3OfsZFact: factPanelController.getParameterFact(-1, "COMPASS_OFS3_Z")
82 property bool compass1Calibrated: compass1Available ? compass1OfsXFact.value != 0.0 && compass1OfsYFact.value != 0.0 &&compass1OfsZFact.value != 0.0 : false
83 property bool compass2Calibrated: compass2Available ? compass2OfsXFact.value != 0.0 && compass2OfsYFact.value != 0.0 &&compass2OfsZFact.value != 0.0 : false
84 property bool compass3Calibrated: compass3Available ? compass3OfsXFact.value != 0.0 && compass3OfsYFact.value != 0.0 &&compass3OfsZFact.value != 0.0 : false
85 property var rgCompassCalibrated: [ compass1Calibrated, compass2Calibrated, compass3Calibrated ]
87 property Fact declinationFact: factPanelController.getParameterFact(-1, "COMPASS_DEC")
89 // Deals with missing parameters in older fw
90 property bool ins1IdParamAvailable: factPanelController.parameterExists(-1, "INS_ACC_ID")
91 property bool ins2IdParamAvailable: factPanelController.parameterExists(-1, "INS_ACC2_ID")
92 property bool ins3IdParamAvailable: factPanelController.parameterExists(-1, "INS_ACC3_ID")
94 property Fact ins1Id: ins1IdParamAvailable ? factPanelController.getParameterFact(-1, "INS_ACC_ID") : _noFact
95 property Fact ins2Id: ins2IdParamAvailable ? factPanelController.getParameterFact(-1, "INS_ACC2_ID") : _noFact
96 property Fact ins3Id: ins3IdParamAvailable ? factPanelController.getParameterFact(-1, "INS_ACC3_ID") : _noFact
97 property var rgInsId: [ ins1Id, ins2Id, ins3Id ]
99 property bool baroIdAvailable: factPanelController.parameterExists(-1, "BARO1_DEVID")
101 property Fact baro1Id: baroIdAvailable ? factPanelController.getParameterFact(-1, "BARO1_DEVID") : _noFact
102 property Fact baro2Id: baroIdAvailable ? factPanelController.getParameterFact(-1, "BARO2_DEVID") : _noFact
103 property Fact baro3Id: baroIdAvailable ? factPanelController.getParameterFact(-1, "BARO3_DEVID") : _noFact
104 property var rgBaroId: [ baro1Id, baro2Id, baro3Id ]