mirror of
https://github.com/opentx/opentx.git
synced 2025-07-13 11:29:51 +03:00
AFHDS3
This commit is contained in:
parent
207a844683
commit
8bb4bff921
1 changed files with 73 additions and 3 deletions
|
@ -25,9 +25,9 @@
|
|||
|
||||
// TODO find why we need this (for REGISTER at least)
|
||||
#if defined(PCBXLITE)
|
||||
#define EVT_BUTTON_PRESSED() EVT_KEY_FIRST(KEY_ENTER)
|
||||
#define EVT_BUTTON_PRESSED() EVT_KEY_FIRST(KEY_ENTER)
|
||||
#else
|
||||
#define EVT_BUTTON_PRESSED() EVT_KEY_BREAK(KEY_ENTER)
|
||||
#define EVT_BUTTON_PRESSED() EVT_KEY_BREAK(KEY_ENTER)
|
||||
#endif
|
||||
|
||||
uint8_t g_moduleIdx;
|
||||
|
@ -131,12 +131,22 @@ enum MenuModelSetupItems {
|
|||
ITEM_MODEL_SETUP_EXTERNAL_MODULE_SUBTYPE,
|
||||
ITEM_MODEL_SETUP_EXTERNAL_MODULE_STATUS,
|
||||
ITEM_MODEL_SETUP_EXTERNAL_MODULE_SYNCSTATUS,
|
||||
#endif
|
||||
#if defined(AFHDS3)
|
||||
ITEM_MODEL_SETUP_EXTERNAL_MODULE_AFHDS_PROTOCOL,
|
||||
ITEM_MODEL_SETUP_EXTERNAL_MODULE_AFHDS3_MODE,
|
||||
ITEM_MODEL_SETUP_EXTERNAL_MODULE_AFHDS3_STATUS,
|
||||
ITEM_MODEL_SETUP_EXTERNAL_MODULE_AFHDS3_POWER_STATUS,
|
||||
#endif
|
||||
ITEM_MODEL_SETUP_EXTERNAL_MODULE_CHANNELS,
|
||||
ITEM_MODEL_SETUP_EXTERNAL_MODULE_NOT_ACCESS_RXNUM_BIND_RANGE,
|
||||
ITEM_MODEL_SETUP_EXTERNAL_MODULE_PXX2_MODEL_NUM,
|
||||
#if defined(PCBSKY9X) && defined(REVX)
|
||||
ITEM_MODEL_SETUP_EXTERNAL_MODULE_OUTPUT_TYPE,
|
||||
#endif
|
||||
#if defined(AFHDS3)
|
||||
ITEM_MODEL_SETUP_EXTERNAL_MODULE_AFHDS3_RX_FREQ,
|
||||
ITEM_MODEL_SETUP_EXTERNAL_MODULE_AFHDS3_ACTUAL_POWER,
|
||||
#endif
|
||||
ITEM_MODEL_SETUP_EXTERNAL_MODULE_POWER,
|
||||
ITEM_MODEL_SETUP_EXTERNAL_MODULE_OPTIONS,
|
||||
|
@ -324,6 +334,9 @@ void onBluetoothConnectMenu(const char * result)
|
|||
#if defined(PXX2)
|
||||
#include "common/stdlcd/model_setup_pxx2.cpp"
|
||||
#endif
|
||||
#if defined(AFHDS3)
|
||||
#include "common/stdlcd/model_setup_afhds3.cpp"
|
||||
#endif
|
||||
|
||||
#if defined(HARDWARE_INTERNAL_MODULE)
|
||||
#define INTERNAL_MODULE_ROWS \
|
||||
|
@ -393,6 +406,7 @@ void menuModelSetup(event_t event)
|
|||
MODULE_CHANNELS_ROWS(EXTERNAL_MODULE),
|
||||
IF_NOT_ACCESS_MODULE_RF(EXTERNAL_MODULE, MODULE_BIND_ROWS(EXTERNAL_MODULE)), // line reused for PPM: PPM settings
|
||||
IF_ACCESS_MODULE_RF(EXTERNAL_MODULE, 0), // RxNum
|
||||
AFHDS3_MODULE_ROWS(EXTERNAL_MODULE)
|
||||
MODULE_POWER_ROW(EXTERNAL_MODULE),
|
||||
IF_NOT_PXX2_MODULE(EXTERNAL_MODULE, MODULE_OPTION_ROW(EXTERNAL_MODULE)),
|
||||
MULTIMODULE_MODULE_ROWS(EXTERNAL_MODULE)
|
||||
|
@ -1120,6 +1134,21 @@ void menuModelSetup(event_t event)
|
|||
break;
|
||||
#endif
|
||||
|
||||
#if defined(AFHDS3)
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_AFHDS_PROTOCOL:
|
||||
lcdDrawTextAlignedLeft(y, TR_PROTO);
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_AFHDS3_PROTOCOLS, g_model.moduleData[EXTERNAL_MODULE].subType, attr);
|
||||
if (attr && s_editMode > 0 && menuHorizontalPosition == 0) {
|
||||
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].subType, AFHDS_SUBTYPE_FIRST, AFHDS_SUBTYPE_LAST);
|
||||
}
|
||||
break;
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_AFHDS3_MODE:
|
||||
lcdDrawText(INDENT_WIDTH, y, TR_TELEMETRY_TYPE);
|
||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN, y,
|
||||
g_model.moduleData[EXTERNAL_MODULE].afhds3.telemetry ? STR_AFHDS3_ONE_TO_ONE_TELEMETRY : TR_AFHDS3_ONE_TO_MANY);
|
||||
break;
|
||||
#endif
|
||||
|
||||
#if defined(PCBTARANIS)
|
||||
case ITEM_MODEL_SETUP_TRAINER_LABEL:
|
||||
lcdDrawTextAlignedLeft(y, STR_TRAINER);
|
||||
|
@ -1429,7 +1458,7 @@ void menuModelSetup(event_t event)
|
|||
if (attr && l_posHorz > 0) {
|
||||
if (s_editMode > 0) {
|
||||
if (l_posHorz == 1) {
|
||||
if (isModuleR9MNonAccess(moduleIdx) || isModuleD16(moduleIdx)) {
|
||||
if (isModuleR9MNonAccess(moduleIdx) || isModuleD16(moduleIdx) || isModuleAFHDS3(moduleIdx)) {
|
||||
#if defined(PCBXLITE)
|
||||
if (EVT_KEY_MASK(event) == KEY_ENTER) {
|
||||
#elif defined(NAVIGATION_9X)
|
||||
|
@ -1438,6 +1467,12 @@ void menuModelSetup(event_t event)
|
|||
if (event == EVT_KEY_BREAK(KEY_ENTER)) {
|
||||
#endif
|
||||
killEvents(event);
|
||||
#if defined(AFHDS3)
|
||||
if (isModuleAFHDS3(moduleIdx)) {
|
||||
startBindMenuAfhds3(moduleIdx);
|
||||
continue;
|
||||
}
|
||||
#endif
|
||||
startBindMenu(moduleIdx);
|
||||
continue;
|
||||
}
|
||||
|
@ -1681,6 +1716,14 @@ void menuModelSetup(event_t event)
|
|||
module.multi.lowPowerMode = editCheckBox(module.multi.lowPowerMode, MODEL_SETUP_2ND_COLUMN, y, IS_RX_MULTI(moduleIdx) ? STR_MULTI_LNA_DISABLE : STR_MULTI_LOWPOWER, attr, event);
|
||||
}
|
||||
#endif
|
||||
#if defined(AFHDS3)
|
||||
else if (isModuleAFHDS3(EXTERNAL_MODULE)) {
|
||||
lcdDrawText(INDENT_WIDTH, y, STR_RFPOWER);
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_AFHDS3_POWERS, g_model.moduleData[EXTERNAL_MODULE].afhds3.runPower, LEFT | attr);
|
||||
if (attr)
|
||||
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].afhds3.runPower, afhds3::RUN_POWER::RUN_POWER_FIRST, afhds3::RUN_POWER::RUN_POWER_LAST);
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
break;
|
||||
|
@ -1707,7 +1750,26 @@ void menuModelSetup(event_t event)
|
|||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_DISABLE_MAPPING:
|
||||
g_model.moduleData[moduleIdx].multi.disableMapping = editCheckBox(g_model.moduleData[moduleIdx].multi.disableMapping, MODEL_SETUP_2ND_COLUMN, y, INDENT TR_DISABLE_CH_MAP, attr, event);
|
||||
break;
|
||||
#endif
|
||||
|
||||
#if defined(AFHDS3)
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_AFHDS3_RX_FREQ:
|
||||
lcdDrawText(INDENT_WIDTH, y, STR_AFHDS3_RX_FREQ);
|
||||
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, g_model.moduleData[EXTERNAL_MODULE].afhds3.rxFreq(), attr | LEFT);
|
||||
if (attr) {
|
||||
uint16_t rxFreq = g_model.moduleData[EXTERNAL_MODULE].afhds3.rxFreq();
|
||||
CHECK_INCDEC_MODELVAR(event, rxFreq, MIN_FREQ, MAX_FREQ);
|
||||
g_model.moduleData[EXTERNAL_MODULE].afhds3.setRxFreq(rxFreq);
|
||||
}
|
||||
break;
|
||||
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_AFHDS3_ACTUAL_POWER:
|
||||
lcdDrawText(INDENT_WIDTH, y, STR_AFHDS3_ACTUAL_POWER);
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_AFHDS3_POWERS, actualAfhdsRunPower(EXTERNAL_MODULE), LEFT);
|
||||
break;
|
||||
#endif
|
||||
|
||||
#if defined(MULTIMODULE)
|
||||
#if defined(HARDWARE_INTERNAL_MODULE)
|
||||
case ITEM_MODEL_SETUP_INTERNAL_MODULE_STATUS:
|
||||
#endif
|
||||
|
@ -1723,6 +1785,14 @@ void menuModelSetup(event_t event)
|
|||
#endif
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_SYNCSTATUS: {
|
||||
lcdDrawTextAlignedLeft(y, STR_MODULE_SYNC);
|
||||
getModuleSyncStatusString(moduleIdx, reusableBuffer.moduleSetup.msg);
|
||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, reusableBuffer.moduleSetup.msg);
|
||||
break;
|
||||
#endif
|
||||
|
||||
#if defined(AFHDS3)
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_AFHDS3_STATUS: {
|
||||
lcdDrawTextAlignedLeft(y, STR_MODULE_STATUS);
|
||||
|
||||
char statusText[64];
|
||||
getMultiSyncStatus(moduleIdx).getRefreshString(statusText);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue