mirror of
https://github.com/opentx/opentx.git
synced 2025-07-13 11:29:51 +03:00
Implement a constant calculated telemetry source (closes #3579)
This commit is contained in:
parent
95641d649d
commit
06217c71a4
21 changed files with 97 additions and 25 deletions
|
@ -962,7 +962,8 @@ class SensorData {
|
||||||
TELEM_FORMULA_CELL,
|
TELEM_FORMULA_CELL,
|
||||||
TELEM_FORMULA_CONSUMPTION,
|
TELEM_FORMULA_CONSUMPTION,
|
||||||
TELEM_FORMULA_DIST,
|
TELEM_FORMULA_DIST,
|
||||||
TELEM_FORMULA_LAST = TELEM_FORMULA_DIST
|
TELEM_FORMULA_CONSTANT,
|
||||||
|
TELEM_FORMULA_LAST = TELEM_FORMULA_CONSTANT
|
||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
|
|
|
@ -2891,6 +2891,8 @@ class SensorField: public TransformedField {
|
||||||
_param = (sensor.gps) + (sensor.alt << 8);
|
_param = (sensor.gps) + (sensor.alt << 8);
|
||||||
else if (sensor.formula == SensorData::TELEM_FORMULA_CONSUMPTION || sensor.formula == SensorData::TELEM_FORMULA_TOTALIZE)
|
else if (sensor.formula == SensorData::TELEM_FORMULA_CONSUMPTION || sensor.formula == SensorData::TELEM_FORMULA_TOTALIZE)
|
||||||
_param = (sensor.amps);
|
_param = (sensor.amps);
|
||||||
|
else if (sensor.formula == SensorData::TELEM_FORMULA_CONSTANT)
|
||||||
|
_offset = sensor.offset;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2914,6 +2916,8 @@ class SensorField: public TransformedField {
|
||||||
(sensor.gps = _sources[0], sensor.alt = _sources[1]);
|
(sensor.gps = _sources[0], sensor.alt = _sources[1]);
|
||||||
else if (sensor.formula == SensorData::TELEM_FORMULA_CONSUMPTION || sensor.formula == SensorData::TELEM_FORMULA_TOTALIZE)
|
else if (sensor.formula == SensorData::TELEM_FORMULA_CONSUMPTION || sensor.formula == SensorData::TELEM_FORMULA_TOTALIZE)
|
||||||
sensor.amps = _sources[0];
|
sensor.amps = _sources[0];
|
||||||
|
else if (sensor.formula == SensorData::TELEM_FORMULA_CONSTANT)
|
||||||
|
sensor.offset = _offset;
|
||||||
}
|
}
|
||||||
eepromImportDebug() << QString("imported %1").arg(internalField.getName());
|
eepromImportDebug() << QString("imported %1").arg(internalField.getName());
|
||||||
}
|
}
|
||||||
|
|
|
@ -529,13 +529,16 @@ TelemetrySensorPanel::~TelemetrySensorPanel()
|
||||||
void TelemetrySensorPanel::update()
|
void TelemetrySensorPanel::update()
|
||||||
{
|
{
|
||||||
bool isConfigurable = false;
|
bool isConfigurable = false;
|
||||||
|
bool isUnitConfigurable = false;
|
||||||
|
bool isPrecConfigurable = false;
|
||||||
bool gpsFieldsDisplayed = false;
|
bool gpsFieldsDisplayed = false;
|
||||||
bool cellsFieldsDisplayed = false;
|
bool cellsFieldsDisplayed = false;
|
||||||
bool consFieldsDisplayed = false;
|
bool consumptionFieldsDisplayed = false;
|
||||||
bool ratioFieldsDisplayed = false;
|
bool ratioFieldsDisplayed = false;
|
||||||
bool totalizeFieldsDisplayed = false;
|
bool totalizeFieldsDisplayed = false;
|
||||||
bool sources12FieldsDisplayed = false;
|
bool sources12FieldsDisplayed = false;
|
||||||
bool sources34FieldsDisplayed = false;
|
bool sources34FieldsDisplayed = false;
|
||||||
|
bool constantFieldDisplayed = false;
|
||||||
|
|
||||||
lock = true;
|
lock = true;
|
||||||
ui->name->setText(sensor.label);
|
ui->name->setText(sensor.label);
|
||||||
|
@ -552,12 +555,15 @@ void TelemetrySensorPanel::update()
|
||||||
ui->formula->show();
|
ui->formula->show();
|
||||||
ui->formula->setCurrentIndex(sensor.formula);
|
ui->formula->setCurrentIndex(sensor.formula);
|
||||||
isConfigurable = (sensor.formula < SensorData::TELEM_FORMULA_CELL);
|
isConfigurable = (sensor.formula < SensorData::TELEM_FORMULA_CELL);
|
||||||
|
isUnitConfigurable = isConfigurable || (sensor.formula == SensorData::TELEM_FORMULA_DIST || sensor.formula == SensorData::TELEM_FORMULA_CONSTANT);
|
||||||
|
isPrecConfigurable = isUnitConfigurable || sensor.unit == SensorData::UNIT_CELLS;
|
||||||
gpsFieldsDisplayed = (sensor.formula == SensorData::TELEM_FORMULA_DIST);
|
gpsFieldsDisplayed = (sensor.formula == SensorData::TELEM_FORMULA_DIST);
|
||||||
cellsFieldsDisplayed = (sensor.formula == SensorData::TELEM_FORMULA_CELL);
|
cellsFieldsDisplayed = (sensor.formula == SensorData::TELEM_FORMULA_CELL);
|
||||||
consFieldsDisplayed = (sensor.formula == SensorData::TELEM_FORMULA_CONSUMPTION);
|
consumptionFieldsDisplayed = (sensor.formula == SensorData::TELEM_FORMULA_CONSUMPTION);
|
||||||
sources12FieldsDisplayed = (sensor.formula <= SensorData::TELEM_FORMULA_MULTIPLY);
|
sources12FieldsDisplayed = (sensor.formula <= SensorData::TELEM_FORMULA_MULTIPLY);
|
||||||
sources34FieldsDisplayed = (sensor.formula < SensorData::TELEM_FORMULA_MULTIPLY);
|
sources34FieldsDisplayed = (sensor.formula < SensorData::TELEM_FORMULA_MULTIPLY);
|
||||||
totalizeFieldsDisplayed = (sensor.formula == SensorData::TELEM_FORMULA_TOTALIZE);
|
totalizeFieldsDisplayed = (sensor.formula == SensorData::TELEM_FORMULA_TOTALIZE);
|
||||||
|
constantFieldDisplayed = (sensor.formula == SensorData::TELEM_FORMULA_CONSTANT);
|
||||||
updateSourcesComboBox(ui->source1, true);
|
updateSourcesComboBox(ui->source1, true);
|
||||||
updateSourcesComboBox(ui->source2, true);
|
updateSourcesComboBox(ui->source2, true);
|
||||||
updateSourcesComboBox(ui->source3, true);
|
updateSourcesComboBox(ui->source3, true);
|
||||||
|
@ -600,16 +606,17 @@ void TelemetrySensorPanel::update()
|
||||||
ui->ratio->setVisible(ratioFieldsDisplayed);
|
ui->ratio->setVisible(ratioFieldsDisplayed);
|
||||||
ui->offsetLabel->setVisible(ratioFieldsDisplayed && sensor.unit != SensorData::UNIT_RPMS);
|
ui->offsetLabel->setVisible(ratioFieldsDisplayed && sensor.unit != SensorData::UNIT_RPMS);
|
||||||
ui->multiplierLabel->setVisible(sensor.unit == SensorData::UNIT_RPMS);
|
ui->multiplierLabel->setVisible(sensor.unit == SensorData::UNIT_RPMS);
|
||||||
ui->offset->setVisible(ratioFieldsDisplayed);
|
ui->valueLabel->setVisible(constantFieldDisplayed);
|
||||||
ui->precLabel->setVisible(isConfigurable && sensor.unit != SensorData::UNIT_FAHRENHEIT);
|
ui->offset->setVisible(ratioFieldsDisplayed || constantFieldDisplayed );
|
||||||
ui->prec->setVisible(isConfigurable && sensor.unit != SensorData::UNIT_FAHRENHEIT);
|
ui->precLabel->setVisible(isPrecConfigurable && sensor.unit != SensorData::UNIT_FAHRENHEIT);
|
||||||
ui->unit->setVisible((sensor.type == SensorData::TELEM_TYPE_CALCULATED && (sensor.formula == SensorData::TELEM_FORMULA_DIST)) || isConfigurable);
|
ui->prec->setVisible(isPrecConfigurable && sensor.unit != SensorData::UNIT_FAHRENHEIT);
|
||||||
|
ui->unit->setVisible(isUnitConfigurable);
|
||||||
ui->gpsSensorLabel->setVisible(gpsFieldsDisplayed);
|
ui->gpsSensorLabel->setVisible(gpsFieldsDisplayed);
|
||||||
ui->gpsSensor->setVisible(gpsFieldsDisplayed);
|
ui->gpsSensor->setVisible(gpsFieldsDisplayed);
|
||||||
ui->altSensorLabel->setVisible(gpsFieldsDisplayed);
|
ui->altSensorLabel->setVisible(gpsFieldsDisplayed);
|
||||||
ui->altSensor->setVisible(gpsFieldsDisplayed);
|
ui->altSensor->setVisible(gpsFieldsDisplayed);
|
||||||
ui->ampsSensorLabel->setVisible(consFieldsDisplayed || totalizeFieldsDisplayed);
|
ui->ampsSensorLabel->setVisible(consumptionFieldsDisplayed || totalizeFieldsDisplayed);
|
||||||
ui->ampsSensor->setVisible(consFieldsDisplayed || totalizeFieldsDisplayed);
|
ui->ampsSensor->setVisible(consumptionFieldsDisplayed || totalizeFieldsDisplayed);
|
||||||
ui->cellsSensorLabel->setVisible(cellsFieldsDisplayed);
|
ui->cellsSensorLabel->setVisible(cellsFieldsDisplayed);
|
||||||
ui->cellsSensor->setVisible(cellsFieldsDisplayed);
|
ui->cellsSensor->setVisible(cellsFieldsDisplayed);
|
||||||
ui->cellsIndex->setVisible(cellsFieldsDisplayed);
|
ui->cellsIndex->setVisible(cellsFieldsDisplayed);
|
||||||
|
|
|
@ -167,6 +167,11 @@
|
||||||
<string>Dist</string>
|
<string>Dist</string>
|
||||||
</property>
|
</property>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Constant</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
|
@ -565,6 +570,13 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="valueLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Value</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="AutoDoubleSpinBox" name="offset">
|
<widget class="AutoDoubleSpinBox" name="offset">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
|
|
|
@ -664,6 +664,10 @@ PACK(struct TelemetrySensor {
|
||||||
uint8_t alt;
|
uint8_t alt;
|
||||||
uint16_t spare;
|
uint16_t spare;
|
||||||
}) dist;
|
}) dist;
|
||||||
|
PACK(struct {
|
||||||
|
uint8_t spare[2];
|
||||||
|
int16_t value;
|
||||||
|
}) constant;
|
||||||
uint32_t param;
|
uint32_t param;
|
||||||
};
|
};
|
||||||
NOBACKUP(
|
NOBACKUP(
|
||||||
|
@ -673,6 +677,7 @@ PACK(struct TelemetrySensor {
|
||||||
int32_t getValue(int32_t value, uint8_t unit, uint8_t prec) const;
|
int32_t getValue(int32_t value, uint8_t unit, uint8_t prec) const;
|
||||||
bool isConfigurable() const;
|
bool isConfigurable() const;
|
||||||
bool isPrecConfigurable() const;
|
bool isPrecConfigurable() const;
|
||||||
|
bool isUnitConfigurable() const;
|
||||||
int32_t getPrecMultiplier() const;
|
int32_t getPrecMultiplier() const;
|
||||||
int32_t getPrecDivisor() const);
|
int32_t getPrecDivisor() const);
|
||||||
});
|
});
|
||||||
|
|
|
@ -344,6 +344,14 @@ void menuModelSensor(uint8_t event)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
else if (sensor->formula == TELEM_FORMULA_CONSTANT) {
|
||||||
|
lcd_putsLeft(y, STR_VALUE);
|
||||||
|
if (attr)
|
||||||
|
sensor->custom.offset = checkIncDec(event, sensor->constant.value, -30000, +30000, EE_MODEL|NO_INCDEC_MARKS|INCDEC_REP10);
|
||||||
|
if (sensor->prec > 0) attr |= (sensor->prec == 2 ? PREC2 : PREC1);
|
||||||
|
lcdDrawNumber(SENSOR_2ND_COLUMN, y, sensor->constant.value, LEFT|attr);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (sensor->unit == UNIT_RPMS) {
|
if (sensor->unit == UNIT_RPMS) {
|
||||||
|
|
|
@ -112,10 +112,10 @@ enum SensorFields {
|
||||||
#define SENSOR_2ND_COLUMN 140
|
#define SENSOR_2ND_COLUMN 140
|
||||||
#define SENSOR_3RD_COLUMN 280
|
#define SENSOR_3RD_COLUMN 280
|
||||||
|
|
||||||
#define SENSOR_UNIT_ROWS ((sensor->type == TELEM_TYPE_CALCULATED && (sensor->formula == TELEM_FORMULA_DIST)) || sensor->isConfigurable() ? (uint8_t)0 : HIDDEN_ROW)
|
#define SENSOR_UNIT_ROWS (sensor->isUnitConfigurable() ? (uint8_t)0 : HIDDEN_ROW)
|
||||||
#define SENSOR_PREC_ROWS (sensor->isPrecConfigurable() && sensor->unit != UNIT_FAHRENHEIT ? (uint8_t)0 : HIDDEN_ROW)
|
#define SENSOR_PREC_ROWS (sensor->isPrecConfigurable() && sensor->unit != UNIT_FAHRENHEIT ? (uint8_t)0 : HIDDEN_ROW)
|
||||||
#define SENSOR_PARAM1_ROWS (sensor->unit >= UNIT_FIRST_VIRTUAL ? HIDDEN_ROW : (uint8_t)0)
|
#define SENSOR_PARAM1_ROWS (sensor->unit >= UNIT_FIRST_VIRTUAL ? HIDDEN_ROW : (uint8_t)0)
|
||||||
#define SENSOR_PARAM2_ROWS (sensor->unit == UNIT_GPS || sensor->unit == UNIT_DATETIME || sensor->unit == UNIT_CELLS || (sensor->type==TELEM_TYPE_CALCULATED && (sensor->formula==TELEM_FORMULA_CONSUMPTION || sensor->formula==TELEM_FORMULA_TOTALIZE)) ? HIDDEN_ROW : (uint8_t)0)
|
#define SENSOR_PARAM2_ROWS (sensor->unit == UNIT_GPS || sensor->unit == UNIT_DATETIME || sensor->unit == UNIT_CELLS || (sensor->type==TELEM_TYPE_CALCULATED && (sensor->formula==TELEM_FORMULA_CONSUMPTION || sensor->formula==TELEM_FORMULA_TOTALIZE || sensor->formula==TELEM_FORMULA_CONSTANT)) ? HIDDEN_ROW : (uint8_t)0)
|
||||||
#define SENSOR_PARAM3_ROWS (sensor->type == TELEM_TYPE_CALCULATED && sensor->formula < TELEM_FORMULA_MULTIPLY) ? (uint8_t)0 : HIDDEN_ROW
|
#define SENSOR_PARAM3_ROWS (sensor->type == TELEM_TYPE_CALCULATED && sensor->formula < TELEM_FORMULA_MULTIPLY) ? (uint8_t)0 : HIDDEN_ROW
|
||||||
#define SENSOR_PARAM4_ROWS (sensor->type == TELEM_TYPE_CALCULATED && sensor->formula < TELEM_FORMULA_MULTIPLY) ? (uint8_t)0 : HIDDEN_ROW
|
#define SENSOR_PARAM4_ROWS (sensor->type == TELEM_TYPE_CALCULATED && sensor->formula < TELEM_FORMULA_MULTIPLY) ? (uint8_t)0 : HIDDEN_ROW
|
||||||
#define SENSOR_AUTOOFFSET_ROWS (sensor->unit != UNIT_RPMS && sensor->isConfigurable() ? (uint8_t)0 : HIDDEN_ROW)
|
#define SENSOR_AUTOOFFSET_ROWS (sensor->unit != UNIT_RPMS && sensor->isConfigurable() ? (uint8_t)0 : HIDDEN_ROW)
|
||||||
|
@ -259,6 +259,13 @@ bool menuModelSensor(evt_t event)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
else if (sensor->formula == TELEM_FORMULA_CONSTANT) {
|
||||||
|
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_VALUE);
|
||||||
|
if (attr) sensor->custom.offset = checkIncDec(event, sensor->constant.value, -30000, +30000, EE_MODEL|NO_INCDEC_MARKS|INCDEC_REP10);
|
||||||
|
if (sensor->prec > 0) attr |= (sensor->prec == 2 ? PREC2 : PREC1);
|
||||||
|
lcdDrawNumber(SENSOR_2ND_COLUMN, y, sensor->constant.value, LEFT|attr);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (sensor->unit == UNIT_RPMS) {
|
if (sensor->unit == UNIT_RPMS) {
|
||||||
|
|
|
@ -111,10 +111,10 @@ enum SensorFields {
|
||||||
#define SENSOR_2ND_COLUMN (12*FW)
|
#define SENSOR_2ND_COLUMN (12*FW)
|
||||||
#define SENSOR_3RD_COLUMN (18*FW)
|
#define SENSOR_3RD_COLUMN (18*FW)
|
||||||
|
|
||||||
#define SENSOR_UNIT_ROWS ((sensor->type == TELEM_TYPE_CALCULATED && (sensor->formula == TELEM_FORMULA_DIST)) || sensor->isConfigurable() ? (uint8_t)0 : HIDDEN_ROW)
|
#define SENSOR_UNIT_ROWS (sensor->isUnitConfigurable() ? (uint8_t)0 : HIDDEN_ROW)
|
||||||
#define SENSOR_PREC_ROWS (sensor->isPrecConfigurable() && sensor->unit != UNIT_FAHRENHEIT ? (uint8_t)0 : HIDDEN_ROW)
|
#define SENSOR_PREC_ROWS (sensor->isPrecConfigurable() && sensor->unit != UNIT_FAHRENHEIT ? (uint8_t)0 : HIDDEN_ROW)
|
||||||
#define SENSOR_PARAM1_ROWS (sensor->unit >= UNIT_FIRST_VIRTUAL ? HIDDEN_ROW : (uint8_t)0)
|
#define SENSOR_PARAM1_ROWS (sensor->unit >= UNIT_FIRST_VIRTUAL ? HIDDEN_ROW : (uint8_t)0)
|
||||||
#define SENSOR_PARAM2_ROWS (sensor->unit == UNIT_GPS || sensor->unit == UNIT_DATETIME || sensor->unit == UNIT_CELLS || (sensor->type==TELEM_TYPE_CALCULATED && (sensor->formula==TELEM_FORMULA_CONSUMPTION || sensor->formula==TELEM_FORMULA_TOTALIZE)) ? HIDDEN_ROW : (uint8_t)0)
|
#define SENSOR_PARAM2_ROWS (sensor->unit == UNIT_GPS || sensor->unit == UNIT_DATETIME || sensor->unit == UNIT_CELLS || (sensor->type==TELEM_TYPE_CALCULATED && (sensor->formula==TELEM_FORMULA_CONSUMPTION || sensor->formula==TELEM_FORMULA_TOTALIZE) || sensor->formula==TELEM_FORMULA_CONSTANT) ? HIDDEN_ROW : (uint8_t)0)
|
||||||
#define SENSOR_PARAM3_ROWS (sensor->type == TELEM_TYPE_CALCULATED && sensor->formula < TELEM_FORMULA_MULTIPLY) ? (uint8_t)0 : HIDDEN_ROW
|
#define SENSOR_PARAM3_ROWS (sensor->type == TELEM_TYPE_CALCULATED && sensor->formula < TELEM_FORMULA_MULTIPLY) ? (uint8_t)0 : HIDDEN_ROW
|
||||||
#define SENSOR_PARAM4_ROWS (sensor->type == TELEM_TYPE_CALCULATED && sensor->formula < TELEM_FORMULA_MULTIPLY) ? (uint8_t)0 : HIDDEN_ROW
|
#define SENSOR_PARAM4_ROWS (sensor->type == TELEM_TYPE_CALCULATED && sensor->formula < TELEM_FORMULA_MULTIPLY) ? (uint8_t)0 : HIDDEN_ROW
|
||||||
#define SENSOR_AUTOOFFSET_ROWS (sensor->unit != UNIT_RPMS && sensor->isConfigurable() ? (uint8_t)0 : HIDDEN_ROW)
|
#define SENSOR_AUTOOFFSET_ROWS (sensor->unit != UNIT_RPMS && sensor->isConfigurable() ? (uint8_t)0 : HIDDEN_ROW)
|
||||||
|
@ -256,6 +256,14 @@ void menuModelSensor(uint8_t event)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
else if (sensor->formula == TELEM_FORMULA_CONSTANT) {
|
||||||
|
lcd_putsLeft(y, STR_VALUE);
|
||||||
|
if (attr) sensor->custom.offset = checkIncDec(event, sensor->constant.value, -30000, +30000, EE_MODEL|NO_INCDEC_MARKS|INCDEC_REP10);
|
||||||
|
if (sensor->prec > 0) attr |= (sensor->prec == 2 ? PREC2 : PREC1);
|
||||||
|
lcdDrawNumber(SENSOR_2ND_COLUMN, y, sensor->constant.value, LEFT|attr);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (sensor->unit == UNIT_RPMS) {
|
if (sensor->unit == UNIT_RPMS) {
|
||||||
|
|
|
@ -375,7 +375,8 @@ enum TelemetrySensorFormula
|
||||||
TELEM_FORMULA_CELL,
|
TELEM_FORMULA_CELL,
|
||||||
TELEM_FORMULA_CONSUMPTION,
|
TELEM_FORMULA_CONSUMPTION,
|
||||||
TELEM_FORMULA_DIST,
|
TELEM_FORMULA_DIST,
|
||||||
TELEM_FORMULA_LAST = TELEM_FORMULA_DIST
|
TELEM_FORMULA_CONSTANT,
|
||||||
|
TELEM_FORMULA_LAST = TELEM_FORMULA_CONSTANT
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -428,6 +428,9 @@ void TelemetryItem::eval(const TelemetrySensor & sensor)
|
||||||
setValue(sensor, value, sensor.unit, sensor.prec);
|
setValue(sensor, value, sensor.unit, sensor.prec);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case TELEM_FORMULA_CONSTANT:
|
||||||
|
setValue(sensor, sensor.constant.value, sensor.unit, sensor.prec);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -629,6 +632,19 @@ bool TelemetrySensor::isConfigurable() const
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool TelemetrySensor::isUnitConfigurable() const
|
||||||
|
{
|
||||||
|
if (isConfigurable()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if (type == TELEM_TYPE_CALCULATED && (formula == TELEM_FORMULA_DIST || formula == TELEM_FORMULA_CONSTANT)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool TelemetrySensor::isPrecConfigurable() const
|
bool TelemetrySensor::isPrecConfigurable() const
|
||||||
{
|
{
|
||||||
if (isConfigurable()) {
|
if (isConfigurable()) {
|
||||||
|
@ -637,6 +653,9 @@ bool TelemetrySensor::isPrecConfigurable() const
|
||||||
else if (unit == UNIT_CELLS) {
|
else if (unit == UNIT_CELLS) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
else if (type == TELEM_TYPE_CALCULATED && formula == TELEM_FORMULA_CONSTANT) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -596,7 +596,7 @@
|
||||||
#define TR_VSENSORTYPES "Vlastní\0 ""Vypočtený"
|
#define TR_VSENSORTYPES "Vlastní\0 ""Vypočtený"
|
||||||
|
|
||||||
#define LEN_VFORMULAS "\012"
|
#define LEN_VFORMULAS "\012"
|
||||||
#define TR_VFORMULAS "Součet\0 ""Průměr\0 ""Min\0 ""Max\0 ""Násobení ""Totalize ""Článek\0 ""Spotřeba ""Vzdálenost"
|
#define TR_VFORMULAS "Součet\0 ""Průměr\0 ""Min\0 ""Max\0 ""Násobení ""Totalize ""Článek\0 ""Spotřeba ""Vzdálenost""Constant\0 "
|
||||||
|
|
||||||
#define LEN_VPREC "\004"
|
#define LEN_VPREC "\004"
|
||||||
#define TR_VPREC "X ""X.X ""X.XX"
|
#define TR_VPREC "X ""X.X ""X.XX"
|
||||||
|
|
|
@ -600,7 +600,7 @@
|
||||||
#define TR_VSENSORTYPES "Sensor\0 ""Berechnung"
|
#define TR_VSENSORTYPES "Sensor\0 ""Berechnung"
|
||||||
|
|
||||||
#define LEN_VFORMULAS "\014" // "\10" ursprünglich
|
#define LEN_VFORMULAS "\014" // "\10" ursprünglich
|
||||||
#define TR_VFORMULAS "Addieren\0 ""Mittelwert\0 ""Min\0 ""Max\0 ""Multiplizier""Gesamt\0 ""Zelle\0 ""Verbrauch\0 ""Distanz\0 "
|
#define TR_VFORMULAS "Addieren\0 ""Mittelwert\0 ""Min\0 ""Max\0 ""Multiplizier""Gesamt\0 ""Zelle\0 ""Verbrauch\0 ""Distanz\0 ""Konstante\0 "
|
||||||
|
|
||||||
#define LEN_VPREC "\004" // "\005" Prec0 Prec1 Prec2 ursprünglich
|
#define LEN_VPREC "\004" // "\005" Prec0 Prec1 Prec2 ursprünglich
|
||||||
#define TR_VPREC "0.--""0.0 ""0.00"
|
#define TR_VPREC "0.--""0.0 ""0.00"
|
||||||
|
|
|
@ -608,7 +608,7 @@
|
||||||
#define TR_VSENSORTYPES "Custom\0 ""Calculated"
|
#define TR_VSENSORTYPES "Custom\0 ""Calculated"
|
||||||
|
|
||||||
#define LEN_VFORMULAS "\010"
|
#define LEN_VFORMULAS "\010"
|
||||||
#define TR_VFORMULAS "Add\0 ""Average\0""Min\0 ""Max\0 ""Multiply""Totalize""Cell\0 ""Consumpt""Distance"
|
#define TR_VFORMULAS "Add\0 ""Average\0""Min\0 ""Max\0 ""Multiply""Totalize""Cell\0 ""Consumpt""Distance""Constant"
|
||||||
|
|
||||||
#define LEN_VPREC "\004"
|
#define LEN_VPREC "\004"
|
||||||
#define TR_VPREC "0.--""0.0 ""0.00"
|
#define TR_VPREC "0.--""0.0 ""0.00"
|
||||||
|
|
|
@ -581,7 +581,7 @@
|
||||||
#define TR_VSENSORTYPES "Custom\0 ""Calculated"
|
#define TR_VSENSORTYPES "Custom\0 ""Calculated"
|
||||||
|
|
||||||
#define LEN_VFORMULAS "\010"
|
#define LEN_VFORMULAS "\010"
|
||||||
#define TR_VFORMULAS "Add\0 ""Average\0""Min\0 ""Max\0 ""Multiply""Totalize""Cell\0 ""Consumpt""Distance"
|
#define TR_VFORMULAS "Add\0 ""Average\0""Min\0 ""Max\0 ""Multiply""Totalize""Cell\0 ""Consumpt""Distance""Constant"
|
||||||
|
|
||||||
#define LEN_VPREC "\004"
|
#define LEN_VPREC "\004"
|
||||||
#define TR_VPREC "0.--""0.0 ""0.00"
|
#define TR_VPREC "0.--""0.0 ""0.00"
|
||||||
|
|
|
@ -581,7 +581,7 @@
|
||||||
#define TR_VSENSORTYPES "Custom\0 ""Calculated"
|
#define TR_VSENSORTYPES "Custom\0 ""Calculated"
|
||||||
|
|
||||||
#define LEN_VFORMULAS "\010"
|
#define LEN_VFORMULAS "\010"
|
||||||
#define TR_VFORMULAS "Add\0 ""Average\0""Min\0 ""Max\0 ""Multiply""Totalize""Cell\0 ""Consumpt""Distance"
|
#define TR_VFORMULAS "Add\0 ""Average\0""Min\0 ""Max\0 ""Multiply""Totalize""Cell\0 ""Consumpt""Distance""Constant"
|
||||||
|
|
||||||
#define LEN_VPREC "\004"
|
#define LEN_VPREC "\004"
|
||||||
#define TR_VPREC "0.--""0.0 ""0.00"
|
#define TR_VPREC "0.--""0.0 ""0.00"
|
||||||
|
|
|
@ -595,7 +595,7 @@
|
||||||
#define TR_VSENSORTYPES "Perso\0 ""Calculé\0 "
|
#define TR_VSENSORTYPES "Perso\0 ""Calculé\0 "
|
||||||
|
|
||||||
#define LEN_VFORMULAS "\010"
|
#define LEN_VFORMULAS "\010"
|
||||||
#define TR_VFORMULAS "Addition""Moyenne\0""Min\0 ""Max\0 ""Multipl.""Totalise""Elément\0""Consomm.""Distance"
|
#define TR_VFORMULAS "Addition""Moyenne\0""Min\0 ""Max\0 ""Multipl.""Totalise""Elément\0""Consomm.""Distance""Constant"
|
||||||
|
|
||||||
#define LEN_VPREC "\004"
|
#define LEN_VPREC "\004"
|
||||||
#define TR_VPREC "0.--""0.0 ""0.00"
|
#define TR_VPREC "0.--""0.0 ""0.00"
|
||||||
|
|
|
@ -595,7 +595,7 @@
|
||||||
#define TR_VSENSORTYPES "Custom\0 ""Calcolato\0"
|
#define TR_VSENSORTYPES "Custom\0 ""Calcolato\0"
|
||||||
|
|
||||||
#define LEN_VFORMULAS "\011"
|
#define LEN_VFORMULAS "\011"
|
||||||
#define TR_VFORMULAS "Somma\0 ""Media\0 ""Min\0 ""Max\0 ""Moltipl\0 ""Totalizza""Cella\0 ""Consumo\0 ""Distanza\0"
|
#define TR_VFORMULAS "Somma\0 ""Media\0 ""Min\0 ""Max\0 ""Moltipl\0 ""Totalizza""Cella\0 ""Consumo\0 ""Distanza\0""Constant\0"
|
||||||
|
|
||||||
#define LEN_VPREC "\004"
|
#define LEN_VPREC "\004"
|
||||||
#define TR_VPREC "0.--""0.0 ""0.00"
|
#define TR_VPREC "0.--""0.0 ""0.00"
|
||||||
|
|
|
@ -600,7 +600,7 @@
|
||||||
#define TR_VSENSORTYPES "Custom\0 ""Berekend"
|
#define TR_VSENSORTYPES "Custom\0 ""Berekend"
|
||||||
|
|
||||||
#define LEN_VFORMULAS "\014"
|
#define LEN_VFORMULAS "\014"
|
||||||
#define TR_VFORMULAS "Optellen\0 ""Gemiddeld\0 ""Min\0 ""Max\0 ""Vermenigvuld""Totaal\0 ""Cellen\0 ""Verbruik\0 ""Afstand\0 "
|
#define TR_VFORMULAS "Optellen\0 ""Gemiddeld\0 ""Min\0 ""Max\0 ""Vermenigvuld""Totaal\0 ""Cellen\0 ""Verbruik\0 ""Afstand\0 ""Constant\0 "
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -597,7 +597,7 @@
|
||||||
#define TR_VSENSORTYPES "Użytkownik""Obliczone "
|
#define TR_VSENSORTYPES "Użytkownik""Obliczone "
|
||||||
|
|
||||||
#define LEN_VFORMULAS "\010" /*8 decimal*/
|
#define LEN_VFORMULAS "\010" /*8 decimal*/
|
||||||
#define TR_VFORMULAS "Dodaj\0 ""Średnie\0""Min\0 ""Max\0 ""Mnóż\0 ""Zliczani""Komórka\0""Zużycie\0""Zasięg\0 "
|
#define TR_VFORMULAS "Dodaj\0 ""Średnie\0""Min\0 ""Max\0 ""Mnóż\0 ""Zliczani""Komórka\0""Zużycie\0""Zasięg\0 ""Constant"
|
||||||
|
|
||||||
#define LEN_VPREC "\004"
|
#define LEN_VPREC "\004"
|
||||||
#define TR_VPREC "0.--""0.0 ""0.00"
|
#define TR_VPREC "0.--""0.0 ""0.00"
|
||||||
|
|
|
@ -577,7 +577,7 @@
|
||||||
#define TR_VSENSORTYPES "Custom\0 ""Calculated"
|
#define TR_VSENSORTYPES "Custom\0 ""Calculated"
|
||||||
|
|
||||||
#define LEN_VFORMULAS "\010"
|
#define LEN_VFORMULAS "\010"
|
||||||
#define TR_VFORMULAS "Add\0 ""Average\0""Min\0 ""Max\0 ""Multiply""Totalize""Cell\0 ""Consumpt""Distance"
|
#define TR_VFORMULAS "Add\0 ""Average\0""Min\0 ""Max\0 ""Multiply""Totalize""Cell\0 ""Consumpt""Distance""Constant"
|
||||||
|
|
||||||
#define LEN_VPREC "\005"
|
#define LEN_VPREC "\005"
|
||||||
#define TR_VPREC "PREC0""PREC1""PREC2"
|
#define TR_VPREC "PREC0""PREC1""PREC2"
|
||||||
|
|
|
@ -606,7 +606,7 @@
|
||||||
#define TR_VSENSORTYPES "Egen\0 ""Beräknad"
|
#define TR_VSENSORTYPES "Egen\0 ""Beräknad"
|
||||||
|
|
||||||
#define LEN_VFORMULAS "\014"
|
#define LEN_VFORMULAS "\014"
|
||||||
#define TR_VFORMULAS "Addera\0 ""Medelvärde\0 ""Min\0 ""Max\0 ""Multiplicera""Totalsumma\0 ""Cell\0 ""Förbrukning ""Sträcka "
|
#define TR_VFORMULAS "Addera\0 ""Medelvärde\0 ""Min\0 ""Max\0 ""Multiplicera""Totalsumma\0 ""Cell\0 ""Förbrukning ""Sträcka ""Constant\0 "
|
||||||
|
|
||||||
#define LEN_VPREC "\004"
|
#define LEN_VPREC "\004"
|
||||||
#define TR_VPREC "0.--""0.0 ""0.00"
|
#define TR_VPREC "0.--""0.0 ""0.00"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue