1
0
Fork 0
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:
Arne Schwabe 2016-06-13 00:31:09 +02:00
parent 95641d649d
commit 06217c71a4
21 changed files with 97 additions and 25 deletions

View file

@ -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 {

View file

@ -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());
} }

View file

@ -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);

View file

@ -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">

View file

@ -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);
}); });

View file

@ -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) {

View file

@ -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) {

View file

@ -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) {

View file

@ -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

View file

@ -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;
} }

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -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 "

View file

@ -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"

View file

@ -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"

View file

@ -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"