move battery range settings to Radio Hardware tab (EdgeTX/edgetx#5803)

This commit is contained in:
janek
2025-01-23 21:03:36 +01:00
parent f48d357492
commit 0d2f54c2d6
2 changed files with 32 additions and 41 deletions
+31 -18
View File
@@ -20,9 +20,19 @@
#include "opentx.h"
#define HW_SETTINGS_COLUMN1 30
#define HW_SETTINGS_COLUMN2 (HW_SETTINGS_COLUMN1 + 5*FW)
#define HW_SETTINGS_COLUMN3 HW_SETTINGS_COLUMN2 + FW
#if defined(BATTGRAPH)
#define CASE_BATTGRAPH(x) x,
#else
#define CASE_BATTGRAPH(x)
#endif
#if defined(PCBTARANIS) || defined(PCBI6X)
enum MenuRadioHardwareItems {
ITEM_RADIO_HARDWARE_LABEL_STICKS,
enum {
ITEM_RADIO_HARDWARE_LABEL_STICKS = 0,
ITEM_RADIO_HARDWARE_STICK1,
ITEM_RADIO_HARDWARE_STICK2,
ITEM_RADIO_HARDWARE_STICK3,
@@ -41,10 +51,8 @@ enum MenuRadioHardwareItems {
#if NUM_SWITCHES >= 6
ITEM_RADIO_HARDWARE_SH,
#endif
CASE_BATTGRAPH(ITEM_RADIO_HARDWARE_BATT_RANGE)
ITEM_RADIO_HARDWARE_BATTERY_CALIB,
#if defined(TX_CAPACITY_MEASUREMENT)
ITEM_RADIO_HARDWARE_CAPACITY_CALIB,
#endif
ITEM_RADIO_HARDWARE_SERIAL_BAUDRATE,
#if defined(BLUETOOTH)
ITEM_RADIO_HARDWARE_BLUETOOTH_MODE,
@@ -98,9 +106,6 @@ enum MenuRadioHardwareItems {
#define SWITCH_TYPE_MAX(sw) ((MIXSRC_SF-MIXSRC_FIRST_SWITCH == sw || MIXSRC_SH-MIXSRC_FIRST_SWITCH == sw) ? SWITCH_2POS : SWITCH_3POS)
#endif
#define HW_SETTINGS_COLUMN1 30
#define HW_SETTINGS_COLUMN2 (30 + 5*FW)
#if defined(EEPROM_RLC)
void onFactoryResetConfirm(const char result)
{
@@ -126,10 +131,8 @@ void menuRadioHardware(event_t event)
POTS_ROWS,
LABEL(Switches),
SWITCHES_ROWS,
CASE_BATTGRAPH(1)
0 /* battery calib */,
#if defined(TX_CAPACITY_MEASUREMENT)
0,
#endif
#if defined(CROSSFIRE)
0 /* max bauds */,
#endif
@@ -222,14 +225,24 @@ void menuRadioHardware(event_t event)
break;
}
case ITEM_RADIO_HARDWARE_BATTERY_CALIB:
#if defined(PCBTARANIS) || defined(PCBI6X)
lcdDrawTextAlignedLeft(y, STR_BATT_CALIB);
putsVolts(HW_SETTINGS_COLUMN2, y, getBatteryVoltage(), attr|PREC2|LEFT);
#else
lcdDrawTextAlignedLeft(MENU_HEADER_HEIGHT + 1 + (NUM_STICKS+NUM_POTS+NUM_SLIDERS+1)/2 * FH, STR_BATT_CALIB);
putsVolts(HW_SETTINGS_COLUMN2, y, g_vbat100mV, attr|LEFT);
#if defined(BATTGRAPH)
case ITEM_RADIO_HARDWARE_BATT_RANGE:
lcdDrawTextAlignedLeft(y, STR_BATTERY_RANGE);
putsVolts(HW_SETTINGS_COLUMN3, y, 90+g_eeGeneral.vBatMin, (menuHorizontalPosition==0 ? attr : 0)|NO_UNIT);
lcdDrawChar(lcdNextPos, y, '-');
putsVolts(lcdNextPos, y, 120+g_eeGeneral.vBatMax, (menuHorizontalPosition>0 ? attr : 0)|NO_UNIT);
if (attr && s_editMode>0) {
if (menuHorizontalPosition==0)
CHECK_INCDEC_GENVAR(event, g_eeGeneral.vBatMin, -60, g_eeGeneral.vBatMax+29); // min=3.0V
else
CHECK_INCDEC_GENVAR(event, g_eeGeneral.vBatMax, g_eeGeneral.vBatMin-29, +40); // max=16.0V
}
break;
#endif
case ITEM_RADIO_HARDWARE_BATTERY_CALIB:
lcdDrawTextAlignedLeft(y, STR_BATT_CALIB);
putsVolts(HW_SETTINGS_COLUMN3, y, getBatteryVoltage(), attr|PREC2|LEFT);
if (attr) {
CHECK_INCDEC_GENVAR(event, g_eeGeneral.txVoltageCalibration, -127, 127);
}
+1 -23
View File
@@ -40,16 +40,9 @@ int8_t slider_5pos(coord_t y, int8_t value, event_t event, uint8_t attr, const c
#define CASE_SPLASH_PARAM(x)
#endif
#if defined(BATTGRAPH)
#define CASE_BATTGRAPH(x) x,
#else
#define CASE_BATTGRAPH(x)
#endif
enum MenuRadioSetupItems {
CASE_RTCLOCK(ITEM_SETUP_DATE)
CASE_RTCLOCK(ITEM_SETUP_TIME)
CASE_BATTGRAPH(ITEM_SETUP_BATT_RANGE)
ITEM_SETUP_SOUND_LABEL,
CASE_AUDIO(ITEM_SETUP_BEEP_MODE)
CASE_BUZZER(ITEM_SETUP_BUZZER_MODE)
@@ -135,7 +128,7 @@ void menuRadioSetup(event_t event)
#endif
MENU(STR_MENURADIOSETUP, menuTabGeneral, MENU_RADIO_SETUP, HEADER_LINE+ITEM_SETUP_MAX, {
HEADER_LINE_COLUMNS CASE_RTCLOCK(2) CASE_RTCLOCK(2) CASE_BATTGRAPH(1)
HEADER_LINE_COLUMNS CASE_RTCLOCK(2) CASE_RTCLOCK(2)
LABEL(SOUND), CASE_AUDIO(0)
CASE_BUZZER(0)
/*0,*/ 0, 0, 0, CASE_DFPLAYER(0) CASE_AUDIO(0)
@@ -249,21 +242,6 @@ void menuRadioSetup(event_t event)
break;
#endif
#if defined(BATTGRAPH)
case ITEM_SETUP_BATT_RANGE:
lcdDrawTextAlignedLeft(y, STR_BATTERY_RANGE);
putsVolts(LCD_W-1, y, 120+g_eeGeneral.vBatMax, (menuHorizontalPosition>0 ? attr : 0)|RIGHT|NO_UNIT);
lcdDrawChar(lcdLastLeftPos - FW, y, '-');
putsVolts(lcdLastLeftPos - FW, y, 90+g_eeGeneral.vBatMin, (menuHorizontalPosition==0 ? attr : 0)|RIGHT|NO_UNIT);
if (attr && s_editMode>0) {
if (menuHorizontalPosition==0)
CHECK_INCDEC_GENVAR(event, g_eeGeneral.vBatMin, -50, g_eeGeneral.vBatMax+29); // min=4.0V
else
CHECK_INCDEC_GENVAR(event, g_eeGeneral.vBatMax, g_eeGeneral.vBatMin-29, +40); // max=16.0V
}
break;
#endif
case ITEM_SETUP_SOUND_LABEL:
lcdDrawTextAlignedLeft(y, STR_SOUND_LABEL);
break;