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

S.PORT flash on all available interfaces (possibly 3)

This commit is contained in:
Bertrand Songis 2018-05-10 08:22:39 +02:00 committed by GitHub
parent 0c7add8f8e
commit db276cecbf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
21 changed files with 52 additions and 21 deletions

View file

@ -227,7 +227,8 @@ enum BeeperMode {
enum ModuleIndex {
INTERNAL_MODULE,
EXTERNAL_MODULE,
TRAINER_MODULE
TRAINER_MODULE,
FLASHING_MODULE,
};
enum TrainerMode {
TRAINER_MODE_MASTER_TRAINER_JACK,

View file

@ -136,10 +136,18 @@ void onSdManagerMenu(const char * result)
getSelectionFullPath(lfn);
pushMenuTextView(lfn);
}
else if (result == STR_FLASH_EXTERNAL_DEVICE) {
else if (result == STR_FLASH_INTERNAL_MODULE) {
getSelectionFullPath(lfn);
sportFlashDevice(INTERNAL_MODULE, lfn);
}
else if (result == STR_FLASH_EXTERNAL_MODULE) {
getSelectionFullPath(lfn);
sportFlashDevice(EXTERNAL_MODULE, lfn);
}
else if (result == STR_FLASH_EXTERNAL_DEVICE) {
getSelectionFullPath(lfn);
sportFlashDevice(FLASHING_MODULE, lfn);
}
#if defined(LUA)
else if (result == STR_EXECUTE_FILE) {
getSelectionFullPath(lfn);
@ -231,7 +239,10 @@ bool menuRadioSdManager(event_t _event)
POPUP_MENU_ADD_ITEM(STR_VIEW_TEXT);
}
else if (!READ_ONLY() && !strcasecmp(ext, SPORT_FIRMWARE_EXT)) {
if (HAS_SPORT_UPDATE_CONNECTOR())
POPUP_MENU_ADD_ITEM(STR_FLASH_EXTERNAL_DEVICE);
POPUP_MENU_ADD_ITEM(STR_FLASH_INTERNAL_MODULE);
POPUP_MENU_ADD_ITEM(STR_FLASH_EXTERNAL_MODULE);
}
else if (isExtensionMatching(ext, SCRIPTS_EXT)) {
POPUP_MENU_ADD_ITEM(STR_EXECUTE_FILE);

View file

@ -149,10 +149,15 @@ void onSdManagerMenu(const char * result)
getSelectionFullPath(lfn);
sportFlashDevice(INTERNAL_MODULE, lfn);
}
else if (result == STR_FLASH_EXTERNAL_DEVICE) {
else if (result == STR_FLASH_EXTERNAL_MODULE) {
// needed on X-Lite (as the R9M needs 2S while the external device flashing port only provides 5V)
getSelectionFullPath(lfn);
sportFlashDevice(EXTERNAL_MODULE, lfn);
}
else if (result == STR_FLASH_EXTERNAL_DEVICE) {
getSelectionFullPath(lfn);
sportFlashDevice(FLASHING_MODULE, lfn);
}
#endif
#if defined(LUA)
else if (result == STR_EXECUTE_FILE) {
@ -283,8 +288,10 @@ void menuRadioSdManager(event_t _event)
}
}
else if (!READ_ONLY() && !strcasecmp(ext, SPORT_FIRMWARE_EXT)) {
if (HAS_SPORT_UPDATE_CONNECTOR())
POPUP_MENU_ADD_ITEM(STR_FLASH_EXTERNAL_DEVICE);
POPUP_MENU_ADD_ITEM(STR_FLASH_INTERNAL_MODULE);
POPUP_MENU_ADD_ITEM(STR_FLASH_EXTERNAL_MODULE);
}
#endif
}

View file

@ -180,6 +180,8 @@ const char * sportUpdatePowerOn(ModuleIndex module)
#if defined(PCBTARANIS) || defined(PCBHORUS)
if (module == INTERNAL_MODULE)
INTERNAL_MODULE_ON();
else if (module == EXTERNAL_MODULE)
EXTERNAL_MODULE_ON();
else
SPORT_UPDATE_POWER_ON();
#endif
@ -307,6 +309,7 @@ void sportFlashDevice(ModuleIndex module, const char * filename)
uint8_t extPwr = IS_EXTERNAL_MODULE_ON();
INTERNAL_MODULE_OFF();
EXTERNAL_MODULE_OFF();
SPORT_UPDATE_POWER_OFF();
/* wait 2s off */
watchdogSuspend(2000);
@ -325,6 +328,7 @@ void sportFlashDevice(ModuleIndex module, const char * filename)
#if defined(PCBTARANIS) || defined(PCBHORUS)
INTERNAL_MODULE_OFF();
EXTERNAL_MODULE_OFF();
SPORT_UPDATE_POWER_OFF();
#endif

View file

@ -541,8 +541,8 @@ void sportUpdatePowerOff(void);
#define SPORT_UPDATE_POWER_ON() sportUpdatePowerOn()
#define SPORT_UPDATE_POWER_OFF() sportUpdatePowerOff()
#else
#define SPORT_UPDATE_POWER_ON() EXTERNAL_MODULE_ON()
#define SPORT_UPDATE_POWER_OFF() EXTERNAL_MODULE_OFF()
#define SPORT_UPDATE_POWER_ON()
#define SPORT_UPDATE_POWER_OFF()
#endif
// Haptic driver

View file

@ -258,8 +258,10 @@
#define SPORT_UPDATE_RCC_AHB1Periph RCC_AHB1Periph_GPIOH
#define SPORT_UPDATE_PWR_GPIO GPIOH
#define SPORT_UPDATE_PWR_GPIO_PIN GPIO_Pin_13 // PH.13
#define HAS_SPORT_UPDATE_CONNECTOR() true
#else
#define SPORT_UPDATE_RCC_AHB1Periph 0
#define HAS_SPORT_UPDATE_CONNECTOR() false
#endif
// PCBREV

View file

@ -129,18 +129,12 @@ void sportUpdateInit()
void sportUpdatePowerOn()
{
if (HAS_SPORT_UPDATE_CONNECTOR())
GPIO_SPORT_UPDATE_PWR_GPIO_ON(SPORT_UPDATE_PWR_GPIO, SPORT_UPDATE_PWR_GPIO_PIN);
else
EXTERNAL_MODULE_ON();
}
void sportUpdatePowerOff()
{
if (HAS_SPORT_UPDATE_CONNECTOR())
GPIO_SPORT_UPDATE_PWR_GPIO_OFF(SPORT_UPDATE_PWR_GPIO, SPORT_UPDATE_PWR_GPIO_PIN);
else
EXTERNAL_MODULE_OFF();
}
#endif

View file

@ -591,9 +591,8 @@ void sportUpdatePowerOff(void);
#define SPORT_UPDATE_POWER_ON() sportUpdatePowerOn()
#define SPORT_UPDATE_POWER_OFF() sportUpdatePowerOff()
#else
#define sportUpdateInit()
#define SPORT_UPDATE_POWER_ON() EXTERNAL_MODULE_ON()
#define SPORT_UPDATE_POWER_OFF() EXTERNAL_MODULE_OFF()
#define SPORT_UPDATE_POWER_ON()
#define SPORT_UPDATE_POWER_OFF()
#endif
// Audio driver

View file

@ -595,6 +595,7 @@ const pm_char STR_PATH_TOO_LONG[] PROGMEM = TR_PATH_TOO_LONG;
const pm_char STR_VIEW_TEXT[] PROGMEM = TR_VIEW_TEXT;
const pm_char STR_FLASH_BOOTLOADER[] PROGMEM = TR_FLASH_BOOTLOADER;
const pm_char STR_FLASH_INTERNAL_MODULE[] PROGMEM = TR_FLASH_INTERNAL_MODULE;
const pm_char STR_FLASH_EXTERNAL_MODULE[] PROGMEM = TR_FLASH_EXTERNAL_MODULE;
const pm_char STR_FIRMWARE_UPDATE_ERROR[] PROGMEM = TR_FIRMWARE_UPDATE_ERROR;
const pm_char STR_FLASH_EXTERNAL_DEVICE[] PROGMEM = TR_FLASH_EXTERNAL_DEVICE;
const pm_char STR_WRITING[] PROGMEM = TR_WRITING;

View file

@ -830,6 +830,7 @@ extern const pm_char STR_VIEW_TEXT[];
extern const pm_char STR_FLASH_BOOTLOADER[];
extern const pm_char STR_FLASH_EXTERNAL_DEVICE[];
extern const pm_char STR_FLASH_INTERNAL_MODULE[];
extern const pm_char STR_FLASH_EXTERNAL_MODULE[];
extern const pm_char STR_FIRMWARE_UPDATE_ERROR[];
extern const pm_char STR_WRITING[];
extern const pm_char STR_CONFIRM_FORMAT[];

View file

@ -1001,8 +1001,9 @@
#define TR_PATH_TOO_LONG "Cesta je moc dlouhá"
#define TR_VIEW_TEXT "Zobrazit text"
#define TR_FLASH_BOOTLOADER "Flash BootLoaderu"
#define TR_FLASH_EXTERNAL_DEVICE TR("Flash ext. modulu", "Flash externího zařízení")
#define TR_FLASH_EXTERNAL_DEVICE TR("Flash ext. port", "Flash externího port")
#define TR_FLASH_INTERNAL_MODULE TR("Flash vnitř. modulu", "Flash vnitřního modulu")
#define TR_FLASH_EXTERNAL_MODULE TR("Flash ext. modulu", "Flash externího zařízení")
#define TR_FIRMWARE_UPDATE_ERROR TR("Chyba zápisu FW", "Chyba zápisu firmware")
#define TR_WRITING TR3("\14Zapisuji..", "\032Zapisuji..", "Zapisuji..")
#define TR_CONFIRM_FORMAT "Provést Formát?"

View file

@ -1021,6 +1021,7 @@
#define TR_FLASH_BOOTLOADER TR("Flash Bootloader","Flash BootLoader selbst") //
#define TR_FLASH_EXTERNAL_DEVICE TR("Flash ext. Gerät","Flash externes Gerät")
#define TR_FLASH_INTERNAL_MODULE TR("Flash int. XJT","Flash internes XJT-Modul")
#define TR_FLASH_EXTERNAL_MODULE TR("Flash ext. mod","Flash extern module")
#define TR_FIRMWARE_UPDATE_ERROR TR("FW update Error","Firmware update error")
#define TR_WRITING "\032Writing..." //
#define TR_CONFIRM_FORMAT "Formatieren bestätigen?"

View file

@ -1006,8 +1006,9 @@
#define TR_PATH_TOO_LONG "Path too long"
#define TR_VIEW_TEXT "View text"
#define TR_FLASH_BOOTLOADER "Flash bootLoader"
#define TR_FLASH_EXTERNAL_DEVICE TR("Flash ext. device", "Flash external device")
#define TR_FLASH_EXTERNAL_DEVICE TR("Flash S.Port", "Flash S.Port device")
#define TR_FLASH_INTERNAL_MODULE TR("Flash int. module", "Flash internal module")
#define TR_FLASH_EXTERNAL_MODULE TR("Flash ext. module", "Flash external module")
#define TR_FIRMWARE_UPDATE_ERROR TR("FW update error", "Firmware update error")
#define TR_WRITING TR3("\14Writing...", "\032Writing...", "Writing...")
#define TR_CONFIRM_FORMAT "Confirm Format?"

View file

@ -999,6 +999,7 @@
#define TR_FLASH_BOOTLOADER "Flash BootLoader"
#define TR_FLASH_EXTERNAL_DEVICE "Flash External Device"
#define TR_FLASH_INTERNAL_MODULE "Flash Internal Module"
#define TR_FLASH_EXTERNAL_MODULE "Flash external module"
#define TR_FIRMWARE_UPDATE_ERROR TR("FW update Error","Firmware update error")
#define TR_WRITING "\032Writing..."
#define TR_CONFIRM_FORMAT "Confirm Format?"

View file

@ -991,6 +991,7 @@
#define TR_FLASH_BOOTLOADER "Flash BootLoader"
#define TR_FLASH_EXTERNAL_DEVICE "Flash External Device"
#define TR_FLASH_INTERNAL_MODULE "Flash Internal Module"
#define TR_FLASH_EXTERNAL_MODULE "Flash external module"
#define TR_FIRMWARE_UPDATE_ERROR TR("FW update Error","Firmware update error")
#define TR_WRITING "\032Writing..."
#define TR_CONFIRM_FORMAT "Confirm Format?"

View file

@ -1025,8 +1025,9 @@
#define TR_PATH_TOO_LONG "Chemin trop long"
#define TR_VIEW_TEXT "Voir texte"
#define TR_FLASH_BOOTLOADER "Flasher BootLoader"
#define TR_FLASH_EXTERNAL_DEVICE TR("Flasher module ext.", "Flasher module externe")
#define TR_FLASH_EXTERNAL_DEVICE TR("Flasher S.Port", "Flasher S.Port externe")
#define TR_FLASH_INTERNAL_MODULE TR("Flasher module int.", "Flasher module interne")
#define TR_FLASH_EXTERNAL_MODULE TR("Flasher module ext.", "Flasher module externe")
#define TR_FIRMWARE_UPDATE_ERROR TR("Erreur màj FW","Erreur de mise à jour")
#define TR_WRITING TR("\14Ecriture...", "\032Ecriture...")
#define TR_CONFIRM_FORMAT "Confirmer Formatage?"

View file

@ -1016,6 +1016,7 @@
#define TR_FLASH_BOOTLOADER "Flash BootLoader"
#define TR_FLASH_EXTERNAL_DEVICE "Progr. Dispositivo Esterno"
#define TR_FLASH_INTERNAL_MODULE "Progr. Modulo Interno"
#define TR_FLASH_EXTERNAL_MODULE "Flash external module"
#define TR_FIRMWARE_UPDATE_ERROR TR("FW update Error","Firmware update error")
#define TR_WRITING "\032Scrivendo..."
#define TR_CONFIRM_FORMAT "Confermi Format?"

View file

@ -1007,6 +1007,7 @@
#define TR_FLASH_BOOTLOADER "Flash BootLoader"
#define TR_FLASH_EXTERNAL_DEVICE "Flash extern Apparaat"
#define TR_FLASH_INTERNAL_MODULE "Flash interne XJT-Module"
#define TR_FLASH_EXTERNAL_MODULE "Flash external module"
#define TR_FIRMWARE_UPDATE_ERROR TR("FW update Error","Firmware update error")
#define TR_WRITING "\032Schrijven..."
#define TR_CONFIRM_FORMAT "Formatteren bevestigen?"

View file

@ -1019,6 +1019,7 @@
#define TR_FLASH_BOOTLOADER "Flash BootLoader"
#define TR_FLASH_EXTERNAL_DEVICE "Sflashuj Moduł Zewnętrzny"
#define TR_FLASH_INTERNAL_MODULE "Sflashuj Moduł Wewnętrzny"
#define TR_FLASH_EXTERNAL_MODULE "Flash external module"
#define TR_FIRMWARE_UPDATE_ERROR TR("FW update Error","Firmware update error")
#define TR_WRITING "\032Zapis... "
#define TR_CONFIRM_FORMAT "Zatwierdź Format?"

View file

@ -998,6 +998,7 @@
#define TR_FLASH_BOOTLOADER "Flash BootLoader"
#define TR_FLASH_EXTERNAL_DEVICE "Flash External Device"
#define TR_FLASH_INTERNAL_MODULE "Flash Internal Module"
#define TR_FLASH_EXTERNAL_MODULE "Flash external module"
#define TR_FIRMWARE_UPDATE_ERROR TR("FW update Error","Firmware update error")
#define TR_WRITING "\032Writing..."
#define TR_CONFIRM_FORMAT "Confirm Format?"

View file

@ -1026,6 +1026,7 @@
#define TR_FLASH_BOOTLOADER "Skriv BootLoader"
#define TR_FLASH_EXTERNAL_DEVICE "Flash External Device"
#define TR_FLASH_INTERNAL_MODULE "Flash Internal Module"
#define TR_FLASH_EXTERNAL_MODULE "Flash external module"
#define TR_FIRMWARE_UPDATE_ERROR TR("FW update Error","Firmware update error")
#define TR_WRITING "\032Skriver..."
#define TR_CONFIRM_FORMAT "Formatera Minnet?"