1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-23 08:15: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); drawProgressScreen(getBasename(filename), STR_MODULE_RESET, 0, 0);
@ -791,4 +791,6 @@ void Bluetooth::flashFirmware(const char * filename)
state = BLUETOOTH_STATE_OFF; state = BLUETOOTH_STATE_OFF;
resumePulses(); resumePulses();
return result;
} }

View file

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

View file

@ -1802,9 +1802,22 @@ void opentxInit()
#if defined(AUTOUPDATE) #if defined(AUTOUPDATE)
if (f_stat(AUTOUPDATE_FILENAME, nullptr) == FR_OK) { if (f_stat(AUTOUPDATE_FILENAME, nullptr) == FR_OK) {
FrskyChipFirmwareUpdate device; FrSkyFirmwareInformation information;
if (device.flashFirmware(AUTOUPDATE_FILENAME, false) == nullptr) if (readFirmwareInformation(AUTOUPDATE_FILENAME, information) == nullptr) {
f_unlink(AUTOUPDATE_FILENAME); #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 #endif