mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-30 04:06:33 +08:00
boards: add CONSTRAINED_MEMORY build option
- currently the main change is that it reduces the max number of ORB multi instances to 4, but usage will be expanded as needed - limits number of EKF2 multi instances to 2. - enabled on all cortex m4 boards
This commit is contained in:
committed by
Lorenz Meier
parent
834ac38841
commit
78dff6adcb
@@ -6,6 +6,7 @@ px4_add_board(
|
|||||||
LABEL default
|
LABEL default
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
TESTING
|
TESTING
|
||||||
UAVCAN_INTERFACES 1
|
UAVCAN_INTERFACES 1
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ px4_add_board(
|
|||||||
LABEL canbootloader
|
LABEL canbootloader
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
DRIVERS
|
DRIVERS
|
||||||
bootloaders
|
bootloaders
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ px4_add_board(
|
|||||||
LABEL default
|
LABEL default
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT cannode
|
ROMFSROOT cannode
|
||||||
UAVCAN_INTERFACES 1
|
UAVCAN_INTERFACES 1
|
||||||
DRIVERS
|
DRIVERS
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ px4_add_board(
|
|||||||
MODEL crazyflie
|
MODEL crazyflie
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
CONSTRAINED_FLASH
|
CONSTRAINED_FLASH
|
||||||
DRIVERS
|
DRIVERS
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ px4_add_board(
|
|||||||
MODEL crazyflie21
|
MODEL crazyflie21
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
CONSTRAINED_FLASH
|
CONSTRAINED_FLASH
|
||||||
DRIVERS
|
DRIVERS
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ px4_add_board(
|
|||||||
LABEL canbootloader
|
LABEL canbootloader
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
DRIVERS
|
DRIVERS
|
||||||
bootloaders
|
bootloaders
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ px4_add_board(
|
|||||||
LABEL default
|
LABEL default
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT cannode
|
ROMFSROOT cannode
|
||||||
UAVCAN_INTERFACES 1
|
UAVCAN_INTERFACES 1
|
||||||
DRIVERS
|
DRIVERS
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ px4_add_board(
|
|||||||
LABEL default
|
LABEL default
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
CONSTRAINED_FLASH
|
CONSTRAINED_FLASH
|
||||||
SERIAL_PORTS
|
SERIAL_PORTS
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ px4_add_board(
|
|||||||
LABEL rtps
|
LABEL rtps
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
SERIAL_PORTS
|
SERIAL_PORTS
|
||||||
GPS1:/dev/ttyS5
|
GPS1:/dev/ttyS5
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ px4_add_board(
|
|||||||
LABEL default
|
LABEL default
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
IO px4_io-v2_default
|
IO px4_io-v2_default
|
||||||
TESTING
|
TESTING
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ px4_add_board(
|
|||||||
LABEL default
|
LABEL default
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
TESTING
|
TESTING
|
||||||
UAVCAN_INTERFACES 2
|
UAVCAN_INTERFACES 2
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ px4_add_board(
|
|||||||
LABEL socketcan
|
LABEL socketcan
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
TESTING
|
TESTING
|
||||||
UAVCAN_INTERFACES 2
|
UAVCAN_INTERFACES 2
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ px4_add_board(
|
|||||||
LABEL default
|
LABEL default
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
TESTING
|
TESTING
|
||||||
UAVCAN_INTERFACES 2
|
UAVCAN_INTERFACES 2
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ px4_add_board(
|
|||||||
LABEL rtps
|
LABEL rtps
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
TESTING
|
TESTING
|
||||||
UAVCAN_INTERFACES 2
|
UAVCAN_INTERFACES 2
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ px4_add_board(
|
|||||||
LABEL socketcan
|
LABEL socketcan
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
TESTING
|
TESTING
|
||||||
UAVCAN_INTERFACES 2
|
UAVCAN_INTERFACES 2
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ px4_add_board(
|
|||||||
LABEL default
|
LABEL default
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT cannode
|
ROMFSROOT cannode
|
||||||
UAVCAN_INTERFACES 2
|
UAVCAN_INTERFACES 2
|
||||||
DRIVERS
|
DRIVERS
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ px4_add_board(
|
|||||||
MODEL f4sd
|
MODEL f4sd
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
CONSTRAINED_FLASH
|
CONSTRAINED_FLASH
|
||||||
SERIAL_PORTS
|
SERIAL_PORTS
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ px4_add_board(
|
|||||||
LABEL default
|
LABEL default
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
BOOTLOADER ${PX4_SOURCE_DIR}/ROMFS/px4fmu_common/extras/px4fmuv3_bl.bin
|
BOOTLOADER ${PX4_SOURCE_DIR}/ROMFS/px4fmu_common/extras/px4fmuv3_bl.bin
|
||||||
IO px4_io-v2_default
|
IO px4_io-v2_default
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ px4_add_board(
|
|||||||
LABEL fixedwing
|
LABEL fixedwing
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
IO px4_io-v2_default
|
IO px4_io-v2_default
|
||||||
#TESTING
|
#TESTING
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ px4_add_board(
|
|||||||
LABEL lpe
|
LABEL lpe
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
BOOTLOADER ${PX4_SOURCE_DIR}/ROMFS/px4fmu_common/extras/px4fmuv3_bl.bin
|
BOOTLOADER ${PX4_SOURCE_DIR}/ROMFS/px4fmu_common/extras/px4fmuv3_bl.bin
|
||||||
IO px4_io-v2_default
|
IO px4_io-v2_default
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ px4_add_board(
|
|||||||
LABEL multicopter
|
LABEL multicopter
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
IO px4_io-v2_default
|
IO px4_io-v2_default
|
||||||
#UAVCAN_INTERFACES 2
|
#UAVCAN_INTERFACES 2
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ px4_add_board(
|
|||||||
LABEL rover
|
LABEL rover
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
IO px4_io-v2_default
|
IO px4_io-v2_default
|
||||||
CONSTRAINED_FLASH
|
CONSTRAINED_FLASH
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ px4_add_board(
|
|||||||
LABEL test
|
LABEL test
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_test
|
ROMFSROOT px4fmu_test
|
||||||
IO px4_io-v2_default
|
IO px4_io-v2_default
|
||||||
TESTING
|
TESTING
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ px4_add_board(
|
|||||||
LABEL ctrlalloc
|
LABEL ctrlalloc
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
IO px4_io-v2_default
|
IO px4_io-v2_default
|
||||||
TESTING
|
TESTING
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ px4_add_board(
|
|||||||
LABEL default
|
LABEL default
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
IO px4_io-v2_default
|
IO px4_io-v2_default
|
||||||
TESTING
|
TESTING
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ px4_add_board(
|
|||||||
LABEL rtps
|
LABEL rtps
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
IO px4_io-v2_default
|
IO px4_io-v2_default
|
||||||
TESTING
|
TESTING
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ px4_add_board(
|
|||||||
LABEL stackcheck
|
LABEL stackcheck
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
IO px4_io-v2_default
|
IO px4_io-v2_default
|
||||||
TESTING
|
TESTING
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ px4_add_board(
|
|||||||
LABEL cannode
|
LABEL cannode
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT cannode
|
ROMFSROOT cannode
|
||||||
UAVCAN_INTERFACES 1
|
UAVCAN_INTERFACES 1
|
||||||
SERIAL_PORTS
|
SERIAL_PORTS
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ px4_add_board(
|
|||||||
LABEL ctrlalloc
|
LABEL ctrlalloc
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
TESTING
|
TESTING
|
||||||
UAVCAN_INTERFACES 1
|
UAVCAN_INTERFACES 1
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ px4_add_board(
|
|||||||
LABEL default
|
LABEL default
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
TESTING
|
TESTING
|
||||||
UAVCAN_INTERFACES 1
|
UAVCAN_INTERFACES 1
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ px4_add_board(
|
|||||||
LABEL optimized
|
LABEL optimized
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
TESTING
|
TESTING
|
||||||
UAVCAN_INTERFACES 1
|
UAVCAN_INTERFACES 1
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ px4_add_board(
|
|||||||
LABEL rtps
|
LABEL rtps
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
TESTING
|
TESTING
|
||||||
UAVCAN_INTERFACES 1
|
UAVCAN_INTERFACES 1
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ px4_add_board(
|
|||||||
LABEL stackcheck
|
LABEL stackcheck
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
TESTING
|
TESTING
|
||||||
#UAVCAN_INTERFACES 1
|
#UAVCAN_INTERFACES 1
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ px4_add_board(
|
|||||||
LABEL default
|
LABEL default
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
IO px4_io-v2_default
|
IO px4_io-v2_default
|
||||||
TESTING
|
TESTING
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ px4_add_board(
|
|||||||
LABEL rtps
|
LABEL rtps
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
IO px4_io-v2_default
|
IO px4_io-v2_default
|
||||||
TESTING
|
TESTING
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ px4_add_board(
|
|||||||
LABEL default
|
LABEL default
|
||||||
TOOLCHAIN arm-none-eabi
|
TOOLCHAIN arm-none-eabi
|
||||||
ARCHITECTURE cortex-m4
|
ARCHITECTURE cortex-m4
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
ROMFSROOT px4fmu_common
|
ROMFSROOT px4fmu_common
|
||||||
UAVCAN_INTERFACES 1
|
UAVCAN_INTERFACES 1
|
||||||
SERIAL_PORTS
|
SERIAL_PORTS
|
||||||
|
|||||||
@@ -56,6 +56,7 @@
|
|||||||
# [ EXAMPLES <list> ]
|
# [ EXAMPLES <list> ]
|
||||||
# [ SERIAL_PORTS <list> ]
|
# [ SERIAL_PORTS <list> ]
|
||||||
# [ CONSTRAINED_FLASH ]
|
# [ CONSTRAINED_FLASH ]
|
||||||
|
# [ CONSTRAINED_MEMORY ]
|
||||||
# [ TESTING ]
|
# [ TESTING ]
|
||||||
# [ LINKER_PREFIX <string> ]
|
# [ LINKER_PREFIX <string> ]
|
||||||
# [ EMBEDDED_METADATA <string> ]
|
# [ EMBEDDED_METADATA <string> ]
|
||||||
@@ -80,6 +81,7 @@
|
|||||||
# SERIAL_PORTS : mapping of user configurable serial ports and param facing name
|
# SERIAL_PORTS : mapping of user configurable serial ports and param facing name
|
||||||
# EMBEDDED_METADATA : list of metadata to embed to ROMFS
|
# EMBEDDED_METADATA : list of metadata to embed to ROMFS
|
||||||
# CONSTRAINED_FLASH : flag to enable constrained flash options (eg limit init script status text)
|
# CONSTRAINED_FLASH : flag to enable constrained flash options (eg limit init script status text)
|
||||||
|
# CONSTRAINED_MEMORY : flag to enable constrained memory options (eg limit maximum number of uORB publications)
|
||||||
# TESTING : flag to enable automatic inclusion of PX4 testing modules
|
# TESTING : flag to enable automatic inclusion of PX4 testing modules
|
||||||
# LINKER_PREFIX : optional to prefix on the Linker script.
|
# LINKER_PREFIX : optional to prefix on the Linker script.
|
||||||
#
|
#
|
||||||
@@ -156,6 +158,7 @@ function(px4_add_board)
|
|||||||
OPTIONS
|
OPTIONS
|
||||||
BUILD_BOOTLOADER
|
BUILD_BOOTLOADER
|
||||||
CONSTRAINED_FLASH
|
CONSTRAINED_FLASH
|
||||||
|
CONSTRAINED_MEMORY
|
||||||
TESTING
|
TESTING
|
||||||
REQUIRED
|
REQUIRED
|
||||||
PLATFORM
|
PLATFORM
|
||||||
@@ -248,6 +251,11 @@ function(px4_add_board)
|
|||||||
add_definitions(-DCONSTRAINED_FLASH)
|
add_definitions(-DCONSTRAINED_FLASH)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(CONSTRAINED_MEMORY)
|
||||||
|
set(px4_constrained_memory_build "1" CACHE INTERNAL "constrained memory build" FORCE)
|
||||||
|
add_definitions(-DCONSTRAINED_MEMORY)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(TESTING)
|
if(TESTING)
|
||||||
set(PX4_TESTING "1" CACHE INTERNAL "testing enabled" FORCE)
|
set(PX4_TESTING "1" CACHE INTERNAL "testing enabled" FORCE)
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@@ -53,8 +53,11 @@
|
|||||||
#include <uORB/topics/vehicle_global_position.h>
|
#include <uORB/topics/vehicle_global_position.h>
|
||||||
#include <uORB/topics/vehicle_odometry.h>
|
#include <uORB/topics/vehicle_odometry.h>
|
||||||
|
|
||||||
static constexpr uint8_t EKF2_MAX_INSTANCES{9};
|
#if CONSTRAINED_MEMORY
|
||||||
static_assert(EKF2_MAX_INSTANCES <= ORB_MULTI_MAX_INSTANCES, "EKF2_MAX_INSTANCES must be <= ORB_MULTI_MAX_INSTANCES");
|
# define EKF2_MAX_INSTANCES 2
|
||||||
|
#else
|
||||||
|
# define EKF2_MAX_INSTANCES 9
|
||||||
|
#endif
|
||||||
|
|
||||||
using namespace time_literals;
|
using namespace time_literals;
|
||||||
|
|
||||||
@@ -84,6 +87,7 @@ private:
|
|||||||
|
|
||||||
// Subscriptions (per estimator instance)
|
// Subscriptions (per estimator instance)
|
||||||
struct EstimatorInstance {
|
struct EstimatorInstance {
|
||||||
|
|
||||||
EstimatorInstance(EKF2Selector *selector, uint8_t i) :
|
EstimatorInstance(EKF2Selector *selector, uint8_t i) :
|
||||||
estimator_attitude_sub{selector, ORB_ID(estimator_attitude), i},
|
estimator_attitude_sub{selector, ORB_ID(estimator_attitude), i},
|
||||||
estimator_status_sub{selector, ORB_ID(estimator_status), i},
|
estimator_status_sub{selector, ORB_ID(estimator_status), i},
|
||||||
@@ -119,13 +123,17 @@ private:
|
|||||||
EstimatorInstance _instance[EKF2_MAX_INSTANCES] {
|
EstimatorInstance _instance[EKF2_MAX_INSTANCES] {
|
||||||
{this, 0},
|
{this, 0},
|
||||||
{this, 1},
|
{this, 1},
|
||||||
|
#if EKF2_MAX_INSTANCES > 2
|
||||||
{this, 2},
|
{this, 2},
|
||||||
{this, 3},
|
{this, 3},
|
||||||
|
#if EKF2_MAX_INSTANCES > 4
|
||||||
{this, 4},
|
{this, 4},
|
||||||
{this, 5},
|
{this, 5},
|
||||||
{this, 6},
|
{this, 6},
|
||||||
{this, 7},
|
{this, 7},
|
||||||
{this, 8},
|
{this, 8},
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
static constexpr uint8_t IMU_STATUS_SIZE = (sizeof(sensors_status_imu_s::gyro_inconsistency_rad_s) / sizeof(
|
static constexpr uint8_t IMU_STATUS_SIZE = (sizeof(sensors_status_imu_s::gyro_inconsistency_rad_s) / sizeof(
|
||||||
@@ -136,7 +144,7 @@ private:
|
|||||||
static_assert(IMU_STATUS_SIZE == sizeof(estimator_selector_status_s::accumulated_accel_error) / sizeof(
|
static_assert(IMU_STATUS_SIZE == sizeof(estimator_selector_status_s::accumulated_accel_error) / sizeof(
|
||||||
estimator_selector_status_s::accumulated_accel_error[0]),
|
estimator_selector_status_s::accumulated_accel_error[0]),
|
||||||
"increase estimator_selector_status_s::accumulated_accel_error size");
|
"increase estimator_selector_status_s::accumulated_accel_error size");
|
||||||
static_assert(EKF2_MAX_INSTANCES == sizeof(estimator_selector_status_s::combined_test_ratio) / sizeof(
|
static_assert(EKF2_MAX_INSTANCES <= sizeof(estimator_selector_status_s::combined_test_ratio) / sizeof(
|
||||||
estimator_selector_status_s::combined_test_ratio[0]),
|
estimator_selector_status_s::combined_test_ratio[0]),
|
||||||
"increase estimator_selector_status_s::combined_test_ratio size");
|
"increase estimator_selector_status_s::combined_test_ratio size");
|
||||||
|
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ void LoggedTopics::add_default_topics()
|
|||||||
add_topic("vehicle_status_flags");
|
add_topic("vehicle_status_flags");
|
||||||
add_topic("vtol_vehicle_status", 200);
|
add_topic("vtol_vehicle_status", 200);
|
||||||
|
|
||||||
// Control allocaton topics
|
// Control allocation topics
|
||||||
add_topic("vehicle_angular_acceleration_setpoint", 20);
|
add_topic("vehicle_angular_acceleration_setpoint", 20);
|
||||||
add_topic("vehicle_angular_acceleration", 20);
|
add_topic("vehicle_angular_acceleration", 20);
|
||||||
add_topic("vehicle_thrust_setpoint", 20);
|
add_topic("vehicle_thrust_setpoint", 20);
|
||||||
@@ -126,7 +126,12 @@ void LoggedTopics::add_default_topics()
|
|||||||
add_topic_multi("telemetry_status", 1000, 4);
|
add_topic_multi("telemetry_status", 1000, 4);
|
||||||
|
|
||||||
// EKF multi topics (currently max 9 estimators)
|
// EKF multi topics (currently max 9 estimators)
|
||||||
static constexpr uint8_t MAX_ESTIMATOR_INSTANCES = 4;
|
#if CONSTRAINED_MEMORY
|
||||||
|
static constexpr uint8_t MAX_ESTIMATOR_INSTANCES = 2;
|
||||||
|
#else
|
||||||
|
static constexpr uint8_t MAX_ESTIMATOR_INSTANCES = 6; // artificailly limited until PlotJuggler fixed
|
||||||
|
#endif
|
||||||
|
|
||||||
add_topic("estimator_selector_status");
|
add_topic("estimator_selector_status");
|
||||||
add_topic_multi("ekf_gps_drift", 1000, MAX_ESTIMATOR_INSTANCES);
|
add_topic_multi("ekf_gps_drift", 1000, MAX_ESTIMATOR_INSTANCES);
|
||||||
add_topic_multi("estimator_attitude", 500, MAX_ESTIMATOR_INSTANCES);
|
add_topic_multi("estimator_attitude", 500, MAX_ESTIMATOR_INSTANCES);
|
||||||
|
|||||||
@@ -58,9 +58,13 @@ struct orb_metadata {
|
|||||||
typedef const struct orb_metadata *orb_id_t;
|
typedef const struct orb_metadata *orb_id_t;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Maximum number of multi topic instances
|
* Maximum number of multi topic instances. This must be <= 10 (because it's the last char of the node path)
|
||||||
*/
|
*/
|
||||||
#define ORB_MULTI_MAX_INSTANCES 10 // This must be <= 10 (because it's the last char of the node path)
|
#if defined(CONSTRAINED_MEMORY)
|
||||||
|
# define ORB_MULTI_MAX_INSTANCES 4
|
||||||
|
#else
|
||||||
|
# define ORB_MULTI_MAX_INSTANCES 10
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generates a pointer to the uORB metadata structure for
|
* Generates a pointer to the uORB metadata structure for
|
||||||
|
|||||||
@@ -727,12 +727,14 @@ int uORBTest::UnitTest::test_SubscriptionMulti()
|
|||||||
ORB_ID::orb_test,
|
ORB_ID::orb_test,
|
||||||
ORB_ID::orb_test,
|
ORB_ID::orb_test,
|
||||||
ORB_ID::orb_test,
|
ORB_ID::orb_test,
|
||||||
|
#if ORB_MULTI_MAX_INSTANCES > 4
|
||||||
ORB_ID::orb_test,
|
ORB_ID::orb_test,
|
||||||
ORB_ID::orb_test,
|
ORB_ID::orb_test,
|
||||||
ORB_ID::orb_test,
|
ORB_ID::orb_test,
|
||||||
ORB_ID::orb_test,
|
ORB_ID::orb_test,
|
||||||
ORB_ID::orb_test,
|
ORB_ID::orb_test,
|
||||||
ORB_ID::orb_test,
|
ORB_ID::orb_test,
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
uORB::SubscriptionMultiArray<orb_test_s> orb_test_sub_multi_array{ORB_ID::orb_test};
|
uORB::SubscriptionMultiArray<orb_test_s> orb_test_sub_multi_array{ORB_ID::orb_test};
|
||||||
|
|||||||
Reference in New Issue
Block a user