diff --git a/radio/src/gui/128x64/model_setup.cpp b/radio/src/gui/128x64/model_setup.cpp index ee8ba0920..7ed6c0c8c 100644 --- a/radio/src/gui/128x64/model_setup.cpp +++ b/radio/src/gui/128x64/model_setup.cpp @@ -291,12 +291,12 @@ void menuModelSetup(event_t event) IF_INTERNAL_MODULE_RECEIVER_1_ON((uint8_t)0), // Receiver Number IF_INTERNAL_MODULE_RECEIVER_1_ON((uint8_t)0), // Receiver Range IF_INTERNAL_MODULE_RECEIVER_1_ON((uint8_t)0), // Receiver Telemetry - IF_INTERNAL_MODULE_RECEIVER_1_ON((uint8_t)0), // Receiver Bind/Delete + IF_INTERNAL_MODULE_RECEIVER_1_ON((uint8_t)1), // Receiver Bind/Delete IF_INTERNAL_MODULE_RECEIVER_2_ON((uint8_t)0), // Receiver Number IF_INTERNAL_MODULE_RECEIVER_2_ON((uint8_t)0), // Receiver Range IF_INTERNAL_MODULE_RECEIVER_2_ON((uint8_t)0), // Receiver Telemetry - IF_INTERNAL_MODULE_RECEIVER_2_ON((uint8_t)0), // Receiver Bind/Delete - INTERNAL_MODULE_ADD_RECEIVER_ROW, + IF_INTERNAL_MODULE_RECEIVER_2_ON((uint8_t)1), // Receiver Bind/Delete + IF_INTERNAL_MODULE_ON(INTERNAL_MODULE_ADD_RECEIVER_ROW), LABEL(ExternalModule), EXTERNAL_MODULE_MODE_ROWS, MULTIMODULE_SUBTYPE_ROWS(EXTERNAL_MODULE) @@ -1064,20 +1064,43 @@ void menuModelSetup(event_t event) case ITEM_MODEL_INTERNAL_MODULE_RECEIVER_2_RANGE: { lcdDrawTextAlignedLeft(y, TR_CHANNELRANGE); + lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, "Ch 1 - 8",0); } break; case ITEM_MODEL_INTERNAL_MODULE_RECEIVER_1_TELEM: case ITEM_MODEL_INTERNAL_MODULE_RECEIVER_2_TELEM: { - lcdDrawTextAlignedLeft(y, INDENT "Telem"); + uint8_t receiverIdx = CURRENT_RECEIVER_EDITED(k); + g_model.moduleData[INTERNAL_MODULE].pxx2.receivers[receiverIdx].telemetry = editCheckBox(g_model.moduleData[INTERNAL_MODULE].pxx2.receivers[receiverIdx].telemetry, MODEL_SETUP_2ND_COLUMN, y, INDENT "Telemetry", attr, event); } break; case ITEM_MODEL_INTERNAL_MODULE_RECEIVER_1_BIND: case ITEM_MODEL_INTERNAL_MODULE_RECEIVER_2_BIND: { + uint8_t receiverIdx = CURRENT_RECEIVER_EDITED(k); + lcdDrawTextAlignedLeft(y, INDENT "Receiver"); + lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, STR_MODULE_BIND, menuHorizontalPosition==0 ? attr : 0); + lcdDrawText(MODEL_SETUP_2ND_COLUMN+MODEL_SETUP_RANGE_OFS, y, STR_DEL_BUTTON, menuHorizontalPosition==1 ? attr : 0); + if (attr && menuHorizontalPosition == 0) { + if (s_editMode > 0) + moduleFlag[INTERNAL_MODULE] = MODULE_BIND; + else + moduleFlag[INTERNAL_MODULE] = MODULE_NORMAL_MODE; + } + if (attr && menuHorizontalPosition == 1 && s_editMode > 0) { + if(receiverIdx == 0) { + memcpy(&g_model.moduleData[INTERNAL_MODULE].pxx2.receivers[0], &g_model.moduleData[INTERNAL_MODULE].pxx2.receivers[1], sizeof(g_model.moduleData[INTERNAL_MODULE].pxx2.receivers)); + memclear(&g_model.moduleData[INTERNAL_MODULE].pxx2.receivers[1], sizeof(g_model.moduleData[INTERNAL_MODULE].pxx2.receivers)); + s_editMode = 0; + } + else { + memclear(&g_model.moduleData[INTERNAL_MODULE].pxx2.receivers[receiverIdx], sizeof(g_model.moduleData[INTERNAL_MODULE].pxx2.receivers)); + s_editMode = 0; + } + } } break; #endif diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index 8a71c26d4..9c812a8fc 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -701,6 +701,7 @@ const char STR_BLCOLOR[] = TR_BLCOLOR; #if defined(PCBTARANIS) || defined(DSM2) const char STR_MODULE_RANGE[] = TR_MODULE_RANGE; +const char STR_DEL_BUTTON[] = TR_DEL_BUTTON; #endif #if defined(BLUETOOTH) diff --git a/radio/src/translations.h b/radio/src/translations.h index b796717d9..9568ea578 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -963,6 +963,7 @@ extern const char STR_BLCOLOR[]; #if defined(PCBTARANIS) || defined(DSM2) extern const char STR_MODULE_RANGE[]; +extern const char STR_DEL_BUTTON[]; #endif diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index ef89556b2..36e175d62 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -955,6 +955,7 @@ #define TR_BYTES "[B]" #define TR_MODULE_BIND BUTTON(TR("Bnd", "Bind")) #define TR_MODULE_RANGE BUTTON(TR("Rng", "Range")) +#define TR_DEL_BUTTON BUTTON(TR("Del", "Delete")) #define TR_RESET_BTN BUTTON("Reset") #define TR_SET BUTTON("Volby") #define TR_TRAINER "Trenér" diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index cacf86882..32b6de2da 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -960,6 +960,7 @@ #define TR_BYTES "Bytes" #define TR_MODULE_BIND BUTTON(TR("Bnd","Bind")) //9XR-Pro #define TR_MODULE_RANGE BUTTON(TR("Rng", "Range")) //9XR-Pro +#define TR_DEL_BUTTON BUTTON(TR("Del", "Delete")) #define TR_RESET_BTN BUTTON("Reset") #define TR_SET BUTTON("Set") #define TR_TRAINER "DSC Buchse PPM In/Out" diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index ebe496299..6edf4de4f 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -958,6 +958,7 @@ #define TR_BYTES "bytes" #define TR_MODULE_BIND BUTTON(TR("Bnd", "Bind")) #define TR_MODULE_RANGE BUTTON(TR("Rng", "Range")) +#define TR_DEL_BUTTON BUTTON(TR("Del", "Delete")) #define TR_RESET_BTN BUTTON("Reset") #define TR_SET BUTTON("Set") #define TR_TRAINER "Trainer" diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 598e55106..d76a696ca 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -966,6 +966,7 @@ #define TR_BYTES "bytes" #define TR_MODULE_BIND "[Enlace]" #define TR_MODULE_RANGE "[Limites]" +#define TR_DEL_BUTTON BUTTON(TR("Del", "Delete")) #define TR_RESET_BTN "[Reset]" #define TR_SET "[Ajuste]" #define TR_TRAINER "Aprendiz" diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index fc6212810..5f296d2eb 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -958,6 +958,7 @@ #define TR_BYTES "bytes" #define TR_MODULE_BIND "[Bind]" #define TR_MODULE_RANGE "[Range]" +#define TR_DEL_BUTTON BUTTON(TR("Del", "Delete")) #define TR_RESET_BTN "[Reset]" #define TR_SET "[Set]" #define TR_TRAINER "Trainer" diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 97da8d7a0..f33a27a41 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -970,6 +970,7 @@ #define TR_BYTES "bytes" #define TR_MODULE_BIND BUTTON(TR("Bnd", "Bind")) #define TR_MODULE_RANGE BUTTON(TR("Prt", "Port.")) +#define TR_DEL_BUTTON BUTTON(TR("Del", "Delete")) #define TR_RESET_BTN BUTTON("RAZ") #define TR_SET BUTTON("Déf") #define TR_TRAINER "Ecolage" diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index f37fcffee..a424f757b 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -960,6 +960,7 @@ #define TR_BYTES "Bytes" #define TR_MODULE_BIND "[Bind]" #define TR_MODULE_RANGE "[Range]" +#define TR_DEL_BUTTON BUTTON(TR("Del", "Delete")) #define TR_RESET_BTN "[Reset]" #define TR_SET "[Set]" #define TR_TRAINER TR("Trainer","Maestro/Allievo") diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt index 289853bf9..7133edf11 100644 --- a/radio/src/translations/nl.h.txt +++ b/radio/src/translations/nl.h.txt @@ -961,6 +961,7 @@ #define TR_BYTES "bytes" #define TR_MODULE_BIND TR("[Bnd]", "[Bind]") #define TR_MODULE_RANGE TR("[Rng]", "[Range]") +#define TR_DEL_BUTTON BUTTON(TR("Del", "Delete")) #define TR_RESET_BTN "[Reset]" #define TR_SET "[Set]" #define TR_TRAINER "Trainer Poort" diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index fc023768c..08476dc1e 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -961,6 +961,7 @@ #define TR_BYTES "bajty" #define TR_MODULE_BIND TR("[BND]","[Bind]") #define TR_MODULE_RANGE TR("[Zas]","Zasięg") +#define TR_DEL_BUTTON BUTTON(TR("Del", "Delete")) #define TR_RESET_BTN "[Reset]" #define TR_SET "[Set]" #define TR_TRAINER "Port Trenera" diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index 9479748d6..9e5516969 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -965,6 +965,7 @@ #define TR_BYTES "bytes" #define TR_MODULE_BIND "[Bind]" #define TR_MODULE_RANGE "[Range]" +#define TR_DEL_BUTTON BUTTON(TR("Del", "Delete")) #define TR_RESET_BTN "[Reset]" #define TR_SET "[Set]" #define TR_TRAINER "Trainer" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 2359af0b9..a96f79b3b 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -974,6 +974,7 @@ #define TR_BYTES "byte" #define TR_MODULE_BIND TR("[Bnd]", "[Bind]") #define TR_MODULE_RANGE TR("[Tst]", "[Testa]") +#define TR_DEL_BUTTON BUTTON(TR("Del", "Delete")) #define TR_RESET_BTN "[Nollställ]" #define TR_SET "[Spara]" #define TR_TRAINER "Trainer"