Projectkk2glider/sensor persistent (#3454)

* Only clear sensor.persistentValue when the sensor.persistent is disabled and not on every shutdown.

* Only show persistent option for calculated type sensors (only these actually get saved in EEPROM)
This commit is contained in:
Damjan Adamic
2016-05-02 19:21:49 +02:00
committed by Bertrand Songis
parent cfbf59198b
commit 81b474aea4
3 changed files with 5 additions and 6 deletions
+1 -1
View File
@@ -619,7 +619,7 @@ void TelemetrySensorPanel::update()
ui->source4->setVisible(sources34FieldsDisplayed);
ui->autoOffset->setVisible(sensor.unit != SensorData::UNIT_RPMS && isConfigurable);
ui->filter->setVisible(isConfigurable);
ui->persistent->setVisible((sensor.type == SensorData::TELEM_TYPE_CALCULATED && sensor.formula == SensorData::TELEM_FORMULA_CONSUMPTION) || isConfigurable);
ui->persistent->setVisible(sensor.type == SensorData::TELEM_TYPE_CALCULATED);
lock = false;
}
@@ -213,7 +213,7 @@ bool isSensorAvailable(int sensor)
#define SENSOR_AUTOOFFSET_ROWS (sensor->unit != UNIT_RPMS && sensor->isConfigurable() ? (uint8_t)0 : HIDDEN_ROW)
#define SENSOR_ONLYPOS_ROWS (sensor->isConfigurable() ? (uint8_t)0 : HIDDEN_ROW)
#define SENSOR_FILTER_ROWS (sensor->isConfigurable() ? (uint8_t)0 : HIDDEN_ROW)
#define SENSOR_PERSISTENT_ROWS ((sensor->type == TELEM_TYPE_CALCULATED && sensor->formula == TELEM_FORMULA_CONSUMPTION) || sensor->isConfigurable() ? (uint8_t)0 : HIDDEN_ROW)
#define SENSOR_PERSISTENT_ROWS (sensor->type == TELEM_TYPE_CALCULATED ? (uint8_t)0 : HIDDEN_ROW)
void menuModelSensor(uint8_t event)
{
@@ -435,6 +435,9 @@ void menuModelSensor(uint8_t event)
case SENSOR_FIELD_PERSISTENT:
ON_OFF_MENU_ITEM(sensor->persistent, SENSOR_2ND_COLUMN, y, NO_INDENT(STR_PERSISTENT), attr, event);
if (checkIncDec_Ret && !sensor->persistent) {
sensor->persistentValue = 0;
}
break;
case SENSOR_FIELD_LOGS:
-4
View File
@@ -1964,10 +1964,6 @@ void opentxClose()
sensor.persistentValue = telemetryItems[i].value;
eeDirty(EE_MODEL);
}
else if (!sensor.persistent) {
sensor.persistentValue = 0;
eeDirty(EE_MODEL);
}
}
}
#endif