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

Autoupdates for the bluetooth chip

This commit is contained in:
Bertrand Songis 2019-07-23 09:14:58 +02:00
parent 09a0fab249
commit 1a6811141f
No known key found for this signature in database
GPG key ID: F189F79290FEC50F
3 changed files with 20 additions and 5 deletions

View file

@ -754,7 +754,7 @@ const char * Bluetooth::doFlashFirmware(const char * filename)
}
}
void Bluetooth::flashFirmware(const char * filename)
const char * Bluetooth::flashFirmware(const char * filename)
{
drawProgressScreen(getBasename(filename), STR_MODULE_RESET, 0, 0);
@ -791,4 +791,6 @@ void Bluetooth::flashFirmware(const char * filename)
state = BLUETOOTH_STATE_OFF;
resumePulses();
return result;
}

View file

@ -57,7 +57,7 @@ class Bluetooth
void forwardTelemetry(const uint8_t * packet);
void wakeup();
void flashFirmware(const char * filename);
const char * flashFirmware(const char * filename);
volatile uint8_t state;
char localAddr[LEN_BLUETOOTH_ADDR+1];

View file

@ -1802,9 +1802,22 @@ void opentxInit()
#if defined(AUTOUPDATE)
if (f_stat(AUTOUPDATE_FILENAME, nullptr) == FR_OK) {
FrskyChipFirmwareUpdate device;
if (device.flashFirmware(AUTOUPDATE_FILENAME, false) == nullptr)
f_unlink(AUTOUPDATE_FILENAME);
FrSkyFirmwareInformation information;
if (readFirmwareInformation(AUTOUPDATE_FILENAME, information) == nullptr) {
#if defined(BLUETOOTH)
if (information.productFamily == FIRMWARE_FAMILY_BLUETOOTH_CHIP) {
if (bluetooth.flashFirmware(AUTOUPDATE_FILENAME) == nullptr)
f_unlink(AUTOUPDATE_FILENAME);
}
#endif
#if defined(HARDWARE_POWER_MANAGEMENT_UNIT)
if (information.productFamily == FIRMWARE_FAMILY_POWER_MANAGEMENT_UNIT) {
FrskyChipFirmwareUpdate device;
if (device.flashFirmware(AUTOUPDATE_FILENAME, false) == nullptr)
f_unlink(AUTOUPDATE_FILENAME);
}
#endif
}
}
#endif