1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-25 17:25:13 +03:00

Transfer (share with Friend) UI part

This commit is contained in:
3djc 2019-02-22 12:57:50 +01:00
parent b345abf6bc
commit 62f8e36d90
16 changed files with 44 additions and 2 deletions

View file

@ -87,10 +87,12 @@ enum MenuModelSetupItems {
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_SHARE,
ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_2_NAME,
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_SHARE,
ITEM_MODEL_INTERNAL_MODULE_PXX2_ADD_RECEIVER,
#endif
ITEM_MODEL_EXTERNAL_MODULE_LABEL,
@ -120,10 +122,12 @@ enum MenuModelSetupItems {
ITEM_MODEL_EXTERNAL_MODULE_PXX2_RECEIVER_1_PINMAP,
ITEM_MODEL_EXTERNAL_MODULE_PXX2_RECEIVER_1_TELEM,
ITEM_MODEL_EXTERNAL_MODULE_PXX2_RECEIVER_1_BIND_DEL,
ITEM_MODEL_EXTERNAL_MODULE_PXX2_RECEIVER_1_SHARE,
ITEM_MODEL_EXTERNAL_MODULE_PXX2_RECEIVER_2_NAME,
ITEM_MODEL_EXTERNAL_MODULE_PXX2_RECEIVER_2_PINMAP,
ITEM_MODEL_EXTERNAL_MODULE_PXX2_RECEIVER_2_TELEM,
ITEM_MODEL_EXTERNAL_MODULE_PXX2_RECEIVER_2_BIND_DEL,
ITEM_MODEL_EXTERNAL_MODULE_PXX2_RECEIVER_2_SHARE,
ITEM_MODEL_EXTERNAL_MODULE_PXX2_ADD_RECEIVER,
#if defined(PCBSKY9X) && !defined(REVA)
ITEM_MODEL_EXTRA_MODULE_LABEL,
@ -399,10 +403,12 @@ 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, 0), // Receiver Transfer
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, 0), // Receiver Transfer
IF_PXX2(INTERNAL_MODULE_ADD_RECEIVER_ROW),
LABEL(ExternalModule),
@ -423,10 +429,12 @@ void menuModelSetup(event_t event)
IF_PXX2_RECEIVER_DISPLAYED(EXTERNAL_MODULE, 0, 0), // Receiver Range
IF_PXX2_RECEIVER_DISPLAYED(EXTERNAL_MODULE, 0, 0), // Receiver Telemetry
IF_PXX2_RECEIVER_DISPLAYED(EXTERNAL_MODULE, 0, 1), // Receiver Bind/Delete
IF_PXX2_RECEIVER_DISPLAYED(EXTERNAL_MODULE, 0, 0), // Receiver Transfer
IF_PXX2_RECEIVER_DISPLAYED(EXTERNAL_MODULE, 1, (uint8_t)-1), // Receiver Number
IF_PXX2_RECEIVER_DISPLAYED(EXTERNAL_MODULE, 1, 0), // Receiver Range
IF_PXX2_RECEIVER_DISPLAYED(EXTERNAL_MODULE, 1, 0), // Receiver Telemetry
IF_PXX2_RECEIVER_DISPLAYED(EXTERNAL_MODULE, 1, 1), // Receiver Bind/Delete
IF_PXX2_RECEIVER_DISPLAYED(EXTERNAL_MODULE, 1, 0), // Receiver Transfer
IF_EXTERNAL_PXX2(EXTERNAL_MODULE_ADD_RECEIVER_ROW),
TRAINER_ROWS
@ -1203,7 +1211,7 @@ void menuModelSetup(event_t event)
else {
g_model.moduleData[moduleIdx].pxx2.receivers[0].enabled = 0x01;
memcpy(&g_model.moduleData[moduleIdx].pxx2.receivers[0].channelMapping, DEFAULT_CHANNEL_MAPPING, sizeof(uint64_t));
menuVerticalPosition = (moduleIdx ? ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_2_BIND_DEL : ITEM_MODEL_EXTERNAL_MODULE_PXX2_RECEIVER_2_BIND_DEL) + 1;
menuVerticalPosition = (moduleIdx ? ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_1_BIND_DEL : ITEM_MODEL_EXTERNAL_MODULE_PXX2_RECEIVER_1_BIND_DEL) + 1;
}
killEvents(event);
s_editMode = 0;
@ -1302,6 +1310,23 @@ void menuModelSetup(event_t event)
}
break;
case ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_1_SHARE:
case ITEM_MODEL_INTERNAL_MODULE_PXX2_RECEIVER_2_SHARE:
case ITEM_MODEL_EXTERNAL_MODULE_PXX2_RECEIVER_1_SHARE:
case ITEM_MODEL_EXTERNAL_MODULE_PXX2_RECEIVER_2_SHARE:
{
uint8_t receiverIdx = CURRENT_RECEIVER_EDITED(k);
uint8_t moduleIdx = CURRENT_MODULE_EDITED(k);
lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, STR_TRANSFER_BUTTON, attr);
if (event == EVT_KEY_BREAK(KEY_ENTER)) {
moduleSettings[moduleIdx].mode ^= MODULE_MODE_SHARE;
reusableBuffer.moduleSetup.pxx2.shareReceiverIndex = receiverIdx;
}
if (moduleSettings[moduleIdx].mode == MODULE_MODE_NORMAL)
s_editMode = 0;
}
break;
#endif
#if defined(PCBSKY9X)
case ITEM_MODEL_EXTRA_MODULE_BIND:

View file

@ -1132,7 +1132,10 @@ union ReusableBuffer
char registrationID[PXX2_LEN_REGISTRATION_ID];
char bindCandidateReceiversNames[PXX2_MAX_RECEIVERS_PER_MODULE][PXX2_LEN_RX_NAME];
uint8_t bindCandidateReceiversCount;
uint8_t bindSelectedReceiverIndex;
union {
uint8_t bindSelectedReceiverIndex;
uint8_t shareReceiverIndex;
};
} pxx2;
};
} moduleSetup;

View file

@ -76,6 +76,7 @@ enum ModuleSettingsMode
MODULE_MODE_BIND,
MODULE_MODE_REGISTER,
MODULE_MODE_SPECTRUM_ANALYSER,
MODULE_MODE_SHARE
};
PACK(struct ModuleSettings {

View file

@ -584,6 +584,7 @@ const char STR_BLCOLOR[] = TR_BLCOLOR;
const char STR_TRAINER[] = TR_TRAINER;
const char STR_MODULE_BIND[] = TR_MODULE_BIND;
const char STR_TRANSFER_BUTTON[] = TR_TRANSFER_BUTTON;
const char STR_REGISTER_BUTTON[] = TR_REGISTER_BUTTON;
const char STR_RXADD_BUTTON[] = TR_RXADD_BUTTON;
const char STR_BINDING_1_8_TELEM_ON[] = TR_BINDING_CH1_8_TELEM_ON;

View file

@ -849,6 +849,7 @@ extern const char STR_EXPONAME[];
extern const char STR_TRAINER[];
extern const char STR_MODULE_BIND[];
extern const char STR_TRANSFER_BUTTON[];
extern const char STR_REGISTER_BUTTON[];
extern const char STR_RXADD_BUTTON[];
extern const char STR_BINDING_1_8_TELEM_ON[];

View file

@ -961,6 +961,7 @@
#define TR_BUZZER INDENT"Pípák"
#define TR_BYTES "[B]"
#define TR_MODULE_BIND BUTTON(TR("Bnd", "Bind"))
#define TR_TRANSFER_BUTTON BUTTON("Transfer")
#define TR_REGISTER_BUTTON BUTTON(TR("Reg", "Register"))
#define TR_RXADD_BUTTON "BUTTON(Add)"
#define TR_MODULE_RANGE BUTTON(TR("Rng", "Range"))

View file

@ -966,6 +966,7 @@
#define TR_BUZZER INDENT "Summer"
#define TR_BYTES "Bytes"
#define TR_MODULE_BIND BUTTON(TR("Bnd","Bind")) //9XR-Pro
#define TR_TRANSFER_BUTTON BUTTON("Transfer")
#define TR_REGISTER_BUTTON BUTTON(TR("Reg", "Register"))
#define TR_RXADD_BUTTON "BUTTON(Add)"
#define TR_MODULE_RANGE BUTTON(TR("Rng", "Range")) //9XR-Pro

View file

@ -965,6 +965,7 @@
#define TR_BUZZER INDENT "Buzzer"
#define TR_BYTES "bytes"
#define TR_MODULE_BIND BUTTON(TR("Bnd", "Bind"))
#define TR_TRANSFER_BUTTON BUTTON("Transfer")
#define TR_REGISTER_BUTTON BUTTON(TR("Reg", "Register"))
#define TR_RXADD_BUTTON BUTTON("Add")
#define TR_MODULE_RANGE BUTTON(TR("Rng", "Range"))

View file

@ -972,6 +972,7 @@
#define TR_BUZZER INDENT"Zumbador"
#define TR_BYTES "bytes"
#define TR_MODULE_BIND "[Enlace]"
#define TR_TRANSFER_BUTTON BUTTON("Transfer")
#define TR_REGISTER_BUTTON BUTTON(TR("Reg", "Register"))
#define TR_RXADD_BUTTON "BUTTON(Add)"
#define TR_MODULE_RANGE "[Limites]"

View file

@ -964,6 +964,7 @@
#define TR_BUZZER INDENT"Buzzer"
#define TR_BYTES "bytes"
#define TR_MODULE_BIND "[Bind]"
#define TR_TRANSFER_BUTTON BUTTON("Transfer")
#define TR_REGISTER_BUTTON BUTTON(TR("Reg", "Register"))
#define TR_RXADD_BUTTON "BUTTON(Add)"
#define TR_MODULE_RANGE "[Range]"

View file

@ -976,6 +976,7 @@
#define TR_BUZZER INDENT "Bipeur"
#define TR_BYTES "bytes"
#define TR_MODULE_BIND BUTTON(TR("Bnd", "Bind"))
#define TR_TRANSFER_BUTTON BUTTON("Transfer")
#define TR_REGISTER_BUTTON BUTTON(TR("Reg", "Register"))
#define TR_RXADD_BUTTON "BUTTON(Add)"
#define TR_MODULE_RANGE BUTTON(TR("Prt", "Port."))

View file

@ -966,6 +966,7 @@
#define TR_BUZZER INDENT"Buzzer"
#define TR_BYTES "Bytes"
#define TR_MODULE_BIND "[Bind]"
#define TR_TRANSFER_BUTTON BUTTON("Transfer")
#define TR_REGISTER_BUTTON BUTTON(TR("Reg", "Register"))
#define TR_RXADD_BUTTON "BUTTON(Add)"
#define TR_MODULE_RANGE "[Range]"

View file

@ -967,6 +967,7 @@
#define TR_BUZZER INDENT "Zoemer"
#define TR_BYTES "bytes"
#define TR_MODULE_BIND TR("[Bnd]", "[Bind]")
#define TR_TRANSFER_BUTTON BUTTON("Transfer")
#define TR_REGISTER_BUTTON BUTTON(TR("Reg", "Register"))
#define TR_RXADD_BUTTON "BUTTON(Add)"
#define TR_MODULE_RANGE TR("[Rng]", "[Range]")

View file

@ -967,6 +967,7 @@
#define TR_BUZZER INDENT"Brzęczyk"
#define TR_BYTES "bajty"
#define TR_MODULE_BIND TR("[BND]","[Bind]")
#define TR_TRANSFER_BUTTON BUTTON("Transfert)
#define TR_REGISTER_BUTTON BUTTON(TR("Reg", "Register"))
#define TR_RXADD_BUTTON "BUTTON(Add)"
#define TR_MODULE_RANGE TR("[Zas]","Zasięg")

View file

@ -971,6 +971,7 @@
#define TR_BUZZER INDENT"Buzzer"
#define TR_BYTES "bytes"
#define TR_MODULE_BIND "[Bind]"
#define TR_TRANSFER_BUTTON BUTTON("Transfer")
#define TR_REGISTER_BUTTON BUTTON(TR("Reg", "Register"))
#define TR_RXADD_BUTTON "BUTTON(Add)"
#define TR_MODULE_RANGE "[Range]"

View file

@ -980,6 +980,7 @@
#define TR_BUZZER INDENT"Summer"
#define TR_BYTES "byte"
#define TR_MODULE_BIND TR("[Bnd]", "[Bind]")
#define TR_TRANSFER_BUTTON BUTTON("Transfer")
#define TR_REGISTER_BUTTON BUTTON(TR("Reg", "Register"))
#define TR_RXADD_BUTTON "BUTTON(Add)"
#define TR_MODULE_RANGE TR("[Tst]", "[Testa]")