Delete all sensors (fix #2730)

This commit is contained in:
Andre Bernet
2015-09-06 11:24:10 +02:00
parent c96f8aef36
commit 91bd3f0cdb
15 changed files with 72 additions and 10 deletions
+20 -1
View File
@@ -88,6 +88,7 @@ enum menuModelTelemetryItems {
ITEM_TELEMETRY_SENSOR32,
ITEM_TELEMETRY_DISCOVER_SENSORS,
ITEM_TELEMETRY_NEW_SENSOR,
ITEM_TELEMETRY_DELETE_ALL_SENSORS,
ITEM_TELEMETRY_IGNORE_SENSOR_INSTANCE,
#endif
#if !defined(CPUARM)
@@ -148,7 +149,7 @@ enum menuModelTelemetryItems {
#if defined(CPUARM)
#define CHANNELS_ROWS
#define SENSOR_ROWS(x) (isTelemetryFieldAvailable(x) ? (uint8_t)0 : HIDDEN_ROW)
#define SENSORS_ROWS LABEL(Sensors), SENSOR_ROWS(0), SENSOR_ROWS(1), SENSOR_ROWS(2), SENSOR_ROWS(3), SENSOR_ROWS(4), SENSOR_ROWS(5), SENSOR_ROWS(6), SENSOR_ROWS(7), SENSOR_ROWS(8), SENSOR_ROWS(9), SENSOR_ROWS(10), SENSOR_ROWS(11), SENSOR_ROWS(12), SENSOR_ROWS(13), SENSOR_ROWS(14), SENSOR_ROWS(15), SENSOR_ROWS(16), SENSOR_ROWS(17), SENSOR_ROWS(18), SENSOR_ROWS(19), SENSOR_ROWS(20), SENSOR_ROWS(21), SENSOR_ROWS(22), SENSOR_ROWS(23), SENSOR_ROWS(24), SENSOR_ROWS(25), SENSOR_ROWS(26), SENSOR_ROWS(27), SENSOR_ROWS(28), SENSOR_ROWS(29), SENSOR_ROWS(30), SENSOR_ROWS(31), 0, 0, 0,
#define SENSORS_ROWS LABEL(Sensors), SENSOR_ROWS(0), SENSOR_ROWS(1), SENSOR_ROWS(2), SENSOR_ROWS(3), SENSOR_ROWS(4), SENSOR_ROWS(5), SENSOR_ROWS(6), SENSOR_ROWS(7), SENSOR_ROWS(8), SENSOR_ROWS(9), SENSOR_ROWS(10), SENSOR_ROWS(11), SENSOR_ROWS(12), SENSOR_ROWS(13), SENSOR_ROWS(14), SENSOR_ROWS(15), SENSOR_ROWS(16), SENSOR_ROWS(17), SENSOR_ROWS(18), SENSOR_ROWS(19), SENSOR_ROWS(20), SENSOR_ROWS(21), SENSOR_ROWS(22), SENSOR_ROWS(23), SENSOR_ROWS(24), SENSOR_ROWS(25), SENSOR_ROWS(26), SENSOR_ROWS(27), SENSOR_ROWS(28), SENSOR_ROWS(29), SENSOR_ROWS(30), SENSOR_ROWS(31), 0, 0, 0, 0,
#else
#define CHANNEL_ROWS(x) LABEL(CHANNEL), 1, 0, 2, 2
#define CHANNELS_ROWS CHANNEL_ROWS(0), CHANNEL_ROWS(1),
@@ -522,6 +523,15 @@ void onSensorMenu(const char *result)
void menuModelTelemetry(uint8_t event)
{
#if defined(CPUARM)
if (s_warning_result) {
s_warning_result = 0;
for (int i=0; i<MAX_SENSORS; i++) {
delTelemetryIndex(i);
}
}
#endif
MENU(STR_MENUTELEMETRY, menuTabModel, e_Telemetry, ITEM_TELEMETRY_MAX+1, {0, TELEMETRY_TYPE_ROWS CHANNELS_ROWS RSSI_ROWS SENSORS_ROWS USRDATA_ROWS CASE_VARIO(LABEL(Vario)) CASE_VARIO(0) CASE_VARIO(VARIO_RANGE_ROWS) TELEMETRY_SCREEN_ROWS(0), TELEMETRY_SCREEN_ROWS(1), CASE_CPUARM(TELEMETRY_SCREEN_ROWS(2)) CASE_CPUARM(TELEMETRY_SCREEN_ROWS(3))});
uint8_t sub = m_posVert - 1;
@@ -628,6 +638,15 @@ void menuModelTelemetry(uint8_t event)
}
break;
case ITEM_TELEMETRY_DELETE_ALL_SENSORS:
lcd_putsAtt(0, y, STR_DELETE_ALL_SENSORS, attr);
s_editMode = 0;
if (attr && event==EVT_KEY_LONG(KEY_ENTER)) {
killEvents(KEY_ENTER);
POPUP_CONFIRMATION(STR_CONFIRMDELETE);
}
break;
case ITEM_TELEMETRY_IGNORE_SENSOR_INSTANCE:
ON_OFF_MENU_ITEM(g_model.ignoreSensorIds, TELEM_COL2, y, STR_IGNORE_INSTANCE, attr, event);
break;
+18 -1
View File
@@ -75,6 +75,7 @@ enum menuModelTelemetryItems {
ITEM_TELEMETRY_SENSOR32,
ITEM_TELEMETRY_DISCOVER_SENSORS,
ITEM_TELEMETRY_NEW_SENSOR,
ITEM_TELEMETRY_DELETE_ALL_SENSORS,
ITEM_TELEMETRY_IGNORE_SENSOR_INSTANCE,
#if defined(VARIO)
ITEM_TELEMETRY_VARIO_LABEL,
@@ -122,7 +123,7 @@ enum menuModelTelemetryItems {
#define IS_RANGE_DEFINED(k) (g_model.frsky.channels[k].ratio > 0)
#define SENSOR_ROWS(x) (isTelemetryFieldAvailable(x) ? (uint8_t)0 : HIDDEN_ROW)
#define SENSORS_ROWS LABEL(Sensors), SENSOR_ROWS(0), SENSOR_ROWS(1), SENSOR_ROWS(2), SENSOR_ROWS(3), SENSOR_ROWS(4), SENSOR_ROWS(5), SENSOR_ROWS(6), SENSOR_ROWS(7), SENSOR_ROWS(8), SENSOR_ROWS(9), SENSOR_ROWS(10), SENSOR_ROWS(11), SENSOR_ROWS(12), SENSOR_ROWS(13), SENSOR_ROWS(14), SENSOR_ROWS(15), SENSOR_ROWS(16), SENSOR_ROWS(17), SENSOR_ROWS(18), SENSOR_ROWS(19), SENSOR_ROWS(20), SENSOR_ROWS(21), SENSOR_ROWS(22), SENSOR_ROWS(23), SENSOR_ROWS(24), SENSOR_ROWS(25), SENSOR_ROWS(26), SENSOR_ROWS(27), SENSOR_ROWS(28), SENSOR_ROWS(29), SENSOR_ROWS(30), SENSOR_ROWS(31), 0, 0, 0,
#define SENSORS_ROWS LABEL(Sensors), SENSOR_ROWS(0), SENSOR_ROWS(1), SENSOR_ROWS(2), SENSOR_ROWS(3), SENSOR_ROWS(4), SENSOR_ROWS(5), SENSOR_ROWS(6), SENSOR_ROWS(7), SENSOR_ROWS(8), SENSOR_ROWS(9), SENSOR_ROWS(10), SENSOR_ROWS(11), SENSOR_ROWS(12), SENSOR_ROWS(13), SENSOR_ROWS(14), SENSOR_ROWS(15), SENSOR_ROWS(16), SENSOR_ROWS(17), SENSOR_ROWS(18), SENSOR_ROWS(19), SENSOR_ROWS(20), SENSOR_ROWS(21), SENSOR_ROWS(22), SENSOR_ROWS(23), SENSOR_ROWS(24), SENSOR_ROWS(25), SENSOR_ROWS(26), SENSOR_ROWS(27), SENSOR_ROWS(28), SENSOR_ROWS(29), SENSOR_ROWS(30), SENSOR_ROWS(31), 0, 0, 0, 0,
#if defined(VARIO)
#define VARIO_ROWS LABEL(Vario), 0, 1, 2,
#else
@@ -518,6 +519,13 @@ void onTelemetryScriptFileSelectionMenu(const char *result)
void menuModelTelemetry(uint8_t event)
{
if (s_warning_result) {
s_warning_result = 0;
for (int i=0; i<MAX_SENSORS; i++) {
delTelemetryIndex(i);
}
}
MENU(STR_MENUTELEMETRY, menuTabModel, e_Telemetry, ITEM_TELEMETRY_MAX, { TELEMETRY_TYPE_ROWS RSSI_ROWS SENSORS_ROWS VARIO_ROWS LABEL(TopBar), 0, 0, TOPLCD_ROWS TELEMETRY_SCREEN_ROWS(0), TELEMETRY_SCREEN_ROWS(1), CASE_CPUARM(TELEMETRY_SCREEN_ROWS(2)) CASE_CPUARM(TELEMETRY_SCREEN_ROWS(3)) });
int sub = m_posVert;
@@ -609,6 +617,15 @@ void menuModelTelemetry(uint8_t event)
}
break;
case ITEM_TELEMETRY_DELETE_ALL_SENSORS:
lcd_putsAtt(0, y, STR_DELETE_ALL_SENSORS, attr);
s_editMode = 0;
if (attr && event==EVT_KEY_LONG(KEY_ENTER)) {
killEvents(KEY_ENTER);
POPUP_CONFIRMATION(STR_CONFIRMDELETE);
}
break;
case ITEM_TELEMETRY_IGNORE_SENSOR_INSTANCE:
ON_OFF_MENU_ITEM(g_model.ignoreSensorIds, TELEM_COL2, y, STR_IGNORE_INSTANCE, attr, event);
break;
+4 -2
View File
@@ -571,8 +571,10 @@ const pm_char STR_BLCOLOR[] PROGMEM = TR_BLCOLOR;
const pm_char STR_FILTER[] PROGMEM = TR_FILTER;
const pm_char STR_TELEMETRYFULL[] PROGMEM = TR_TELEMETRYFULL;
const pm_char STR_IGNORE_INSTANCE[] PROGMEM = TR_IGNORE_INSTANCE;
const pm_char STR_DISCOVER_SENSORS[] PROGMEM = TR_DISCOVER_SENSORS;
const pm_char STR_STOP_DISCOVER_SENSORS[] PROGMEM = TR_STOP_DISCOVER_SENSORS;
const pm_char STR_DISCOVER_SENSORS[] PROGMEM = TR_DISCOVER_SENSORS;
const pm_char STR_STOP_DISCOVER_SENSORS[] PROGMEM = TR_STOP_DISCOVER_SENSORS;
const pm_char STR_DELETE_ALL_SENSORS[] PROGMEM = TR_DELETE_ALL_SENSORS;
const pm_char STR_CONFIRMDELETE[] PROGMEM = TR_CONFIRMDELETE;
#endif
#if defined(PCBTARANIS)
+4 -2
View File
@@ -790,8 +790,10 @@ extern const pm_char STR_BLCOLOR[];
extern const pm_char STR_FILTER[];
extern const pm_char STR_TELEMETRYFULL[];
extern const pm_char STR_IGNORE_INSTANCE[];
extern const pm_char STR_DISCOVER_SENSORS[];
extern const pm_char STR_STOP_DISCOVER_SENSORS[];
extern const pm_char STR_DISCOVER_SENSORS[];
extern const pm_char STR_STOP_DISCOVER_SENSORS[];
extern const pm_char STR_DELETE_ALL_SENSORS[];
extern const pm_char STR_CONFIRMDELETE[];
#endif
#if defined(PCBTARANIS)
+2
View File
@@ -1082,6 +1082,8 @@
#define TR_IGNORE_INSTANCE INDENT "Ignoruj chyby ID"
#define TR_DISCOVER_SENSORS INDENT "Discover new sensors"
#define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery"
#define TR_DELETE_ALL_SENSORS INDENT "Delete all sensors"
#define TR_CONFIRMDELETE "Really delete all?"
#define TR_MENU_INPUTS "\314Vstupy"
#define TR_MENU_LUA "\322Lua skripty"
+3 -1
View File
@@ -1085,7 +1085,9 @@
#define TR_TELEMETRYFULL "Telemetriezeilen voll!"
#define TR_IGNORE_INSTANCE INDENT "Ignore instance"
#define TR_DISCOVER_SENSORS INDENT "Discover new sensors"
#define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery"
#define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery"
#define TR_DELETE_ALL_SENSORS INDENT "Delete all sensors"
#define TR_CONFIRMDELETE "Really delete all?"
// ----------------------------- Symbole für Auswahlliste----------
#define TR_MENU_INPUTS "\314Inputs"
#define TR_MENU_LUA "\322Lua Scripte"
+2
View File
@@ -1081,6 +1081,8 @@
#define TR_IGNORE_INSTANCE TR(INDENT "No inst.", INDENT "Ignore instances")
#define TR_DISCOVER_SENSORS INDENT "Discover new sensors"
#define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery"
#define TR_DELETE_ALL_SENSORS INDENT "Delete all sensors"
#define TR_CONFIRMDELETE "Really delete all?"
#define TR_MENU_INPUTS "\314Inputs"
#define TR_MENU_LUA "\322Lua scripts"
+2
View File
@@ -1036,6 +1036,8 @@
#define TR_IGNORE_INSTANCE INDENT "Ignore instance"
#define TR_DISCOVER_SENSORS INDENT "Discover new sensors"
#define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery"
#define TR_DELETE_ALL_SENSORS INDENT "Delete all sensors"
#define TR_CONFIRMDELETE "Really delete all?"
#define TR_MENU_INPUTS "\314Inputs"
#define TR_MENU_LUA "\322Lua scripts"
+2
View File
@@ -1036,6 +1036,8 @@
#define TR_IGNORE_INSTANCE INDENT "Ignore instance"
#define TR_DISCOVER_SENSORS INDENT "Discover new sensors"
#define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery"
#define TR_DELETE_ALL_SENSORS INDENT "Delete all sensors"
#define TR_CONFIRMDELETE "Really delete all?"
#define TR_MENU_INPUTS "\314Inputs"
#define TR_MENU_LUA "\322Lua scripts"
+2
View File
@@ -1073,6 +1073,8 @@
#define TR_IGNORE_INSTANCE TR(INDENT "Ign. inst.",INDENT "Ignorer instance")
#define TR_DISCOVER_SENSORS INDENT "Découvrir capteurs"
#define TR_STOP_DISCOVER_SENSORS INDENT "Terminer découverte"
#define TR_DELETE_ALL_SENSORS TR(INDENT "Suppr. tous capteurs",INDENT "Supprimer tous capteurs")
#define TR_CONFIRMDELETE TR("Tout effacer?","Vraiment tout effacer?")
#define TR_MENU_INPUTS "\314Entrées"
#define TR_MENU_LUA "\322Scripts Lua"
+3 -1
View File
@@ -1083,7 +1083,9 @@
#define TR_TELEMETRYFULL "Tutti gli slot sono pieni!"
#define TR_IGNORE_INSTANCE TR(INDENT "No inst.","Ignora instanza")
#define TR_DISCOVER_SENSORS INDENT "Discover new sensors"
#define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery"
#define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery"
#define TR_DELETE_ALL_SENSORS INDENT "Delete all sensors"
#define TR_CONFIRMDELETE "Really delete all?"
#define TR_MENU_INPUTS "\314Ingressi"
#define TR_MENU_LUA "\322Lua scripts"
+2
View File
@@ -1091,6 +1091,8 @@
#define TR_IGNORE_INSTANCE TR(INDENT "Neg. ID ","Negeer ID's")
#define TR_DISCOVER_SENSORS INDENT "Discover new sensors"
#define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery"
#define TR_DELETE_ALL_SENSORS INDENT "Delete all sensors"
#define TR_CONFIRMDELETE "Really delete all?"
#define TR_MENU_INPUTS "\314Inputs"
+2
View File
@@ -1085,6 +1085,8 @@
#define TR_IGNORE_INSTANCE INDENT "Ignoruj przypadek"
#define TR_DISCOVER_SENSORS INDENT "Discover new sensors"
#define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery"
#define TR_DELETE_ALL_SENSORS INDENT "Delete all sensors"
#define TR_CONFIRMDELETE "Really delete all?"
#define TR_MENU_INPUTS "\314Wejści"
#define TR_MENU_LUA "\322SkryptyLUA"
+3 -1
View File
@@ -1035,7 +1035,9 @@
#define TR_TELEMETRYFULL "All telemetry slots full!"
#define TR_IGNORE_INSTANCE INDENT "Ignore instance"
#define TR_DISCOVER_SENSORS INDENT "Discover new sensors"
#define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery"
#define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery"
#define TR_DELETE_ALL_SENSORS INDENT "Delete all sensors"
#define TR_CONFIRMDELETE "Really delete all?"
#define TR_MENU_INPUTS "\314Inputs"
#define TR_MENU_LUA "\322Lua scripts"
+3 -1
View File
@@ -1035,7 +1035,9 @@
#define TR_TELEMETRYFULL "All telemetry slots full!"
#define TR_IGNORE_INSTANCE INDENT "Ignore instance"
#define TR_DISCOVER_SENSORS INDENT "Discover new sensors"
#define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery"
#define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery"
#define TR_DELETE_ALL_SENSORS INDENT "Delete all sensors"
#define TR_CONFIRMDELETE "Really delete all?"
#define TR_MENU_INPUTS "\314Inputs"
#define TR_MENU_LUA "\322Lua scripts"