mirror of
https://github.com/EdgeTX/edgetx.git
synced 2025-07-16 12:55:10 +03:00
parent
cf5e2b3fd5
commit
f100e4375a
24 changed files with 126 additions and 3 deletions
|
@ -783,7 +783,7 @@ PACK(struct RadioData {
|
|||
NOBACKUP(uint8_t disableRssiPoweroffAlarm:1);
|
||||
NOBACKUP(uint8_t USBMode:2);
|
||||
NOBACKUP(uint8_t jackMode:2);
|
||||
NOBACKUP(uint8_t spare3:1);
|
||||
NOBACKUP(uint8_t sportUpdatePower:1);
|
||||
NOBACKUP(char ttsLanguage[2]);
|
||||
NOBACKUP(int8_t beepVolume:4);
|
||||
NOBACKUP(int8_t wavVolume:4);
|
||||
|
|
|
@ -72,6 +72,9 @@ enum MenuRadioHardwareItems {
|
|||
#endif
|
||||
|
||||
ITEM_RADIO_HARDWARE_JITTER_FILTER,
|
||||
#if defined(SPORT_UPDATE_PWR_GPIO)
|
||||
ITEM_RADIO_HARDWARE_SPORT_UPDATE_POWER,
|
||||
#endif
|
||||
ITEM_RADIO_HARDWARE_DEBUG,
|
||||
ITEM_RADIO_HARDWARE_MAX
|
||||
};
|
||||
|
@ -119,6 +122,12 @@ void onHardwareAntennaSwitchConfirm(const char * result)
|
|||
#define MAX_BAUDRATE_ROW HIDDEN_ROW
|
||||
#endif
|
||||
|
||||
#if defined(SPORT_UPDATE_PWR_GPIO)
|
||||
#define SPORT_POWER_ROWS 0,
|
||||
#else
|
||||
#define SPORT_POWER_ROWS
|
||||
#endif
|
||||
|
||||
bool menuRadioHardware(event_t event)
|
||||
{
|
||||
MENU(STR_HARDWARE, RADIO_ICONS, menuTabGeneral, MENU_RADIO_HARDWARE, ITEM_RADIO_HARDWARE_MAX, {
|
||||
|
@ -148,6 +157,7 @@ bool menuRadioHardware(event_t event)
|
|||
|
||||
AUX_SERIAL_ROW /* aux serial mode */
|
||||
0, /* ADC filter */
|
||||
SPORT_POWER_ROWS
|
||||
1, /* Debug */
|
||||
});
|
||||
|
||||
|
@ -365,6 +375,16 @@ bool menuRadioHardware(event_t event)
|
|||
break;
|
||||
}
|
||||
|
||||
#if defined(SPORT_UPDATE_PWR_GPIO)
|
||||
case ITEM_RADIO_HARDWARE_SPORT_UPDATE_POWER:
|
||||
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);
|
||||
if (attr && checkIncDec_Ret) {
|
||||
SPORT_UPDATE_POWER_INIT();
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
|
||||
case ITEM_RADIO_HARDWARE_DEBUG:
|
||||
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_DEBUG);
|
||||
lcdDrawText(HW_SETTINGS_COLUMN + 50, y, STR_ANALOGS_BTN, menuHorizontalPosition == 0 ? attr : 0);
|
||||
|
|
|
@ -184,6 +184,9 @@ enum {
|
|||
|
||||
ITEM_RADIO_HARDWARE_JITTER_FILTER,
|
||||
ITEM_RADIO_HARDWARE_RAS,
|
||||
#if defined(SPORT_UPDATE_PWR_GPIO)
|
||||
ITEM_RADIO_HARDWARE_SPORT_UPDATE_POWER,
|
||||
#endif
|
||||
ITEM_RADIO_HARDWARE_DEBUG,
|
||||
#if defined(EEPROM_RLC)
|
||||
ITEM_RADIO_BACKUP_EEPROM,
|
||||
|
@ -295,6 +298,12 @@ void onHardwareAntennaSwitchConfirm(const char * result)
|
|||
#define HW_SETTINGS_COLUMN2 (HW_SETTINGS_COLUMN1 + 5*FW)
|
||||
#endif
|
||||
|
||||
#if defined(SPORT_UPDATE_PWR_GPIO)
|
||||
#define SPORT_POWER_ROWS 0,
|
||||
#else
|
||||
#define SPORT_POWER_ROWS
|
||||
#endif
|
||||
|
||||
#if defined(EEPROM_RLC)
|
||||
void onFactoryResetConfirm(const char * result)
|
||||
{
|
||||
|
@ -334,7 +343,7 @@ void menuRadioHardware(event_t event)
|
|||
|
||||
0 /* ADC filter */,
|
||||
READONLY_ROW /* RAS */,
|
||||
|
||||
SPORT_POWER_ROWS
|
||||
1 /* debugs */,
|
||||
|
||||
0,
|
||||
|
@ -631,6 +640,14 @@ void menuRadioHardware(event_t event)
|
|||
else
|
||||
lcdDrawText(lcdNextPos, y, "---");
|
||||
break;
|
||||
#if defined(SPORT_UPDATE_PWR_GPIO)
|
||||
case ITEM_RADIO_HARDWARE_SPORT_UPDATE_POWER:
|
||||
g_eeGeneral.sportUpdatePower = editChoice(HW_SETTINGS_COLUMN2, y, STR_SPORT_UPDATE_POWER_MODE, STR_SPORT_UPDATE_POWER_MODES, g_eeGeneral.sportUpdatePower, 0, 1, attr, event);
|
||||
if (attr && checkIncDec_Ret) {
|
||||
SPORT_UPDATE_POWER_INIT();
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
|
||||
case ITEM_RADIO_HARDWARE_DEBUG:
|
||||
lcdDrawTextAlignedLeft(y, STR_DEBUG);
|
||||
|
|
|
@ -487,6 +487,7 @@ const char * FrskyDeviceFirmwareUpdate::flashFirmware(const char * filename)
|
|||
uint8_t extPwr = IS_EXTERNAL_MODULE_ON();
|
||||
EXTERNAL_MODULE_OFF();
|
||||
|
||||
uint8_t spuPwr = IS_SPORT_UPDATE_POWER_ON();
|
||||
SPORT_UPDATE_POWER_OFF();
|
||||
|
||||
drawProgressScreen(getBasename(filename), STR_DEVICE_RESET, 0, 0);
|
||||
|
@ -531,6 +532,10 @@ const char * FrskyDeviceFirmwareUpdate::flashFirmware(const char * filename)
|
|||
setupPulsesExternalModule();
|
||||
}
|
||||
|
||||
if (spuPwr) {
|
||||
SPORT_UPDATE_POWER_ON();
|
||||
}
|
||||
|
||||
state = SPORT_IDLE;
|
||||
resumePulses();
|
||||
|
||||
|
@ -752,6 +757,7 @@ const char * FrskyChipFirmwareUpdate::flashFirmware(const char * filename, bool
|
|||
uint8_t extPwr = IS_EXTERNAL_MODULE_ON();
|
||||
EXTERNAL_MODULE_OFF();
|
||||
|
||||
uint8_t spuPwr = IS_SPORT_UPDATE_POWER_ON();
|
||||
SPORT_UPDATE_POWER_OFF();
|
||||
|
||||
if (wait) {
|
||||
|
@ -791,6 +797,10 @@ const char * FrskyChipFirmwareUpdate::flashFirmware(const char * filename, bool
|
|||
setupPulsesExternalModule();
|
||||
}
|
||||
|
||||
if (spuPwr) {
|
||||
SPORT_UPDATE_POWER_ON();
|
||||
}
|
||||
|
||||
resumePulses();
|
||||
|
||||
return result;
|
||||
|
|
|
@ -528,6 +528,7 @@ bool multiFlashFirmware(uint8_t moduleIdx, const char * filename)
|
|||
uint8_t extPwr = IS_EXTERNAL_MODULE_ON();
|
||||
EXTERNAL_MODULE_OFF();
|
||||
|
||||
uint8_t spuPwr = IS_SPORT_UPDATE_POWER_ON();
|
||||
SPORT_UPDATE_POWER_OFF();
|
||||
|
||||
drawProgressScreen(getBasename(filename), STR_DEVICE_RESET, 0, 0);
|
||||
|
@ -575,6 +576,10 @@ bool multiFlashFirmware(uint8_t moduleIdx, const char * filename)
|
|||
setupPulsesExternalModule();
|
||||
}
|
||||
|
||||
if (spuPwr) {
|
||||
SPORT_UPDATE_POWER_ON();
|
||||
}
|
||||
|
||||
resumePulses();
|
||||
|
||||
return result == nullptr;
|
||||
|
|
|
@ -1966,6 +1966,10 @@ void opentxInit()
|
|||
btInit();
|
||||
#endif
|
||||
|
||||
#if defined(SPORT_UPDATE_PWR_GPIO)
|
||||
SPORT_UPDATE_POWER_INIT();
|
||||
#endif
|
||||
|
||||
#if defined(COLORLCD)
|
||||
loadTheme();
|
||||
loadFontCache();
|
||||
|
|
|
@ -74,6 +74,14 @@ void sportUpdatePowerOff()
|
|||
{
|
||||
GPIO_ResetBits(SPORT_UPDATE_PWR_GPIO, SPORT_UPDATE_PWR_GPIO_PIN);
|
||||
}
|
||||
|
||||
void sportUpdatePowerInit()
|
||||
{
|
||||
if (g_eeGeneral.sportUpdatePower == 1)
|
||||
sportUpdatePowerOn();
|
||||
else
|
||||
sportUpdatePowerOff();
|
||||
}
|
||||
#endif
|
||||
|
||||
void boardInit()
|
||||
|
|
|
@ -599,11 +599,16 @@ void telemetryPortInvertedInit(uint32_t baudrate);
|
|||
#if HAS_SPORT_UPDATE_CONNECTOR()
|
||||
void sportUpdatePowerOn();
|
||||
void sportUpdatePowerOff();
|
||||
void sportUpdatePowerInit();
|
||||
#define SPORT_UPDATE_POWER_ON() sportUpdatePowerOn()
|
||||
#define SPORT_UPDATE_POWER_OFF() sportUpdatePowerOff()
|
||||
#define SPORT_UPDATE_POWER_INIT() sportUpdatePowerInit()
|
||||
#define IS_SPORT_UPDATE_POWER_ON() (GPIO_ReadInputDataBit(SPORT_UPDATE_PWR_GPIO, SPORT_UPDATE_PWR_GPIO_PIN) == Bit_SET)
|
||||
#else
|
||||
#define SPORT_UPDATE_POWER_ON()
|
||||
#define SPORT_UPDATE_POWER_OFF()
|
||||
#define SPORT_UPDATE_POWER_INIT()
|
||||
#define IS_SPORT_UPDATE_POWER_ON() (false)
|
||||
#endif
|
||||
|
||||
// Second serial port driver
|
||||
|
|
|
@ -437,6 +437,10 @@ void sportUpdatePowerOff()
|
|||
{
|
||||
}
|
||||
|
||||
void sportUpdatePowerInit()
|
||||
{
|
||||
}
|
||||
|
||||
void boardInit()
|
||||
{
|
||||
}
|
||||
|
|
|
@ -62,6 +62,14 @@ void sportUpdatePowerOff()
|
|||
{
|
||||
GPIO_SPORT_UPDATE_PWR_GPIO_OFF(SPORT_UPDATE_PWR_GPIO, SPORT_UPDATE_PWR_GPIO_PIN);
|
||||
}
|
||||
|
||||
void sportUpdatePowerInit()
|
||||
{
|
||||
if (g_eeGeneral.sportUpdatePower == 1)
|
||||
sportUpdatePowerOn();
|
||||
else
|
||||
sportUpdatePowerOff();
|
||||
}
|
||||
#endif
|
||||
|
||||
void boardInit()
|
||||
|
|
|
@ -720,12 +720,17 @@ void telemetryPortInvertedInit(uint32_t baudrate);
|
|||
void sportUpdateInit();
|
||||
void sportUpdatePowerOn();
|
||||
void sportUpdatePowerOff();
|
||||
void sportUpdatePowerInit();
|
||||
#define SPORT_UPDATE_POWER_ON() sportUpdatePowerOn()
|
||||
#define SPORT_UPDATE_POWER_OFF() sportUpdatePowerOff()
|
||||
#define SPORT_UPDATE_POWER_INIT() sportUpdatePowerInit()
|
||||
#define IS_SPORT_UPDATE_POWER_ON() (GPIO_ReadInputDataBit(SPORT_UPDATE_PWR_GPIO, SPORT_UPDATE_PWR_GPIO_PIN) == Bit_SET)
|
||||
#else
|
||||
#define sportUpdateInit()
|
||||
#define SPORT_UPDATE_POWER_ON()
|
||||
#define SPORT_UPDATE_POWER_OFF()
|
||||
#define SPORT_UPDATE_POWER_INIT()
|
||||
#define IS_SPORT_UPDATE_POWER_ON() (false)
|
||||
#endif
|
||||
|
||||
// Audio driver
|
||||
|
|
|
@ -78,6 +78,7 @@ ISTR(SWTYPES);
|
|||
ISTR(POTTYPES);
|
||||
ISTR(SLIDERTYPES);
|
||||
ISTR(ANTENNA_MODES);
|
||||
ISTR(SPORT_UPDATE_POWER_MODES);
|
||||
|
||||
#if defined(PCBSKY9X) && defined(REVX)
|
||||
ISTR(VOUTPUT_TYPE);
|
||||
|
@ -580,6 +581,7 @@ const char STR_RTC_CHECK[] = TR_RTC_CHECK;
|
|||
const char STR_EXIT[] = TR_EXIT;
|
||||
const char STR_MODULE_RANGE[] = TR_MODULE_RANGE;
|
||||
const char STR_RECEIVER_OPTIONS[] = TR_RECEIVER_OPTIONS;
|
||||
const char STR_SPORT_UPDATE_POWER_MODE[] = TR_SPORT_UPDATE_POWER_MODE;
|
||||
|
||||
#if defined(PCBHORUS)
|
||||
const char STR_ASSIGN_SPLASH[] = TR_ASSIGN_SPLASH;
|
||||
|
|
|
@ -863,6 +863,8 @@ extern const char STR_MENU_OTHER[];
|
|||
extern const char STR_MENU_INVERT[];
|
||||
extern const char STR_JITTER_FILTER[];
|
||||
extern const char STR_RTC_CHECK[];
|
||||
extern const char STR_SPORT_UPDATE_POWER_MODE[];
|
||||
extern const char STR_SPORT_UPDATE_POWER_MODES[];
|
||||
|
||||
#if MENUS_LOCK == 1
|
||||
extern const char STR_UNLOCKED[];
|
||||
|
|
|
@ -980,6 +980,9 @@
|
|||
#define STR_FACTORYRESET "Tovární reset"
|
||||
#define TR_CONFIRMRESET TR("Smazat vše ?", "Smazat modely a nastavení?")
|
||||
#define TR_TOO_MANY_LUA_SCRIPTS "Příliš mnoho skriptů!"
|
||||
#define TR_SPORT_UPDATE_POWER_MODE "SP Power"
|
||||
#define LEN_SPORT_UPDATE_POWER_MODES "\004"
|
||||
#define TR_SPORT_UPDATE_POWER_MODES "AUTO""ON\0 "
|
||||
|
||||
// Horus and Taranis column headers
|
||||
#define TR_PHASES_HEADERS_NAME "Název"
|
||||
|
|
|
@ -986,6 +986,9 @@
|
|||
#define STR_FACTORYRESET TR("Werksreset", "Auf Werkseinstellungen")
|
||||
#define TR_CONFIRMRESET TR("Alles löschen? ","ALLE Modelle+Einst. löschen?")
|
||||
#define TR_TOO_MANY_LUA_SCRIPTS "Zu viele Skripte!"
|
||||
#define TR_SPORT_UPDATE_POWER_MODE "SP Power"
|
||||
#define LEN_SPORT_UPDATE_POWER_MODES "\004"
|
||||
#define TR_SPORT_UPDATE_POWER_MODES "AUTO""ON\0 "
|
||||
|
||||
// Horus and Taranis specific column headers
|
||||
#define TR_PHASES_HEADERS_NAME "Name "
|
||||
|
|
|
@ -985,6 +985,9 @@
|
|||
#define STR_FACTORYRESET "Factory reset"
|
||||
#define TR_CONFIRMRESET TR("Erase ALL", "Erase ALL models and settings?")
|
||||
#define TR_TOO_MANY_LUA_SCRIPTS "Too many Lua scripts!"
|
||||
#define TR_SPORT_UPDATE_POWER_MODE "SP Power"
|
||||
#define LEN_SPORT_UPDATE_POWER_MODES "\004"
|
||||
#define TR_SPORT_UPDATE_POWER_MODES "AUTO""ON\0 "
|
||||
|
||||
// Horus and Taranis column headers
|
||||
#define TR_PHASES_HEADERS_NAME "Name"
|
||||
|
|
|
@ -1005,6 +1005,9 @@
|
|||
#define STR_FACTORYRESET "Factory reset"
|
||||
#define TR_CONFIRMRESET "Erase ALL models and settings?"
|
||||
#define TR_TOO_MANY_LUA_SCRIPTS "Too many Lua scripts!"
|
||||
#define TR_SPORT_UPDATE_POWER_MODE "SP Power"
|
||||
#define LEN_SPORT_UPDATE_POWER_MODES "\004"
|
||||
#define TR_SPORT_UPDATE_POWER_MODES "AUTO""ON\0 "
|
||||
|
||||
|
||||
// Horus and Taranis column headers
|
||||
|
|
|
@ -999,6 +999,9 @@
|
|||
#define STR_FACTORYRESET "Factory reset"
|
||||
#define TR_CONFIRMRESET "Erase ALL models and settings?"
|
||||
#define TR_TOO_MANY_LUA_SCRIPTS "Too many Lua scripts!"
|
||||
#define TR_SPORT_UPDATE_POWER_MODE "SP Power"
|
||||
#define LEN_SPORT_UPDATE_POWER_MODES "\004"
|
||||
#define TR_SPORT_UPDATE_POWER_MODES "AUTO""ON\0 "
|
||||
|
||||
|
||||
// Horus and Taranis column headers
|
||||
|
|
|
@ -1009,6 +1009,9 @@
|
|||
#endif
|
||||
#define TR_CONFIRMRESET TR("Effacer TOUT?","Effacer TOUS modèles/réglages?")
|
||||
#define TR_TOO_MANY_LUA_SCRIPTS "Trop de scripts lua!"
|
||||
#define TR_SPORT_UPDATE_POWER_MODE "SP Power"
|
||||
#define LEN_SPORT_UPDATE_POWER_MODES "\004"
|
||||
#define TR_SPORT_UPDATE_POWER_MODES "AUTO""ON\0 "
|
||||
|
||||
// Horus and Taranis column headers
|
||||
#define TR_PHASES_HEADERS_NAME "Nom"
|
||||
|
|
|
@ -1001,6 +1001,9 @@
|
|||
#define STR_FACTORYRESET "Inizializza dati"
|
||||
#define TR_CONFIRMRESET "Resettare TUTTI i dati?"
|
||||
#define TR_TOO_MANY_LUA_SCRIPTS "Troppi Scripts Lua!"
|
||||
#define TR_SPORT_UPDATE_POWER_MODE "SP Power"
|
||||
#define LEN_SPORT_UPDATE_POWER_MODES "\004"
|
||||
#define TR_SPORT_UPDATE_POWER_MODES "AUTO""ON\0 "
|
||||
|
||||
|
||||
// Horus and Taranis column headers
|
||||
|
|
|
@ -993,6 +993,9 @@
|
|||
#endif
|
||||
#define TR_CONFIRMRESET TR("Wis Alles?", "Wis ALLE modellen en instellingen?")
|
||||
#define TR_TOO_MANY_LUA_SCRIPTS "Te veel Lua scripts!"
|
||||
#define TR_SPORT_UPDATE_POWER_MODE "SP Power"
|
||||
#define LEN_SPORT_UPDATE_POWER_MODES "\004"
|
||||
#define TR_SPORT_UPDATE_POWER_MODES "AUTO""ON\0 "
|
||||
|
||||
|
||||
// Horus and Taranis column headers
|
||||
|
|
|
@ -1000,6 +1000,9 @@
|
|||
#define STR_FACTORYRESET "Ustaw.Fabrycz"
|
||||
#define TR_CONFIRMRESET "WYkasować wszytkie modele? "
|
||||
#define TR_TOO_MANY_LUA_SCRIPTS "Za dużo skryptów Lua!"
|
||||
#define TR_SPORT_UPDATE_POWER_MODE "SP Power"
|
||||
#define LEN_SPORT_UPDATE_POWER_MODES "\004"
|
||||
#define TR_SPORT_UPDATE_POWER_MODES "AUTO""ON\0 "
|
||||
|
||||
|
||||
// Horus and Taranis column headers
|
||||
|
|
|
@ -990,6 +990,9 @@
|
|||
#define STR_FACTORYRESET "Factory reset"
|
||||
#define TR_CONFIRMRESET "Erase ALL models and settings?"
|
||||
#define TR_TOO_MANY_LUA_SCRIPTS "Too many Lua scripts!"
|
||||
#define TR_SPORT_UPDATE_POWER_MODE "SP Power"
|
||||
#define LEN_SPORT_UPDATE_POWER_MODES "\004"
|
||||
#define TR_SPORT_UPDATE_POWER_MODES "AUTO""ON\0 "
|
||||
|
||||
|
||||
// Horus and Taranis column headers
|
||||
|
|
|
@ -1000,6 +1000,9 @@
|
|||
#define STR_FACTORYRESET "Factory reset"
|
||||
#define TR_CONFIRMRESET "Erase ALL models and settings?"
|
||||
#define TR_TOO_MANY_LUA_SCRIPTS "För många Lua-scripts!"
|
||||
#define TR_SPORT_UPDATE_POWER_MODE "SP Power"
|
||||
#define LEN_SPORT_UPDATE_POWER_MODES "\004"
|
||||
#define TR_SPORT_UPDATE_POWER_MODES "AUTO""ON\0 "
|
||||
|
||||
|
||||
// Horus and Taranis column headers
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue