mirror of
https://github.com/EdgeTX/edgetx.git
synced 2025-07-18 22:05:08 +03:00
parent
a326128981
commit
a65cd6dbda
7 changed files with 67 additions and 51 deletions
|
@ -38,12 +38,4 @@ void menuRadioDiagAnalogs(event_t event)
|
||||||
lcdDrawNumber(x+10*FW-1, y, (int16_t)calibratedAnalogs[CONVERT_MODE(i)]*25/256, RIGHT);
|
lcdDrawNumber(x+10*FW-1, y, (int16_t)calibratedAnalogs[CONVERT_MODE(i)]*25/256, RIGHT);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
// RAS
|
|
||||||
if ((isModuleXJT(INTERNAL_MODULE) && IS_INTERNAL_MODULE_ON()) || (isModulePXX1(EXTERNAL_MODULE) && !IS_INTERNAL_MODULE_ON())) {
|
|
||||||
lcdDrawTextAlignedLeft(MENU_HEADER_HEIGHT+6*FH, "RAS");
|
|
||||||
lcdDrawNumber(10*FW-1, MENU_HEADER_HEIGHT+6*FH, telemetryData.swrInternal.value(), RIGHT);
|
|
||||||
lcdDrawText(LCD_W/2, MENU_HEADER_HEIGHT+6*FH, "XJTVER");
|
|
||||||
lcdDrawNumber(LCD_W/2 + 10*FW-1, MENU_HEADER_HEIGHT+6*FH, telemetryData.xjtVersion, RIGHT);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,6 @@
|
||||||
constexpr coord_t LEFT_NAME_COLUMN = MENUS_MARGIN_LEFT;
|
constexpr coord_t LEFT_NAME_COLUMN = MENUS_MARGIN_LEFT;
|
||||||
constexpr coord_t RIGHT_NAME_COLUMN = LCD_W / 2;
|
constexpr coord_t RIGHT_NAME_COLUMN = LCD_W / 2;
|
||||||
constexpr coord_t ANA_OFFSET = 150;
|
constexpr coord_t ANA_OFFSET = 150;
|
||||||
constexpr coord_t RAS_TOP_POSITION = LCD_H - 45;
|
|
||||||
|
|
||||||
bool menuRadioDiagAnalogs(event_t event)
|
bool menuRadioDiagAnalogs(event_t event)
|
||||||
{
|
{
|
||||||
|
@ -49,14 +48,6 @@ bool menuRadioDiagAnalogs(event_t event)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
// RAS
|
|
||||||
if ((isModuleXJT(INTERNAL_MODULE) && IS_INTERNAL_MODULE_ON()) || (isModulePXX1(EXTERNAL_MODULE) && !IS_INTERNAL_MODULE_ON())) {
|
|
||||||
lcdDrawText(MENUS_MARGIN_LEFT, RAS_TOP_POSITION, "RAS : ");
|
|
||||||
lcdDrawNumber(lcdNextPos, RAS_TOP_POSITION, telemetryData.swrInternal.value(), 0);
|
|
||||||
lcdDrawText(LCD_W / 2, RAS_TOP_POSITION, "XJTVER : ");
|
|
||||||
lcdDrawNumber(lcdNextPos, RAS_TOP_POSITION, telemetryData.xjtVersion, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
#if (NUM_PWMSTICKS > 0) && !defined(SIMU)
|
#if (NUM_PWMSTICKS > 0) && !defined(SIMU)
|
||||||
lcdDrawText(MENUS_MARGIN_LEFT, MENU_CONTENT_TOP + 8 * FH, STICKS_PWM_ENABLED() ? "Sticks: PWM" : "Sticks: ANA");
|
lcdDrawText(MENUS_MARGIN_LEFT, MENU_CONTENT_TOP + 8 * FH, STICKS_PWM_ENABLED() ? "Sticks: PWM" : "Sticks: ANA");
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -72,6 +72,8 @@ enum MenuRadioHardwareItems {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ITEM_RADIO_HARDWARE_JITTER_FILTER,
|
ITEM_RADIO_HARDWARE_JITTER_FILTER,
|
||||||
|
ITEM_RADIO_HARDWARE_RAS,
|
||||||
|
|
||||||
#if defined(SPORT_UPDATE_PWR_GPIO)
|
#if defined(SPORT_UPDATE_PWR_GPIO)
|
||||||
ITEM_RADIO_HARDWARE_SPORT_UPDATE_POWER,
|
ITEM_RADIO_HARDWARE_SPORT_UPDATE_POWER,
|
||||||
#endif
|
#endif
|
||||||
|
@ -79,7 +81,8 @@ enum MenuRadioHardwareItems {
|
||||||
ITEM_RADIO_HARDWARE_MAX
|
ITEM_RADIO_HARDWARE_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
#define HW_SETTINGS_COLUMN 150
|
#define HW_SETTINGS_COLUMN1 150
|
||||||
|
#define HW_SETTINGS_COLUMN2 200
|
||||||
|
|
||||||
#if defined(AUX_SERIAL)
|
#if defined(AUX_SERIAL)
|
||||||
#define AUX_SERIAL_ROW 0,
|
#define AUX_SERIAL_ROW 0,
|
||||||
|
@ -157,6 +160,7 @@ bool menuRadioHardware(event_t event)
|
||||||
|
|
||||||
AUX_SERIAL_ROW /* aux serial mode */
|
AUX_SERIAL_ROW /* aux serial mode */
|
||||||
0, /* ADC filter */
|
0, /* ADC filter */
|
||||||
|
READONLY_ROW /* RAS */,
|
||||||
SPORT_POWER_ROWS
|
SPORT_POWER_ROWS
|
||||||
1, /* Debug */
|
1, /* Debug */
|
||||||
});
|
});
|
||||||
|
@ -197,7 +201,7 @@ bool menuRadioHardware(event_t event)
|
||||||
case ITEM_RADIO_HARDWARE_STICK2:
|
case ITEM_RADIO_HARDWARE_STICK2:
|
||||||
case ITEM_RADIO_HARDWARE_STICK3:
|
case ITEM_RADIO_HARDWARE_STICK3:
|
||||||
case ITEM_RADIO_HARDWARE_STICK4:
|
case ITEM_RADIO_HARDWARE_STICK4:
|
||||||
editStickHardwareSettings(HW_SETTINGS_COLUMN, y, k - ITEM_RADIO_HARDWARE_STICK1, event, attr);
|
editStickHardwareSettings(HW_SETTINGS_COLUMN1, y, k - ITEM_RADIO_HARDWARE_STICK1, event, attr);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEM_RADIO_HARDWARE_LS:
|
case ITEM_RADIO_HARDWARE_LS:
|
||||||
|
@ -211,11 +215,11 @@ bool menuRadioHardware(event_t event)
|
||||||
uint8_t mask = (0x01 << idx);
|
uint8_t mask = (0x01 << idx);
|
||||||
lcdDrawTextAtIndex(INDENT_WIDTH, y, STR_VSRCRAW, NUM_STICKS+NUM_POTS+idx+1, menuHorizontalPosition < 0 ? attr : 0);
|
lcdDrawTextAtIndex(INDENT_WIDTH, y, STR_VSRCRAW, NUM_STICKS+NUM_POTS+idx+1, menuHorizontalPosition < 0 ? attr : 0);
|
||||||
if (ZEXIST(g_eeGeneral.anaNames[NUM_STICKS+NUM_POTS+idx]) || (attr && menuHorizontalPosition == 0))
|
if (ZEXIST(g_eeGeneral.anaNames[NUM_STICKS+NUM_POTS+idx]) || (attr && menuHorizontalPosition == 0))
|
||||||
editName(HW_SETTINGS_COLUMN, y, g_eeGeneral.anaNames[NUM_STICKS+NUM_POTS+idx], LEN_ANA_NAME, event, attr && menuHorizontalPosition == 0);
|
editName(HW_SETTINGS_COLUMN1, y, g_eeGeneral.anaNames[NUM_STICKS+NUM_POTS+idx], LEN_ANA_NAME, event, attr && menuHorizontalPosition == 0);
|
||||||
else
|
else
|
||||||
lcdDrawMMM(HW_SETTINGS_COLUMN, y, 0);
|
lcdDrawMMM(HW_SETTINGS_COLUMN1, y, 0);
|
||||||
uint8_t potType = (g_eeGeneral.slidersConfig & mask) >> idx;
|
uint8_t potType = (g_eeGeneral.slidersConfig & mask) >> idx;
|
||||||
potType = editChoice(HW_SETTINGS_COLUMN+50, y, STR_SLIDERTYPES, potType, SLIDER_NONE, SLIDER_WITH_DETENT, menuHorizontalPosition == 1 ? attr : 0, event);
|
potType = editChoice(HW_SETTINGS_COLUMN2, y, STR_SLIDERTYPES, potType, SLIDER_NONE, SLIDER_WITH_DETENT, menuHorizontalPosition == 1 ? attr : 0, event);
|
||||||
g_eeGeneral.slidersConfig &= ~mask;
|
g_eeGeneral.slidersConfig &= ~mask;
|
||||||
g_eeGeneral.slidersConfig |= (potType << idx);
|
g_eeGeneral.slidersConfig |= (potType << idx);
|
||||||
break;
|
break;
|
||||||
|
@ -236,11 +240,11 @@ bool menuRadioHardware(event_t event)
|
||||||
int index = k - ITEM_RADIO_HARDWARE_POT1;
|
int index = k - ITEM_RADIO_HARDWARE_POT1;
|
||||||
lcdDrawTextAtIndex(INDENT_WIDTH, y, STR_VSRCRAW, NUM_STICKS+index+1, menuHorizontalPosition < 0 ? attr : 0);
|
lcdDrawTextAtIndex(INDENT_WIDTH, y, STR_VSRCRAW, NUM_STICKS+index+1, menuHorizontalPosition < 0 ? attr : 0);
|
||||||
if (ZEXIST(g_eeGeneral.anaNames[NUM_STICKS+index]) || (attr && menuHorizontalPosition == 0))
|
if (ZEXIST(g_eeGeneral.anaNames[NUM_STICKS+index]) || (attr && menuHorizontalPosition == 0))
|
||||||
editName(HW_SETTINGS_COLUMN, y, g_eeGeneral.anaNames[NUM_STICKS+index], LEN_ANA_NAME, event, attr && menuHorizontalPosition == 0);
|
editName(HW_SETTINGS_COLUMN1, y, g_eeGeneral.anaNames[NUM_STICKS+index], LEN_ANA_NAME, event, attr && menuHorizontalPosition == 0);
|
||||||
else
|
else
|
||||||
lcdDrawMMM(HW_SETTINGS_COLUMN, y, 0);
|
lcdDrawMMM(HW_SETTINGS_COLUMN1, y, 0);
|
||||||
uint32_t potType = bfGet<uint32_t>(g_eeGeneral.potsConfig, 2*(index), 2);
|
uint32_t potType = bfGet<uint32_t>(g_eeGeneral.potsConfig, 2*(index), 2);
|
||||||
potType = editChoice(HW_SETTINGS_COLUMN+50, y, STR_POTTYPES, potType, POT_NONE, POT_WITHOUT_DETENT, menuHorizontalPosition == 1 ? attr : 0, event);
|
potType = editChoice(HW_SETTINGS_COLUMN2, y, STR_POTTYPES, potType, POT_NONE, POT_WITHOUT_DETENT, menuHorizontalPosition == 1 ? attr : 0, event);
|
||||||
g_eeGeneral.potsConfig = bfSet<uint32_t>(g_eeGeneral.potsConfig, potType, 2*index, 2);
|
g_eeGeneral.potsConfig = bfSet<uint32_t>(g_eeGeneral.potsConfig, potType, 2*index, 2);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -264,10 +268,10 @@ bool menuRadioHardware(event_t event)
|
||||||
int config = SWITCH_CONFIG(index);
|
int config = SWITCH_CONFIG(index);
|
||||||
lcdDrawTextAtIndex(INDENT_WIDTH, y, STR_VSRCRAW, MIXSRC_FIRST_SWITCH-MIXSRC_Rud+index+1, menuHorizontalPosition < 0 ? attr : 0);
|
lcdDrawTextAtIndex(INDENT_WIDTH, y, STR_VSRCRAW, MIXSRC_FIRST_SWITCH-MIXSRC_Rud+index+1, menuHorizontalPosition < 0 ? attr : 0);
|
||||||
if (ZEXIST(g_eeGeneral.switchNames[index]) || (attr && menuHorizontalPosition == 0))
|
if (ZEXIST(g_eeGeneral.switchNames[index]) || (attr && menuHorizontalPosition == 0))
|
||||||
editName(HW_SETTINGS_COLUMN, y, g_eeGeneral.switchNames[index], LEN_SWITCH_NAME, event, menuHorizontalPosition == 0 ? attr : 0);
|
editName(HW_SETTINGS_COLUMN1, y, g_eeGeneral.switchNames[index], LEN_SWITCH_NAME, event, menuHorizontalPosition == 0 ? attr : 0);
|
||||||
else
|
else
|
||||||
lcdDrawMMM(HW_SETTINGS_COLUMN, y, 0);
|
lcdDrawMMM(HW_SETTINGS_COLUMN1, y, 0);
|
||||||
config = editChoice(HW_SETTINGS_COLUMN+50, y, STR_SWTYPES, config, SWITCH_NONE, SWITCH_TYPE_MAX(index), menuHorizontalPosition == 1 ? attr : 0, event);
|
config = editChoice(HW_SETTINGS_COLUMN2, y, STR_SWTYPES, config, SWITCH_NONE, SWITCH_TYPE_MAX(index), menuHorizontalPosition == 1 ? attr : 0, event);
|
||||||
if (attr && checkIncDec_Ret) {
|
if (attr && checkIncDec_Ret) {
|
||||||
g_eeGeneral.switchConfig = bfSet<swconfig_t>(g_eeGeneral.switchConfig, config, 2*index, 2);
|
g_eeGeneral.switchConfig = bfSet<swconfig_t>(g_eeGeneral.switchConfig, config, 2*index, 2);
|
||||||
}
|
}
|
||||||
|
@ -276,18 +280,18 @@ bool menuRadioHardware(event_t event)
|
||||||
|
|
||||||
case ITEM_RADIO_HARDWARE_BATTERY_CALIB:
|
case ITEM_RADIO_HARDWARE_BATTERY_CALIB:
|
||||||
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_BATT_CALIB);
|
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_BATT_CALIB);
|
||||||
lcdDrawNumber(HW_SETTINGS_COLUMN+50, y, getBatteryVoltage(), attr|PREC2, 0, NULL, "V");
|
lcdDrawNumber(HW_SETTINGS_COLUMN2, y, getBatteryVoltage(), attr|PREC2, 0, NULL, "V");
|
||||||
if (attr) CHECK_INCDEC_GENVAR(event, g_eeGeneral.txVoltageCalibration, -127, 127);
|
if (attr) CHECK_INCDEC_GENVAR(event, g_eeGeneral.txVoltageCalibration, -127, 127);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEM_RADIO_HARDWARE_RTC_BATTERY:
|
case ITEM_RADIO_HARDWARE_RTC_BATTERY:
|
||||||
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_RTC_BATT);
|
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_RTC_BATT);
|
||||||
lcdDrawNumber(HW_SETTINGS_COLUMN+50, y, getRTCBatteryVoltage(), attr|PREC2, 0, NULL, "V");
|
lcdDrawNumber(HW_SETTINGS_COLUMN2, y, getRTCBatteryVoltage(), attr|PREC2, 0, NULL, "V");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEM_RADIO_HARDWARE_SERIAL_BAUDRATE:
|
case ITEM_RADIO_HARDWARE_SERIAL_BAUDRATE:
|
||||||
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_MAXBAUDRATE);
|
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_MAXBAUDRATE);
|
||||||
lcdDrawNumber(HW_SETTINGS_COLUMN+50, y, CROSSFIRE_BAUDRATES[g_eeGeneral.telemetryBaudrate], attr|LEFT);
|
lcdDrawNumber(HW_SETTINGS_COLUMN2, y, CROSSFIRE_BAUDRATES[g_eeGeneral.telemetryBaudrate], attr|LEFT);
|
||||||
if (attr) {
|
if (attr) {
|
||||||
g_eeGeneral.telemetryBaudrate = DIM(CROSSFIRE_BAUDRATES) - 1 - checkIncDecModel(event, DIM(CROSSFIRE_BAUDRATES) - 1 - g_eeGeneral.telemetryBaudrate, 0, DIM(CROSSFIRE_BAUDRATES) - 1);
|
g_eeGeneral.telemetryBaudrate = DIM(CROSSFIRE_BAUDRATES) - 1 - checkIncDecModel(event, DIM(CROSSFIRE_BAUDRATES) - 1 - g_eeGeneral.telemetryBaudrate, 0, DIM(CROSSFIRE_BAUDRATES) - 1);
|
||||||
if (checkIncDec_Ret && IS_EXTERNAL_MODULE_ON()) {
|
if (checkIncDec_Ret && IS_EXTERNAL_MODULE_ON()) {
|
||||||
|
@ -307,40 +311,40 @@ bool menuRadioHardware(event_t event)
|
||||||
{
|
{
|
||||||
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_RTC_CHECK);
|
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_RTC_CHECK);
|
||||||
uint8_t b = 1 - g_eeGeneral.disableRtcWarning;
|
uint8_t b = 1 - g_eeGeneral.disableRtcWarning;
|
||||||
g_eeGeneral.disableRtcWarning = 1 - editCheckBox(b, HW_SETTINGS_COLUMN + 50, y, attr, event);
|
g_eeGeneral.disableRtcWarning = 1 - editCheckBox(b, HW_SETTINGS_COLUMN2, y, attr, event);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#if defined(BLUETOOTH)
|
#if defined(BLUETOOTH)
|
||||||
case ITEM_RADIO_HARDWARE_BLUETOOTH_MODE:
|
case ITEM_RADIO_HARDWARE_BLUETOOTH_MODE:
|
||||||
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_BLUETOOTH);
|
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_BLUETOOTH);
|
||||||
g_eeGeneral.bluetoothMode = editChoice(HW_SETTINGS_COLUMN+50, y, STR_BLUETOOTH_MODES, g_eeGeneral.bluetoothMode, BLUETOOTH_OFF, BLUETOOTH_TRAINER, attr, event);
|
g_eeGeneral.bluetoothMode = editChoice(HW_SETTINGS_COLUMN2, y, STR_BLUETOOTH_MODES, g_eeGeneral.bluetoothMode, BLUETOOTH_OFF, BLUETOOTH_TRAINER, attr, event);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEM_RADIO_HARDWARE_BLUETOOTH_PAIRING_CODE:
|
case ITEM_RADIO_HARDWARE_BLUETOOTH_PAIRING_CODE:
|
||||||
lcdDrawText(INDENT_WIDTH, y, STR_BLUETOOTH_PIN_CODE);
|
lcdDrawText(INDENT_WIDTH, y, STR_BLUETOOTH_PIN_CODE);
|
||||||
lcdDrawText(HW_SETTINGS_COLUMN+50, y, "000000", 0);
|
lcdDrawText(HW_SETTINGS_COLUMN2, y, "000000", 0);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEM_RADIO_HARDWARE_BLUETOOTH_LOCAL_ADDR:
|
case ITEM_RADIO_HARDWARE_BLUETOOTH_LOCAL_ADDR:
|
||||||
lcdDrawText(INDENT_WIDTH, y, STR_BLUETOOTH_LOCAL_ADDR);
|
lcdDrawText(INDENT_WIDTH, y, STR_BLUETOOTH_LOCAL_ADDR);
|
||||||
lcdDrawText(HW_SETTINGS_COLUMN+50, y, bluetooth.localAddr[0] == '\0' ? "---" : bluetooth.localAddr);
|
lcdDrawText(HW_SETTINGS_COLUMN2, y, bluetooth.localAddr[0] == '\0' ? "---" : bluetooth.localAddr);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEM_RADIO_HARDWARE_BLUETOOTH_DISTANT_ADDR:
|
case ITEM_RADIO_HARDWARE_BLUETOOTH_DISTANT_ADDR:
|
||||||
lcdDrawText(INDENT_WIDTH, y, STR_BLUETOOTH_DIST_ADDR);
|
lcdDrawText(INDENT_WIDTH, y, STR_BLUETOOTH_DIST_ADDR);
|
||||||
lcdDrawText(HW_SETTINGS_COLUMN+50, y, bluetooth.distantAddr[0] == '\0' ? "---" : bluetooth.distantAddr);
|
lcdDrawText(HW_SETTINGS_COLUMN2, y, bluetooth.distantAddr[0] == '\0' ? "---" : bluetooth.distantAddr);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEM_RADIO_HARDWARE_BLUETOOTH_NAME:
|
case ITEM_RADIO_HARDWARE_BLUETOOTH_NAME:
|
||||||
lcdDrawText(INDENT_WIDTH, y, STR_NAME);
|
lcdDrawText(INDENT_WIDTH, y, STR_NAME);
|
||||||
editName(HW_SETTINGS_COLUMN+50, y, g_eeGeneral.bluetoothName, LEN_BLUETOOTH_NAME, event, attr);
|
editName(HW_SETTINGS_COLUMN2, y, g_eeGeneral.bluetoothName, LEN_BLUETOOTH_NAME, event, attr);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(INTERNAL_MODULE_PXX1) && defined(EXTERNAL_ANTENNA)
|
#if defined(INTERNAL_MODULE_PXX1) && defined(EXTERNAL_ANTENNA)
|
||||||
case ITEM_RADIO_HARDWARE_EXTERNAL_ANTENNA:
|
case ITEM_RADIO_HARDWARE_EXTERNAL_ANTENNA:
|
||||||
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_ANTENNA);
|
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_ANTENNA);
|
||||||
reusableBuffer.radioHardware.antennaMode = editChoice(HW_SETTINGS_COLUMN+50, y, STR_ANTENNA_MODES, reusableBuffer.radioHardware.antennaMode, ANTENNA_MODE_INTERNAL, ANTENNA_MODE_EXTERNAL, attr, event);
|
reusableBuffer.radioHardware.antennaMode = editChoice(HW_SETTINGS_COLUMN2, y, STR_ANTENNA_MODES, reusableBuffer.radioHardware.antennaMode, ANTENNA_MODE_INTERNAL, ANTENNA_MODE_EXTERNAL, attr, event);
|
||||||
if (!s_editMode && reusableBuffer.radioHardware.antennaMode != g_eeGeneral.antennaMode) {
|
if (!s_editMode && reusableBuffer.radioHardware.antennaMode != g_eeGeneral.antennaMode) {
|
||||||
if (!isExternalAntennaEnabled() && (reusableBuffer.radioHardware.antennaMode == ANTENNA_MODE_EXTERNAL || (reusableBuffer.radioHardware.antennaMode == ANTENNA_MODE_PER_MODEL && g_model.moduleData[INTERNAL_MODULE].pxx.antennaMode == ANTENNA_MODE_EXTERNAL))) {
|
if (!isExternalAntennaEnabled() && (reusableBuffer.radioHardware.antennaMode == ANTENNA_MODE_EXTERNAL || (reusableBuffer.radioHardware.antennaMode == ANTENNA_MODE_PER_MODEL && g_model.moduleData[INTERNAL_MODULE].pxx.antennaMode == ANTENNA_MODE_EXTERNAL))) {
|
||||||
POPUP_CONFIRMATION(STR_ANTENNACONFIRM1, onHardwareAntennaSwitchConfirm);
|
POPUP_CONFIRMATION(STR_ANTENNACONFIRM1, onHardwareAntennaSwitchConfirm);
|
||||||
|
@ -360,7 +364,7 @@ bool menuRadioHardware(event_t event)
|
||||||
#if defined(RADIO_TX16S)
|
#if defined(RADIO_TX16S)
|
||||||
lcdDrawText(lcdNextPos, y, " (TTL)");
|
lcdDrawText(lcdNextPos, y, " (TTL)");
|
||||||
#endif
|
#endif
|
||||||
g_eeGeneral.auxSerialMode = editChoice(HW_SETTINGS_COLUMN+50, y, STR_AUX_SERIAL_MODES, g_eeGeneral.auxSerialMode, 0, UART_MODE_MAX, attr, event);
|
g_eeGeneral.auxSerialMode = editChoice(HW_SETTINGS_COLUMN2, y, STR_AUX_SERIAL_MODES, g_eeGeneral.auxSerialMode, 0, UART_MODE_MAX, attr, event);
|
||||||
if (attr && checkIncDec_Ret) {
|
if (attr && checkIncDec_Ret) {
|
||||||
auxSerialInit(g_eeGeneral.auxSerialMode, modelTelemetryProtocol());
|
auxSerialInit(g_eeGeneral.auxSerialMode, modelTelemetryProtocol());
|
||||||
}
|
}
|
||||||
|
@ -371,14 +375,32 @@ bool menuRadioHardware(event_t event)
|
||||||
{
|
{
|
||||||
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_JITTER_FILTER);
|
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_JITTER_FILTER);
|
||||||
uint8_t b = 1 - g_eeGeneral.jitterFilter;
|
uint8_t b = 1 - g_eeGeneral.jitterFilter;
|
||||||
g_eeGeneral.jitterFilter = 1 - editCheckBox(b, HW_SETTINGS_COLUMN+50, y, attr, event);
|
g_eeGeneral.jitterFilter = 1 - editCheckBox(b, HW_SETTINGS_COLUMN2, y, attr, event);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case ITEM_RADIO_HARDWARE_RAS:
|
||||||
|
#if defined(HARDWARE_INTERNAL_RAS)
|
||||||
|
lcdDrawText(MENUS_MARGIN_LEFT, y, "RAS");
|
||||||
|
if (telemetryData.swrInternal.isFresh())
|
||||||
|
lcdDrawNumber(HW_SETTINGS_COLUMN2, y, telemetryData.swrInternal.value());
|
||||||
|
else
|
||||||
|
lcdDrawText(HW_SETTINGS_COLUMN2, y, "---");
|
||||||
|
lcdDrawText(lcdNextPos, y, "/");
|
||||||
|
#else
|
||||||
|
lcdDrawText(MENUS_MARGIN_LEFT, y, "Ext. RAS");
|
||||||
|
lcdNextPos = HW_SETTINGS_COLUMN2;
|
||||||
|
#endif
|
||||||
|
if (telemetryData.swrExternal.isFresh())
|
||||||
|
lcdDrawNumber(lcdNextPos, y, telemetryData.swrExternal.value());
|
||||||
|
else
|
||||||
|
lcdDrawText(lcdNextPos, y, "---");
|
||||||
|
break;
|
||||||
|
|
||||||
#if defined(SPORT_UPDATE_PWR_GPIO)
|
#if defined(SPORT_UPDATE_PWR_GPIO)
|
||||||
case ITEM_RADIO_HARDWARE_SPORT_UPDATE_POWER:
|
case ITEM_RADIO_HARDWARE_SPORT_UPDATE_POWER:
|
||||||
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_SPORT_UPDATE_POWER_MODE);
|
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_SPORT_UPDATE_POWER_MODE);
|
||||||
g_eeGeneral.sportUpdatePower = editChoice(HW_SETTINGS_COLUMN + 50, y, STR_SPORT_UPDATE_POWER_MODES, g_eeGeneral.sportUpdatePower, 0, 1, attr, event);
|
g_eeGeneral.sportUpdatePower = editChoice(HW_SETTINGS_COLUMN2, y, STR_SPORT_UPDATE_POWER_MODES, g_eeGeneral.sportUpdatePower, 0, 1, attr, event);
|
||||||
if (attr && checkIncDec_Ret) {
|
if (attr && checkIncDec_Ret) {
|
||||||
SPORT_UPDATE_POWER_INIT();
|
SPORT_UPDATE_POWER_INIT();
|
||||||
}
|
}
|
||||||
|
@ -387,7 +409,7 @@ bool menuRadioHardware(event_t event)
|
||||||
|
|
||||||
case ITEM_RADIO_HARDWARE_DEBUG:
|
case ITEM_RADIO_HARDWARE_DEBUG:
|
||||||
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_DEBUG);
|
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_DEBUG);
|
||||||
lcdDrawText(HW_SETTINGS_COLUMN + 50, y, STR_ANALOGS_BTN, menuHorizontalPosition == 0 ? attr : 0);
|
lcdDrawText(HW_SETTINGS_COLUMN2, y, STR_ANALOGS_BTN, menuHorizontalPosition == 0 ? attr : 0);
|
||||||
lcdDrawText(lcdNextPos + 10, y, STR_KEYS_BTN, menuHorizontalPosition == 1 ? attr : 0);
|
lcdDrawText(lcdNextPos + 10, y, STR_KEYS_BTN, menuHorizontalPosition == 1 ? attr : 0);
|
||||||
if (attr && event == EVT_KEY_BREAK(KEY_ENTER)) {
|
if (attr && event == EVT_KEY_BREAK(KEY_ENTER)) {
|
||||||
if (menuHorizontalPosition == 0)
|
if (menuHorizontalPosition == 0)
|
||||||
|
|
|
@ -624,16 +624,16 @@ void menuRadioHardware(event_t event)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ITEM_RADIO_HARDWARE_RAS:
|
case ITEM_RADIO_HARDWARE_RAS:
|
||||||
#if defined(PCBX9LITE) && !defined(PCBX9LITES)
|
#if defined(HARDWARE_INTERNAL_RAS)
|
||||||
lcdDrawTextAlignedLeft(y, "Ext. RAS");
|
|
||||||
lcdNextPos = HW_SETTINGS_COLUMN2;
|
|
||||||
#else
|
|
||||||
lcdDrawTextAlignedLeft(y, "RAS");
|
lcdDrawTextAlignedLeft(y, "RAS");
|
||||||
if (telemetryData.swrInternal.isFresh())
|
if (telemetryData.swrInternal.isFresh())
|
||||||
lcdDrawNumber(HW_SETTINGS_COLUMN2, y, telemetryData.swrInternal.value());
|
lcdDrawNumber(HW_SETTINGS_COLUMN2, y, telemetryData.swrInternal.value());
|
||||||
else
|
else
|
||||||
lcdDrawText(HW_SETTINGS_COLUMN2, y, "---");
|
lcdDrawText(HW_SETTINGS_COLUMN2, y, "---");
|
||||||
lcdDrawText(lcdNextPos, y, "/");
|
lcdDrawText(lcdNextPos, y, "/");
|
||||||
|
#else
|
||||||
|
lcdDrawTextAlignedLeft(y, "Ext. RAS");
|
||||||
|
lcdNextPos = HW_SETTINGS_COLUMN2;
|
||||||
#endif
|
#endif
|
||||||
if (telemetryData.swrExternal.isFresh())
|
if (telemetryData.swrExternal.isFresh())
|
||||||
lcdDrawNumber(lcdNextPos, y, telemetryData.swrExternal.value());
|
lcdDrawNumber(lcdNextPos, y, telemetryData.swrExternal.value());
|
||||||
|
|
|
@ -146,6 +146,10 @@ void SDRAM_Init();
|
||||||
// Pulses driver
|
// Pulses driver
|
||||||
#define INTERNAL_MODULE_ON() GPIO_SetBits(INTMODULE_PWR_GPIO, INTMODULE_PWR_GPIO_PIN)
|
#define INTERNAL_MODULE_ON() GPIO_SetBits(INTMODULE_PWR_GPIO, INTMODULE_PWR_GPIO_PIN)
|
||||||
|
|
||||||
|
#if defined(INTERNAL_MODULE_PXX1) || defined(INTERNAL_MODULE_PXX2)
|
||||||
|
#define HARDWARE_INTERNAL_RAS
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(INTMODULE_USART)
|
#if defined(INTMODULE_USART)
|
||||||
#define INTERNAL_MODULE_OFF() intmoduleStop()
|
#define INTERNAL_MODULE_OFF() intmoduleStop()
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -114,12 +114,16 @@ uint32_t isBootloaderStart(const uint8_t * buffer);
|
||||||
#define INTERNAL_MODULE_OFF() GPIO_ResetBits(INTMODULE_PWR_GPIO, INTMODULE_PWR_GPIO_PIN)
|
#define INTERNAL_MODULE_OFF() GPIO_ResetBits(INTMODULE_PWR_GPIO, INTMODULE_PWR_GPIO_PIN)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if !defined(PCBX9LITE) || defined(PCBX9LITES)
|
||||||
|
#define HARDWARE_INTERNAL_RAS
|
||||||
|
#endif
|
||||||
|
|
||||||
#define EXTERNAL_MODULE_ON() EXTERNAL_MODULE_PWR_ON()
|
#define EXTERNAL_MODULE_ON() EXTERNAL_MODULE_PWR_ON()
|
||||||
|
|
||||||
#if defined(EXTMODULE_USART)
|
#if defined(EXTMODULE_USART)
|
||||||
#define EXTERNAL_MODULE_OFF() extmoduleStop()
|
#define EXTERNAL_MODULE_OFF() extmoduleStop()
|
||||||
#else
|
#else
|
||||||
#define EXTERNAL_MODULE_OFF() EXTERNAL_MODULE_PWR_OFF()
|
#define EXTERNAL_MODULE_OFF() EXTERNAL_MODULE_PWR_OFF()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(RADIO_T12)
|
#if defined(RADIO_T12)
|
||||||
|
|
|
@ -177,17 +177,20 @@ void sportProcessTelemetryPacketWithoutCrc(uint8_t origin, const uint8_t * packe
|
||||||
|
|
||||||
if (primId == DATA_FRAME) {
|
if (primId == DATA_FRAME) {
|
||||||
uint8_t originMask;
|
uint8_t originMask;
|
||||||
|
uint8_t moduleIndex;
|
||||||
if (origin == TELEMETRY_ENDPOINT_SPORT) {
|
if (origin == TELEMETRY_ENDPOINT_SPORT) {
|
||||||
#if defined(SIMU) && defined(INTERNAL_MODULE_PXX2)
|
#if defined(SIMU) && defined(INTERNAL_MODULE_PXX2)
|
||||||
// When running simu on ACCESS radio, we set the origin as internal module
|
// When running simu on ACCESS radio, we set the origin as internal module
|
||||||
|
moduleIndex = 0;
|
||||||
origin = 0;
|
origin = 0;
|
||||||
originMask = 0x01;
|
originMask = 0x01;
|
||||||
#else
|
#else
|
||||||
|
moduleIndex = isSportLineUsedByInternalModule() ? 0 : 1;
|
||||||
originMask = 0x04;
|
originMask = 0x04;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
uint8_t moduleIndex = (origin >> 2);
|
moduleIndex = (origin >> 2);
|
||||||
originMask = 0x01 << moduleIndex;
|
originMask = 0x01 << moduleIndex;
|
||||||
}
|
}
|
||||||
uint8_t instance = physicalId + (origin << 5);
|
uint8_t instance = physicalId + (origin << 5);
|
||||||
|
@ -226,12 +229,12 @@ void sportProcessTelemetryPacketWithoutCrc(uint8_t origin, const uint8_t * packe
|
||||||
else if (dataId == XJT_VERSION_ID) {
|
else if (dataId == XJT_VERSION_ID) {
|
||||||
telemetryData.xjtVersion = HUB_DATA_U16(packet);
|
telemetryData.xjtVersion = HUB_DATA_U16(packet);
|
||||||
if (!isRasValueValid()) {
|
if (!isRasValueValid()) {
|
||||||
telemetryData.setSwr(origin >> 2, 0);
|
telemetryData.setSwr(moduleIndex, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (dataId == RAS_ID) {
|
else if (dataId == RAS_ID) {
|
||||||
if (isRasValueValid()) {
|
if (isRasValueValid()) {
|
||||||
telemetryData.setSwr(origin >> 2, SPORT_DATA_U8(packet));
|
telemetryData.setSwr(moduleIndex, SPORT_DATA_U8(packet));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue