Autoupdates for the bluetooth chip
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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];
|
||||
|
||||
+16
-3
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user