Adapt display to latest discussions (entry of RXID at register time is TODO, also TODO is prevent bind second receievr with name identical to receiver1)

This commit is contained in:
3djc
2019-02-13 12:58:10 +01:00
parent dd0ac2c008
commit cdfb75addd
15 changed files with 30 additions and 38 deletions
+2 -2
View File
@@ -419,7 +419,7 @@ PACK(struct ReceiverData {
uint8_t telemetry:1;
uint8_t spare:6;
uint64_t channelMapping; // each receiver output (16) can be assigned to one of the 16 channels
uint8_t rxID[PXX2_LEN_RX_ID];
char rxID[PXX2_LEN_RX_ID];
});
/*
@@ -632,7 +632,7 @@ PACK(struct ModelData {
CUSTOM_SCREENS_DATA
uint8_t modelRegistrationID[PXX2_LEN_REGISTRATION_ID];
char modelRegistrationID[PXX2_LEN_REGISTRATION_ID];
});
/*
+14 -36
View File
@@ -83,16 +83,14 @@ enum MenuModelSetupItems {
#endif
ITEM_MODEL_INTERNAL_MODULE_FAILSAFE,
ITEM_MODEL_INTERNAL_MODULE_PXX2_RANGE_REGISTER,
ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_1_NUMBER,
ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_1_ID,
ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_1_PINMAP,
ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_1_TELEM,
ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_1_BIND_DEL,
ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_1_BIND_DEL_RAW2,
ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_2_NUMBER,
ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_2_ID,
ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_2_PINMAP,
ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_2_TELEM,
ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_2_BIND_DEL,
ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_2_BIND_DEL_RAW2,
ITEM_MODEL_INTERNAL_MODULE_PXX2_ADD_RECEIVER,
#endif
ITEM_MODEL_EXTERNAL_MODULE_LABEL,
@@ -155,7 +153,7 @@ enum MenuModelSetupItems {
#if defined(PCBTARANIS)
#define CURRENT_MODULE_EDITED(k) (k >= ITEM_MODEL_EXTERNAL_MODULE_LABEL ? EXTERNAL_MODULE : INTERNAL_MODULE)
#define CURRENT_RECEIVER_EDITED(k) (k >= ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_2_NUMBER ? 1 : 0)
#define CURRENT_RECEIVER_EDITED(k) (k >= ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_2_ID ? 1 : 0)
#define INTERNAL_MODULE_ADD_RECEIVER_ROW (g_model.moduleData[INTERNAL_MODULE].pxx2.receivers[MAX_RECEIVERS_PER_MODULE-1].enabled ? HIDDEN_ROW : (uint8_t)0)
#elif defined(PCBSKY9X) && !defined(REVA)
#define CURRENT_MODULE_EDITED(k) (k>=ITEM_MODEL_EXTRA_MODULE_LABEL ? EXTRA_MODULE : EXTERNAL_MODULE)
@@ -319,12 +317,10 @@ void menuModelSetup(event_t event)
IF_PXX2_RECEIVER_DISPLAYED(INTERNAL_MODULE, 0, 0), // Receiver Range
IF_PXX2_RECEIVER_DISPLAYED(INTERNAL_MODULE, 0, 0), // Receiver Telemetry
IF_PXX2_RECEIVER_DISPLAYED(INTERNAL_MODULE, 0, 1), // Receiver Bind/Delete
IF_PXX2_RECEIVER_DISPLAYED(INTERNAL_MODULE, 0, -1), // Receiver RXID raw 2
IF_PXX2_RECEIVER_DISPLAYED(INTERNAL_MODULE, 1, (uint8_t)-1), // Receiver Number
IF_PXX2_RECEIVER_DISPLAYED(INTERNAL_MODULE, 1, 0), // Receiver Range
IF_PXX2_RECEIVER_DISPLAYED(INTERNAL_MODULE, 1, 0), // Receiver Telemetry
IF_PXX2_RECEIVER_DISPLAYED(INTERNAL_MODULE, 1, 1), // Receiver Bind/Delete
IF_PXX2_RECEIVER_DISPLAYED(INTERNAL_MODULE, 1, -1), // Receiver RXID raw 2
IF_PXX2(INTERNAL_MODULE_ADD_RECEIVER_ROW),
LABEL(ExternalModule),
@@ -1048,19 +1044,8 @@ void menuModelSetup(event_t event)
#if defined(PCBTARANIS)
case ITEM_MODEL_REGISTRATION_ID:
{
lcdDrawTextAlignedLeft(y, "Reg. ID");
uint8_t offset = 40;
for (uint8_t pos=0; pos<PXX2_LEN_REGISTRATION_ID; pos++) {
lcdDrawHexChar(offset,y, g_model.modelRegistrationID[pos], menuHorizontalPosition==pos ? attr : 0);
offset+= 2*FWNUM+1;
if (attr && menuHorizontalPosition == pos) {
CHECK_INCDEC_MODELVAR_ZERO(event, g_model.modelRegistrationID[pos], 0xff);
}
}
}
break;
editSingleName(MODEL_SETUP_2ND_COLUMN, y, STR_REG_ID, g_model.modelRegistrationID, sizeof(g_model.modelRegistrationID), event, attr);
break;
case ITEM_MODEL_INTERNAL_MODULE_PXX2_MODEL_NUM:
lcdDrawTextAlignedLeft(y, STR_RECEIVER_NUM);
@@ -1115,12 +1100,14 @@ void menuModelSetup(event_t event)
}
break;
case ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_1_NUMBER:
case ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_2_NUMBER:
case ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_1_ID:
case ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_2_ID:
{
uint8_t receiverIdx = CURRENT_RECEIVER_EDITED(k);
lcdDrawTextAlignedLeft(y, INDENT "Receiver");
lcdDrawNumber(lcdLastRightPos + 3, y, receiverIdx + 1);
uint8_t moduleIdx = CURRENT_MODULE_EDITED(k);
lcdDrawTextAlignedLeft(y, STR_REG_ID);
lcdDrawSizedText(MODEL_SETUP_2ND_COLUMN, y, g_model.moduleData[moduleIdx].pxx2.receivers[receiverIdx].rxID, PXX2_LEN_RX_ID, 0);
}
break;
@@ -1152,9 +1139,9 @@ void menuModelSetup(event_t event)
case ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_2_BIND_DEL:
{
uint8_t receiverIdx = CURRENT_RECEIVER_EDITED(k);
for (uint8_t pos=0; pos<PXX2_LEN_RX_ID/2; pos++) {
lcdDrawHexChar(6 + pos*FW*2, y, g_model.moduleData[INTERNAL_MODULE].pxx2.receivers[receiverIdx].rxID[pos], 0);
}
uint8_t moduleIdx = CURRENT_MODULE_EDITED(k);
lcdDrawSizedText(6, y, g_model.moduleData[moduleIdx].pxx2.receivers[receiverIdx].rxID, PXX2_LEN_RX_ID, 0);
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) {
@@ -1194,15 +1181,6 @@ void menuModelSetup(event_t event)
}
break;
case ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_1_BIND_DEL_RAW2:
case ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_2_BIND_DEL_RAW2:
{
uint8_t receiverIdx = CURRENT_RECEIVER_EDITED(k);
for (uint8_t pos = PXX2_LEN_RX_ID/2; pos < PXX2_LEN_RX_ID; pos++) {
lcdDrawHexChar(6 + (pos-PXX2_LEN_RX_ID/2) * FW * 2, y, g_model.moduleData[INTERNAL_MODULE].pxx2.receivers[receiverIdx].rxID[pos], 0);
}
}
break;
#endif
#if defined(PCBTARANIS)
+1
View File
@@ -368,6 +368,7 @@ const char STR_USBMODE[] = TR_USBMODE;
const char STR_JACKMODE[] = TR_JACKMODE;
const char STR_FAILSAFE[] = TR_FAILSAFE;
const char STR_FAILSAFESET[] = TR_FAILSAFESET;
const char STR_REG_ID[] = TR_REG_ID;
const char STR_PINMAPSET[] = TR_PINMAPSET;
const char STR_HOLD[] = TR_HOLD;
const char STR_NONE[] = TR_NONE;
+2
View File
@@ -581,6 +581,8 @@ extern const char STR_MODULE_TELEMETRY[];
extern const char STR_MODULE_TELEM_ON[];
extern const char STR_FAILSAFE[];
extern const char STR_FAILSAFESET[];
extern const char STR_RECEIVER[];
extern const char STR_REG_ID[];
extern const char STR_PINMAPSET[];
extern const char STR_HOLD[];
extern const char STR_NONE[];
+1
View File
@@ -921,6 +921,7 @@
#define TR_EXTERNALRF "Externí RF modul"
#define TR_FAILSAFE TR("Failsafe", "Mód Failsafe")
#define TR_FAILSAFESET "NASTAVENÍ FAILSAFE"
#define TR_REG_ID INDENT "Reg. ID"
#define TR_PINMAPSET "PINMAP"
#define TR_HOLD "HOLD"
#define TR_NONE "NONE"
+1
View File
@@ -926,6 +926,7 @@
#define TR_EXTERNALRF "Externes HF-Modul"
#define TR_FAILSAFE TR(INDENT "Failsafe", INDENT "Failsafe Mode")
#define TR_FAILSAFESET "Failsafe setzen"
#define TR_REG_ID INDENT "Reg. ID"
#define TR_PINMAPSET "PINMAP"
#define TR_HOLD "HOLD"
#define TR_NONE "NONE"
+1
View File
@@ -925,6 +925,7 @@
#define TR_EXTERNALRF "External RF"
#define TR_FAILSAFE TR(INDENT "Failsafe", INDENT "Failsafe mode")
#define TR_FAILSAFESET "FAILSAFE SETTINGS"
#define TR_REG_ID INDENT "Reg. ID"
#define TR_PINMAPSET "PINMAP"
#define TR_HOLD "HOLD"
#define TR_NONE "NONE"
+1
View File
@@ -932,6 +932,7 @@
#define TR_EXTERNALRF "Externa RF"
#define TR_FAILSAFE INDENT"Modo sgdad."
#define TR_FAILSAFESET "AJUSTES SGDAD."
#define TR_REG_ID INDENT "Reg. ID"
#define TR_PINMAPSET "PINMAP"
#define TR_HOLD "HOLD"
#define TR_NONE "NONE"
+1
View File
@@ -924,6 +924,7 @@
#define TR_EXTERNALRF "External RF"
#define TR_FAILSAFE INDENT "Failsafe mode"
#define TR_FAILSAFESET "FAILSAFE SETTINGS"
#define TR_REG_ID INDENT "Reg. ID"
#define TR_PINMAPSET "PINMAP"
#define TR_HOLD "HOLD"
#define TR_NONE "NONE"
+1
View File
@@ -936,6 +936,7 @@
#define TR_EXTERNALRF "HF externe"
#define TR_FAILSAFE TR(INDENT "Failsafe", INDENT "Type failsafe")
#define TR_FAILSAFESET "REGLAGES FAILSAFE"
#define TR_REG_ID INDENT "Reg. ID"
#define TR_PINMAPSET "PINMAP"
#define TR_HOLD "HOLD"
#define TR_NONE "NONE"
+1
View File
@@ -926,6 +926,7 @@
#define TR_EXTERNALRF "Modulo esterno"
#define TR_FAILSAFE "Modo failsafe"
#define TR_FAILSAFESET TR("FAILSAFE","IMPOSTAZIONI FAILSAFE")
#define TR_REG_ID INDENT "Reg. ID"
#define TR_PINMAPSET "PINMAP"
#define TR_HOLD "HOLD"
#define TR_NONE "NONE"
+1
View File
@@ -927,6 +927,7 @@
#define TR_EXTERNALRF "Externe RF"
#define TR_FAILSAFE TR(INDENT "Failsafe", INDENT "Failsafe Modus")
#define TR_FAILSAFESET "Failsafe instellen"
#define TR_REG_ID INDENT "Reg. ID"
#define TR_PINMAPSET "PINMAP"
#define TR_HOLD "HOLD"
#define TR_NONE "NONE"
+1
View File
@@ -927,6 +927,7 @@
#define TR_EXTERNALRF "Zewn.Moduł RF"
#define TR_FAILSAFE TR(INDENT"Failsafe",INDENT"Tryb Failsafe")
#define TR_FAILSAFESET "USTAWIENIE FAILSAFE"
#define TR_REG_ID INDENT "Reg. ID"
#define TR_PINMAPSET "PINMAP"
#define TR_HOLD "HOLD"
#define TR_NONE "NONE"
+1
View File
@@ -931,6 +931,7 @@
#define TR_EXTERNALRF "External RF"
#define TR_FAILSAFE "Failsafe mode"
#define TR_FAILSAFESET "FAILSAFE SETTINGS"
#define TR_REG_ID INDENT "Reg. ID"
#define TR_PINMAPSET "PINMAP"
#define TR_HOLD "HOLD"
#define TR_NONE "NONE"
+1
View File
@@ -940,6 +940,7 @@
#define TR_EXTERNALRF "Extern Radiomodul"
#define TR_FAILSAFE TR(INDENT "Failsafe", INDENT "Failsafeläge")
#define TR_FAILSAFESET "FailsafeInställning"
#define TR_REG_ID INDENT "Reg. ID"
#define TR_PINMAPSET "PINMAP"
#define TR_HOLD "HOLD"
#define TR_NONE "NONE"