|
|
|
@ -88,7 +88,7 @@ const char* FactMetaData::_qgcRebootRequiredJsonKey = "qgcRebootRequired";
@@ -88,7 +88,7 @@ const char* FactMetaData::_qgcRebootRequiredJsonKey = "qgcRebootRequired";
|
|
|
|
|
FactMetaData::FactMetaData(QObject* parent) |
|
|
|
|
: QObject (parent) |
|
|
|
|
, _type (valueTypeInt32) |
|
|
|
|
, _decimalPlaces (unknownDecimalPlaces) |
|
|
|
|
, _decimalPlaces (kUnknownDecimalPlaces) |
|
|
|
|
, _rawDefaultValue (0) |
|
|
|
|
, _defaultValueAvailable(false) |
|
|
|
|
, _rawMax (_maxForType()) |
|
|
|
@ -112,7 +112,7 @@ FactMetaData::FactMetaData(QObject* parent)
@@ -112,7 +112,7 @@ FactMetaData::FactMetaData(QObject* parent)
|
|
|
|
|
FactMetaData::FactMetaData(ValueType_t type, QObject* parent) |
|
|
|
|
: QObject (parent) |
|
|
|
|
, _type (type) |
|
|
|
|
, _decimalPlaces (unknownDecimalPlaces) |
|
|
|
|
, _decimalPlaces (kUnknownDecimalPlaces) |
|
|
|
|
, _rawDefaultValue (0) |
|
|
|
|
, _defaultValueAvailable(false) |
|
|
|
|
, _rawMax (_maxForType()) |
|
|
|
@ -142,7 +142,7 @@ FactMetaData::FactMetaData(const FactMetaData& other, QObject* parent)
@@ -142,7 +142,7 @@ FactMetaData::FactMetaData(const FactMetaData& other, QObject* parent)
|
|
|
|
|
FactMetaData::FactMetaData(ValueType_t type, const QString name, QObject* parent) |
|
|
|
|
: QObject (parent) |
|
|
|
|
, _type (type) |
|
|
|
|
, _decimalPlaces (unknownDecimalPlaces) |
|
|
|
|
, _decimalPlaces (kUnknownDecimalPlaces) |
|
|
|
|
, _rawDefaultValue (0) |
|
|
|
|
, _defaultValueAvailable(false) |
|
|
|
|
, _rawMax (_maxForType()) |
|
|
|
@ -1023,8 +1023,8 @@ double FactMetaData::cookedIncrement(void) const
@@ -1023,8 +1023,8 @@ double FactMetaData::cookedIncrement(void) const
|
|
|
|
|
|
|
|
|
|
int FactMetaData::decimalPlaces(void) const |
|
|
|
|
{ |
|
|
|
|
int actualDecimalPlaces = defaultDecimalPlaces; |
|
|
|
|
int incrementDecimalPlaces = unknownDecimalPlaces; |
|
|
|
|
int actualDecimalPlaces = kDefaultDecimalPlaces; |
|
|
|
|
int incrementDecimalPlaces = kUnknownDecimalPlaces; |
|
|
|
|
|
|
|
|
|
// First determine decimal places from increment
|
|
|
|
|
double increment = _rawTranslator(this->rawIncrement()).toDouble(); |
|
|
|
@ -1041,20 +1041,21 @@ int FactMetaData::decimalPlaces(void) const
@@ -1041,20 +1041,21 @@ int FactMetaData::decimalPlaces(void) const
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Correct decimal places is the larger of the two, increment or meta data value
|
|
|
|
|
if (incrementDecimalPlaces != unknownDecimalPlaces && _decimalPlaces == unknownDecimalPlaces) { |
|
|
|
|
actualDecimalPlaces = incrementDecimalPlaces; |
|
|
|
|
} else { |
|
|
|
|
// Adjust decimal places for cooked translation
|
|
|
|
|
int settingsDecimalPlaces = _decimalPlaces == unknownDecimalPlaces ? defaultDecimalPlaces : _decimalPlaces; |
|
|
|
|
double ctest = _rawTranslator(1.0).toDouble(); |
|
|
|
|
|
|
|
|
|
settingsDecimalPlaces += -log10(ctest); |
|
|
|
|
if (_decimalPlaces == kUnknownDecimalPlaces) { |
|
|
|
|
if (incrementDecimalPlaces != kUnknownDecimalPlaces) { |
|
|
|
|
actualDecimalPlaces = incrementDecimalPlaces; |
|
|
|
|
} else { |
|
|
|
|
// Adjust decimal places for cooked translation
|
|
|
|
|
int settingsDecimalPlaces = _decimalPlaces == kUnknownDecimalPlaces ? kDefaultDecimalPlaces : _decimalPlaces; |
|
|
|
|
double ctest = _rawTranslator(1.0).toDouble(); |
|
|
|
|
|
|
|
|
|
settingsDecimalPlaces = qMin(25, settingsDecimalPlaces); |
|
|
|
|
settingsDecimalPlaces = qMax(0, settingsDecimalPlaces); |
|
|
|
|
settingsDecimalPlaces += -log10(ctest); |
|
|
|
|
|
|
|
|
|
actualDecimalPlaces = qMax(settingsDecimalPlaces, incrementDecimalPlaces); |
|
|
|
|
settingsDecimalPlaces = qMin(25, settingsDecimalPlaces); |
|
|
|
|
settingsDecimalPlaces = qMax(0, settingsDecimalPlaces); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
actualDecimalPlaces = _decimalPlaces; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return actualDecimalPlaces; |
|
|
|
|