Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Board support : Pixhawk Pro #6473

Closed
wants to merge 21 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,5 +86,7 @@ matrix:
env: CI_BUILD_TARGET="px4-v3"
- compiler: "gcc"
env: CI_BUILD_TARGET="px4-v4"
- compiler: "gcc"
env: CI_BUILD_TARGET="px4-v4pro"
- compiler: "gcc"
env: CI_BUILD_TARGET="sitltest"
10 changes: 10 additions & 0 deletions Tools/ardupilotwaf/boards.py
Original file line number Diff line number Diff line change
Expand Up @@ -566,6 +566,16 @@ def __init__(self):
self.romfs_exclude(['oreoled.bin'])
self.with_uavcan = True

class px4_v4pro(px4):
name = 'px4-v4pro'
def __init__(self):
super(px4_v4pro, self).__init__()
self.bootloader_name = 'px4fmuv4pro_bl.bin'
self.board_name = 'px4fmu-v4pro'
self.px4io_name = 'px4io-v2'
self.romfs_exclude(['oreoled.bin'])
self.with_uavcan = True

class aerofc_v1(px4):
name = 'aerofc-v1'
def __init__(self):
Expand Down
11 changes: 11 additions & 0 deletions Tools/ardupilotwaf/px4/cmake/configs/nuttx_px4fmu-v4pro_apm.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
include(configs/nuttx_px4fmu-common_apm)

list(APPEND config_module_list
drivers/boards/px4fmu-v4pro
drivers/pwm_input
drivers/px4io
)

set(config_io_board
px4io-v2
)
2 changes: 1 addition & 1 deletion Tools/scripts/build_all_px4.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ set -x
git submodule init
git submodule update --recursive

builds="px4-v1 px4-v2 px4-v3 px4-v4"
builds="px4-v1 px4-v2 px4-v3 px4-v4 px4-v4pro"

for b in $builds; do
echo "Testing $b build"
Expand Down
1 change: 1 addition & 0 deletions libraries/AP_Baro/AP_Baro.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -417,6 +417,7 @@ void AP_Baro::init(void)
case AP_BoardConfig::PX4_BOARD_PHMINI:
case AP_BoardConfig::PX4_BOARD_AUAV21:
case AP_BoardConfig::PX4_BOARD_PH2SLIM:
case AP_BoardConfig::PX4_BOARD_PIXHAWK_PRO:
ADD_BACKEND(AP_Baro_MS56XX::probe(*this,
std::move(hal.spi->get_device(HAL_BARO_MS5611_NAME))));
break;
Expand Down
2 changes: 1 addition & 1 deletion libraries/AP_BattMonitor/AP_BattMonitor_Analog.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
# define AP_BATT_CURR_PIN 101
# define AP_BATT_VOLTDIVIDER_DEFAULT 1.1f
# define AP_BATT_CURR_AMP_PERVOLT_DEFAULT 17.0f
#elif CONFIG_HAL_BOARD == HAL_BOARD_PX4 && (defined(CONFIG_ARCH_BOARD_PX4FMU_V2) || defined(CONFIG_ARCH_BOARD_PX4FMU_V4))
#elif CONFIG_HAL_BOARD == HAL_BOARD_PX4 && (defined(CONFIG_ARCH_BOARD_PX4FMU_V2) || defined(CONFIG_ARCH_BOARD_PX4FMU_V4) || defined(CONFIG_ARCH_BOARD_PX4FMU_V4PRO))
// pixhawk
# define AP_BATT_VOLT_PIN 2
# define AP_BATT_CURR_PIN 3
Expand Down
1 change: 1 addition & 0 deletions libraries/AP_BoardConfig/AP_BoardConfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ class AP_BoardConfig {
PX4_BOARD_PHMINI = 5,
PX4_BOARD_PH2SLIM = 6,
PX4_BOARD_AEROFC = 13,
PX4_BOARD_PIXHAWK_PRO = 14,
PX4_BOARD_AUAV21 = 20,
PX4_BOARD_OLDDRIVERS = 100,
#endif
Expand Down
9 changes: 9 additions & 0 deletions libraries/AP_BoardConfig/px4_drivers.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,7 @@ void AP_BoardConfig::px4_setup_drivers(void)
case PX4_BOARD_AUAV21:
case PX4_BOARD_PH2SLIM:
case PX4_BOARD_AEROFC:
case PX4_BOARD_PIXHAWK_PRO:
break;
default:
sensor_config_error("Unknown board type");
Expand Down Expand Up @@ -434,6 +435,10 @@ void AP_BoardConfig::validate_board_type(void)
hal.console->printf("Forced PIXHAWK2\n");
}
#endif

#if defined(CONFIG_ARCH_BOARD_PX4FMU_V4PRO)
// Nothing to do for the moment
#endif
}

/*
Expand Down Expand Up @@ -483,6 +488,10 @@ void AP_BoardConfig::px4_autodetect(void)
// only one choice
px4.board_type.set_and_notify(PX4_BOARD_PIXRACER);
hal.console->printf("Detected Pixracer\n");
#elif defined(CONFIG_ARCH_BOARD_PX4FMU_V4PRO)
// only one choice
px4.board_type.set_and_notify(PX4_BOARD_PIXHAWK_PRO);
hal.console->printf("Detected Pixhawk Pro\n");
#elif defined(CONFIG_ARCH_BOARD_AEROFC_V1)
px4.board_type.set_and_notify(PX4_BOARD_AEROFC);
hal.console->printf("Detected Aero FC\n");
Expand Down
13 changes: 11 additions & 2 deletions libraries/AP_Compass/AP_Compass.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ extern AP_HAL::HAL& hal;
#endif

#ifndef AP_COMPASS_OFFSETS_MAX_DEFAULT
#define AP_COMPASS_OFFSETS_MAX_DEFAULT 600
#define AP_COMPASS_OFFSETS_MAX_DEFAULT 850
#endif

const AP_Param::GroupInfo Compass::var_info[] = {
Expand Down Expand Up @@ -541,7 +541,8 @@ void Compass::_detect_backends(void)
case AP_BoardConfig::PX4_BOARD_AUAV21:
case AP_BoardConfig::PX4_BOARD_PH2SLIM:
case AP_BoardConfig::PX4_BOARD_PIXHAWK2:
case AP_BoardConfig::PX4_BOARD_PIXRACER: {
case AP_BoardConfig::PX4_BOARD_PIXRACER:
case AP_BoardConfig::PX4_BOARD_PIXHAWK_PRO:{
bool both_i2c_external = (AP_BoardConfig::get_board_type() == AP_BoardConfig::PX4_BOARD_PIXHAWK2);
// external i2c bus
ADD_BACKEND(AP_Compass_HMC5843::probe(*this, hal.i2c_mgr->get_device(1, HAL_COMPASS_HMC5843_I2C_ADDR),
Expand Down Expand Up @@ -628,6 +629,14 @@ void Compass::_detect_backends(void)
AP_Compass_HMC5843::name, false);
ADD_BACKEND(AP_Compass_AK8963::probe_mpu9250(*this, 0, ROTATION_ROLL_180_YAW_90),
AP_Compass_AK8963::name, false);
break;

case AP_BoardConfig::PX4_BOARD_PIXHAWK_PRO:
ADD_BACKEND(AP_Compass_AK8963::probe_mpu9250(*this, 0, ROTATION_ROLL_180_YAW_90),
AP_Compass_AK8963::name, false);
ADD_BACKEND(AP_Compass_LIS3MDL::probe(*this, hal.spi->get_device(HAL_COMPASS_LIS3MDL_NAME),
false, ROTATION_NONE),
AP_Compass_LIS3MDL::name, false);
break;

case AP_BoardConfig::PX4_BOARD_PHMINI:
Expand Down
6 changes: 3 additions & 3 deletions libraries/AP_Compass/AP_Compass_LIS3MDL.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
extern const AP_HAL::HAL &hal;

AP_Compass_Backend *AP_Compass_LIS3MDL::probe(Compass &compass,
AP_HAL::OwnPtr<AP_HAL::I2CDevice> dev,
AP_HAL::OwnPtr<AP_HAL::Device> dev,
bool force_external,
enum Rotation rotation)
{
Expand Down Expand Up @@ -98,7 +98,7 @@ bool AP_Compass_LIS3MDL::init()

dev->setup_checked_registers(5);

dev->write_register(ADDR_CTRL_REG1, 0x62, true); // 155Hz, UHP
dev->write_register(ADDR_CTRL_REG1, 0xFC, true); // 80Hz, UHP
dev->write_register(ADDR_CTRL_REG2, 0, true); // 4Ga range
dev->write_register(ADDR_CTRL_REG3, 0, true); // continuous
dev->write_register(ADDR_CTRL_REG4, 0x0C, true); // z-axis ultra high perf
Expand All @@ -124,7 +124,7 @@ bool AP_Compass_LIS3MDL::init()
set_dev_id(compass_instance, dev->get_bus_id());

// call timer() at 155Hz
dev->register_periodic_callback(1000000U/155U,
dev->register_periodic_callback(1000000U/80U,
FUNCTOR_BIND_MEMBER(&AP_Compass_LIS3MDL::timer, void));

return true;
Expand Down
4 changes: 2 additions & 2 deletions libraries/AP_Compass/AP_Compass_LIS3MDL.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

#include <AP_Common/AP_Common.h>
#include <AP_HAL/AP_HAL.h>
#include <AP_HAL/I2CDevice.h>
#include <AP_HAL/Device.h>
#include <AP_Math/AP_Math.h>

#include "AP_Compass.h"
Expand All @@ -31,7 +31,7 @@ class AP_Compass_LIS3MDL : public AP_Compass_Backend
{
public:
static AP_Compass_Backend *probe(Compass &compass,
AP_HAL::OwnPtr<AP_HAL::I2CDevice> dev,
AP_HAL::OwnPtr<AP_HAL::Device> dev,
bool force_external = false,
enum Rotation rotation = ROTATION_NONE);

Expand Down
1 change: 1 addition & 0 deletions libraries/AP_HAL/AP_HAL_Boards.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
#define HAL_BOARD_SUBTYPE_PX4_V4 2002
#define HAL_BOARD_SUBTYPE_PX4_V3 2003
#define HAL_BOARD_SUBTYPE_PX4_AEROFC_V1 2004
#define HAL_BOARD_SUBTYPE_PX4_V4PRO 2005

/* HAL VRBRAIN sub-types, starting at 4000 */
#define HAL_BOARD_SUBTYPE_VRBRAIN_V45 4000
Expand Down
7 changes: 6 additions & 1 deletion libraries/AP_HAL/board/px4.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,11 @@
#elif defined(CONFIG_ARCH_BOARD_PX4FMU_V4)
#define CONFIG_HAL_BOARD_SUBTYPE HAL_BOARD_SUBTYPE_PX4_V4
#define HAL_STORAGE_SIZE 16384
#define HAL_WITH_UAVCAN 1
#define HAL_WITH_UAVCAN 1
#elif defined(CONFIG_ARCH_BOARD_PX4FMU_V4PRO)
#define CONFIG_HAL_BOARD_SUBTYPE HAL_BOARD_SUBTYPE_PX4_V4PRO
#define HAL_STORAGE_SIZE 16384
#define HAL_WITH_UAVCAN 1
#elif defined(CONFIG_ARCH_BOARD_AEROFC_V1)
#define CONFIG_HAL_BOARD_SUBTYPE HAL_BOARD_SUBTYPE_PX4_AEROFC_V1
#define HAL_STORAGE_SIZE 16384
Expand Down Expand Up @@ -71,6 +75,7 @@
#define HAL_INS_ICM20608_EXT_NAME "icm20608_ext"

#define HAL_COMPASS_HMC5843_NAME "hmc5843"
#define HAL_COMPASS_LIS3MDL_NAME "lis3mdl"

/* px4fmu-v1 */
#ifdef CONFIG_ARCH_BOARD_PX4FMU_V1
Expand Down
6 changes: 3 additions & 3 deletions libraries/AP_HAL_PX4/AnalogIn.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ static const struct {
{ 11, 6.6f/4096 }, // analog airspeed input, 2:1 scaling
{ 12, 3.3f/4096 }, // analog2, on SPI port pin 3
{ 13, 16.8f/4096 }, // analog3, on SPI port pin 4
#elif defined(CONFIG_ARCH_BOARD_PX4FMU_V2) || defined(CONFIG_ARCH_BOARD_PX4FMU_V4)
#elif defined(CONFIG_ARCH_BOARD_PX4FMU_V2) || defined(CONFIG_ARCH_BOARD_PX4FMU_V4) || defined(CONFIG_ARCH_BOARD_PX4FMU_V4PRO)
{ 2, 3.3f/4096 }, // 3DR Brick voltage, usually 10.1:1
// scaled from battery voltage
{ 3, 3.3f/4096 }, // 3DR Brick current, usually 17:1 scaled
Expand Down Expand Up @@ -275,7 +275,7 @@ void PX4AnalogIn::_timer_tick(void)
if (ret > 0) {
// match the incoming channels to the currently active pins
for (uint8_t i=0; i<ret/sizeof(buf_adc[0]); i++) {
#if defined(CONFIG_ARCH_BOARD_PX4FMU_V2) || defined(CONFIG_ARCH_BOARD_PX4FMU_V4)
#if defined(CONFIG_ARCH_BOARD_PX4FMU_V2) || defined(CONFIG_ARCH_BOARD_PX4FMU_V4) || defined(CONFIG_ARCH_BOARD_PX4FMU_V4PRO)
if (buf_adc[i].am_channel == 4) {
// record the Vcc value for later use in
// voltage_average_ratiometric()
Expand Down Expand Up @@ -331,7 +331,7 @@ void PX4AnalogIn::_timer_tick(void)
}
#endif

#if defined(CONFIG_ARCH_BOARD_PX4FMU_V2) || defined(CONFIG_ARCH_BOARD_PX4FMU_V4)
#if defined(CONFIG_ARCH_BOARD_PX4FMU_V2) || defined(CONFIG_ARCH_BOARD_PX4FMU_V4) || defined(CONFIG_ARCH_BOARD_PX4FMU_V4PRO)
// check for new servorail data on FMUv2
if (_servorail_handle != -1) {
struct servorail_status_s servorail;
Expand Down
2 changes: 1 addition & 1 deletion libraries/AP_HAL_PX4/AnalogIn.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
// these are virtual pins that read from the ORB
#define PX4_ANALOG_ORB_BATTERY_VOLTAGE_PIN 100
#define PX4_ANALOG_ORB_BATTERY_CURRENT_PIN 101
#elif defined(CONFIG_ARCH_BOARD_PX4FMU_V2) || defined(CONFIG_ARCH_BOARD_PX4FMU_V4)
#elif defined(CONFIG_ARCH_BOARD_PX4FMU_V2) || defined(CONFIG_ARCH_BOARD_PX4FMU_V4) || defined(CONFIG_ARCH_BOARD_PX4FMU_V4PRO)
#define PX4_ANALOG_VCC_5V_PIN 4
#define PX4_ANALOG_ORB_SERVO_VOLTAGE_PIN 102
#define PX4_ANALOG_ORB_SERVO_VRSSI_PIN 103
Expand Down
2 changes: 1 addition & 1 deletion libraries/AP_HAL_PX4/HAL_PX4_Class.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ static PX4::SPIDeviceManager spi_mgr_instance;
#define UARTD_DEFAULT_DEVICE "/dev/ttyS2"
#define UARTE_DEFAULT_DEVICE "/dev/ttyS6"
#define UARTF_DEFAULT_DEVICE "/dev/null"
#elif defined(CONFIG_ARCH_BOARD_PX4FMU_V4)
#elif defined(CONFIG_ARCH_BOARD_PX4FMU_V4) || defined(CONFIG_ARCH_BOARD_PX4FMU_V4PRO)
#define UARTA_DEFAULT_DEVICE "/dev/ttyACM0"
#define UARTB_DEFAULT_DEVICE "/dev/ttyS3"
#define UARTC_DEFAULT_DEVICE "/dev/ttyS1"
Expand Down
24 changes: 23 additions & 1 deletion libraries/AP_HAL_PX4/SPIDevice.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
/*
NuttX on STM32 doesn't produce the exact SPI bus frequency
requested. This is a table mapping requested to achieved SPI
frequency:
frequency for a 168 MHz processor :

2 -> 1.3 MHz
4 -> 2.6 MHz
Expand All @@ -42,6 +42,25 @@
20 -> 10
21 -> 20
28 -> 20

For a 180 MHz processor :

2 -> 1.4 MHz
4 -> 2.8 MHz
6 -> 5.6 MHz
8 -> 5.6 MHz
10 -> 5.6 MHz
11 -> 5.6 MHz
12 -> 11.25 MHz
13 -> 11.25 MHz
14 -> 11.25 MHz
16 -> 11.25 MHz
18 -> 11.25 MHz
20 -> 11.25 MHz
22 -> 11.25 MHz
24 -> 22.5 MHz
28 -> 22.5 MHz

*/

namespace PX4 {
Expand Down Expand Up @@ -93,6 +112,9 @@ SPIDesc SPIDeviceManager::device_table[] = {
#ifdef PX4_SPIDEV_HMC
SPIDesc("hmc5843", PX4_SPI_BUS_SENSORS, (spi_dev_e)PX4_SPIDEV_HMC, SPIDEV_MODE3, 11*MHZ, 11*MHZ),
#endif
#ifdef PX4_SPIDEV_LIS
SPIDesc("lis3mdl", PX4_SPI_BUS_SENSORS, (spi_dev_e)PX4_SPIDEV_LIS, SPIDEV_MODE3, 500*KHZ, 500*KHZ),
#endif

#ifdef PX4_SPI_BUS_EXT
#ifdef PX4_SPIDEV_EXT0
Expand Down
2 changes: 2 additions & 0 deletions libraries/AP_HAL_PX4/Util.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,8 @@ bool PX4Util::get_system_id(char buf[40])
const char *board_type = "PX4v2";
#elif defined(CONFIG_ARCH_BOARD_PX4FMU_V4)
const char *board_type = "PX4v4";
#elif defined(CONFIG_ARCH_BOARD_PX4FMU_V4PRO)
const char *board_type = "PX4v4PRO";
#elif defined(CONFIG_ARCH_BOARD_AEROFC_V1)
const char *board_type = "AEROFCv1";
#else
Expand Down
6 changes: 6 additions & 0 deletions libraries/AP_InertialSensor/AP_InertialSensor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -726,6 +726,12 @@ AP_InertialSensor::detect_backends(void)
_add_backend(AP_InertialSensor_Invensense::probe(*this, hal.spi->get_device(HAL_INS_MPU9250_NAME), ROTATION_ROLL_180_YAW_90));
break;

case AP_BoardConfig::PX4_BOARD_PIXHAWK_PRO:
_fast_sampling_mask.set_default(3);
_add_backend(AP_InertialSensor_Invensense::probe(*this, hal.spi->get_device(HAL_INS_ICM20608_NAME), ROTATION_ROLL_180_YAW_90));
_add_backend(AP_InertialSensor_Invensense::probe(*this, hal.spi->get_device(HAL_INS_MPU9250_NAME), ROTATION_ROLL_180_YAW_90));
break;

case AP_BoardConfig::PX4_BOARD_PHMINI:
// PHMINI uses ICM20608 on the ACCEL_MAG device and a MPU9250 on the old MPU6000 CS line
_fast_sampling_mask.set_default(3);
Expand Down
Binary file added mk/PX4/bootloader/px4fmuv4pro_bl.bin
Binary file not shown.
9 changes: 9 additions & 0 deletions mk/PX4/config_px4fmu-v4pro_APM.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#
# Makefile for the px4fmu-v2_APM configuration
#
include $(SKETCHBOOK)/mk/PX4/px4_common.mk

MODULES += drivers/boards/px4fmu-v4pro
MODULES += drivers/pwm_input
MODULES += drivers/px4io

22 changes: 21 additions & 1 deletion mk/px4_targets.mk
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ PX4_V1_CONFIG_FILE=$(MK_DIR)/PX4/config_px4fmu-v1_APM.mk
PX4_V2_CONFIG_FILE=$(MK_DIR)/PX4/config_px4fmu-v2_APM.mk
PX4_V3_CONFIG_FILE=$(MK_DIR)/PX4/config_px4fmu-v3_APM.mk
PX4_V4_CONFIG_FILE=$(MK_DIR)/PX4/config_px4fmu-v4_APM.mk
PX4_V4PRO_CONFIG_FILE=$(MK_DIR)/PX4/config_px4fmu-v4pro_APM.mk

# Since actual compiler mode is C++11, the library will default to UAVCAN_CPP11, but it will fail to compile
# because this platform lacks most of the standard library and STL. Hence we need to force C++03 mode.
Expand Down Expand Up @@ -126,13 +127,24 @@ px4-v4: $(BUILDROOT)/make.flags CHECK_MODULES $(MAVLINK_HEADERS) $(UAVCAN_HEADER
$(v) $(SKETCHBOOK)/Tools/scripts/add_git_hashes.py $(HASHADDER_FLAGS) "$(SKETCH)-v4.px4" "$(SKETCH)-v4.px4"
$(v) echo "PX4 $(SKETCH) Firmware is in $(SKETCH)-v4.px4"

px4-v4pro: $(BUILDROOT)/make.flags CHECK_MODULES $(MAVLINK_HEADERS) $(UAVCAN_HEADERS) $(PX4_ROOT)/Archives/px4fmu-v4pro.export $(SKETCHCPP) module_mk px4-io-v2
$(v) echo Building px4-v4pro
$(RULEHDR)
$(v) cp $(PX4_V4PRO_CONFIG_FILE) $(PX4_ROOT)/makefiles/nuttx/
$(PX4_MAKE) px4fmu-v4pro_APM
$(v) arm-none-eabi-size $(PX4_ROOT)/Build/px4fmu-v4pro_APM.build/firmware.elf
$(v) cp $(PX4_ROOT)/Images/px4fmu-v4pro_APM.px4 $(SKETCH)-v4pro.px4
$(v) $(SKETCHBOOK)/Tools/scripts/add_git_hashes.py $(HASHADDER_FLAGS) "$(SKETCH)-v4pro.px4" "$(SKETCH)-v4pro.px4"
$(v) echo "PX4 $(SKETCH) Firmware is in $(SKETCH)-v4pro.px4"

# force the 3 build types to not run in parallel. We got bad binaries with incorrect parameter handling
# when these were allowed to happen in parallel
px4:
$(MAKE) px4-v1
$(MAKE) px4-v2
$(MAKE) px4-v3
$(MAKE) px4-v4
$(MAKE) px4-v4pro

px4-clean: clean CHECK_MODULES px4-archives-clean px4-cleandep
$(v) /bin/rm -rf $(PX4_ROOT)/makefiles/build $(PX4_ROOT)/Build $(PX4_ROOT)/Images/*.px4 $(PX4_ROOT)/Images/*.bin
Expand Down Expand Up @@ -166,6 +178,10 @@ px4-v4-upload: px4-v4
$(RULEHDR)
$(v) $(PX4_MAKE) px4fmu-v4_APM upload

px4-v4pro-upload: px4-v4pro
$(RULEHDR)
$(v) $(PX4_MAKE) px4fmu-v4pro_APM upload

px4-upload: px4-v1-upload

px4-archives-clean:
Expand Down Expand Up @@ -207,6 +223,7 @@ px4-io: px4-io-v1 px4-io-v2
$(PX4_ROOT)/Archives/px4fmu-v2.export \
$(PX4_ROOT)/Archives/px4fmu-v3.export \
$(PX4_ROOT)/Archives/px4fmu-v4.export \
$(PX4_ROOT)/Archives/px4fmu-v4pro.export \
$(PX4_ROOT)/Archives/px4io-v1.export \
$(PX4_ROOT)/Archives/px4io-v2.export

Expand All @@ -222,11 +239,14 @@ $(PX4_ROOT)/Archives/px4fmu-v3.export:
$(PX4_ROOT)/Archives/px4fmu-v4.export:
$(v) $(PX4_MAKE_ARCHIVES) BOARDS="px4fmu-v4"

$(PX4_ROOT)/Archives/px4fmu-v4pro.export:
$(v) $(PX4_MAKE_ARCHIVES) BOARDS="px4fmu-v4pro"

$(PX4_ROOT)/Archives/px4io-v1.export:
$(v) $(PX4_MAKE_ARCHIVES) BOARDS="px4io-v1"

$(PX4_ROOT)/Archives/px4io-v2.export:
$(v) $(PX4_MAKE_ARCHIVES) BOARDS="px4io-v2"

px4-archives:
$(v) $(PX4_MAKE_ARCHIVES) BOARDS="px4io-v1 px4io-v2 px4fmu-v1 px4fmu-v2 px4fmu-v3 px4fmu-v4"
$(v) $(PX4_MAKE_ARCHIVES) BOARDS="px4io-v1 px4io-v2 px4fmu-v1 px4fmu-v2 px4fmu-v3 px4fmu-v4 px4fmu-v4pro"
Loading