Browse Source

HAL_PX4: support flashing bootloader with MAVLink command

master
Andrew Tridgell 7 years ago
parent
commit
b4d527a9f8
  1. 15
      libraries/AP_HAL_PX4/Util.cpp
  2. 2
      libraries/AP_HAL_PX4/Util.h

15
libraries/AP_HAL_PX4/Util.cpp

@ -14,6 +14,7 @@ @@ -14,6 +14,7 @@
#include <systemlib/board_serial.h>
#include <drivers/drv_gpio.h>
#include <AP_Math/AP_Math.h>
#include <AP_BoardConfig/AP_BoardConfig.h>
extern const AP_HAL::HAL& hal;
@ -261,4 +262,18 @@ void PX4Util::free_type(void *ptr, size_t size, AP_HAL::Util::Memory_Type mem_ty @@ -261,4 +262,18 @@ void PX4Util::free_type(void *ptr, size_t size, AP_HAL::Util::Memory_Type mem_ty
#endif
}
extern "C" {
int bl_update_main(int argc, char *argv[]);
};
bool PX4Util::flash_bootloader()
{
if (AP_BoardConfig::px4_start_driver(bl_update_main, "bl_update", "/etc/bootloader/fmu_bl.bin")) {
hal.console->printf("updated bootloader\n");
return true;
}
return false;
}
#endif // CONFIG_HAL_BOARD == HAL_BOARD_PX4

2
libraries/AP_HAL_PX4/Util.h

@ -60,6 +60,8 @@ public: @@ -60,6 +60,8 @@ public:
void *malloc_type(size_t size, AP_HAL::Util::Memory_Type mem_type) override;
void free_type(void *ptr, size_t size, AP_HAL::Util::Memory_Type mem_type) override;
bool flash_bootloader() override;
private:
int _safety_handle;
PX4::NSHShellStream _shell_stream;

Loading…
Cancel
Save