mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-02-28 18:53:57 -04:00
We will reserve BOARD_FLASH_SIZE for the internal flash on stm32 flash processors, use HAL_PROGRAM_SIZE_LIMIT_KB in the general code base. Notable change here is that boards with external flash will start to get features only available with more than 2MB of program storage
113 lines
3.8 KiB
C
113 lines
3.8 KiB
C
#pragma once
|
|
|
|
#include <AP_HAL/AP_HAL_Boards.h>
|
|
#include <AP_Relay/AP_Relay_config.h>
|
|
#include <AP_Mission/AP_Mission_config.h>
|
|
#include <AP_InertialSensor/AP_InertialSensor_config.h>
|
|
|
|
#ifndef HAL_GCS_ENABLED
|
|
#define HAL_GCS_ENABLED 1
|
|
#endif
|
|
|
|
#ifndef HAL_MAVLINK_BINDINGS_ENABLED
|
|
#define HAL_MAVLINK_BINDINGS_ENABLED HAL_GCS_ENABLED
|
|
#endif
|
|
|
|
#ifndef HAL_HIGH_LATENCY2_ENABLED
|
|
#define HAL_HIGH_LATENCY2_ENABLED 1
|
|
#endif
|
|
|
|
// handling of MISSION_SET_CURRENT (the message) is slated to be
|
|
// removed. It has signficant deficiencies vs MAV_CMD_DO_SET_CURRENT.
|
|
// The command was added to the spec in January 2019 and to MAVLink in
|
|
// ArduPilot in 4.1.x
|
|
#ifndef AP_MAVLINK_MISSION_SET_CURRENT_ENABLED
|
|
#define AP_MAVLINK_MISSION_SET_CURRENT_ENABLED AP_MISSION_ENABLED
|
|
#endif
|
|
|
|
// AUTOPILOT_VERSION_REQUEST is slated to be removed; an instance of
|
|
// AUTOPILOT_VERSION can be requested with MAV_CMD_REQUEST_MESSAGE,
|
|
// which gets you an ACK/NACK
|
|
#ifndef AP_MAVLINK_AUTOPILOT_VERSION_REQUEST_ENABLED
|
|
#define AP_MAVLINK_AUTOPILOT_VERSION_REQUEST_ENABLED 1
|
|
#endif
|
|
|
|
#ifndef AP_MAVLINK_MSG_RC_CHANNELS_RAW_ENABLED
|
|
#define AP_MAVLINK_MSG_RC_CHANNELS_RAW_ENABLED 1
|
|
#endif
|
|
|
|
// handling of MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES is slated to be
|
|
// removed; the message can be requested with MAV_CMD_REQUEST_MESSAGE
|
|
#ifndef AP_MAVLINK_MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES_ENABLED
|
|
#define AP_MAVLINK_MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES_ENABLED 1
|
|
#endif
|
|
|
|
#ifndef HAL_MAVLINK_INTERVALS_FROM_FILES_ENABLED
|
|
#define HAL_MAVLINK_INTERVALS_FROM_FILES_ENABLED ((AP_FILESYSTEM_FATFS_ENABLED || AP_FILESYSTEM_LITTLEFS_ENABLED || AP_FILESYSTEM_POSIX_ENABLED) && HAL_PROGRAM_SIZE_LIMIT_KB > 1024)
|
|
#endif
|
|
|
|
#ifndef AP_MAVLINK_MSG_RELAY_STATUS_ENABLED
|
|
#define AP_MAVLINK_MSG_RELAY_STATUS_ENABLED HAL_GCS_ENABLED && AP_RELAY_ENABLED
|
|
#endif
|
|
|
|
// allow removal of developer-centric mavlink commands
|
|
#ifndef AP_MAVLINK_FAILURE_CREATION_ENABLED
|
|
#define AP_MAVLINK_FAILURE_CREATION_ENABLED 1
|
|
#endif
|
|
|
|
// CODE_REMOVAL
|
|
// ArduPilot 4.6 sends deprecation warnings for RALLY_POINT/RALLY_FETCH_POINT
|
|
// ArduPilot 4.7 stops compiling them in by default
|
|
// ArduPilot 4.8 removes the code entirely
|
|
#ifndef AP_MAVLINK_RALLY_POINT_PROTOCOL_ENABLED
|
|
#define AP_MAVLINK_RALLY_POINT_PROTOCOL_ENABLED 0
|
|
#endif
|
|
|
|
// this is for both read and write messages:
|
|
#ifndef AP_MAVLINK_MSG_DEVICE_OP_ENABLED
|
|
#define AP_MAVLINK_MSG_DEVICE_OP_ENABLED HAL_GCS_ENABLED
|
|
#endif
|
|
|
|
#ifndef AP_MAVLINK_SERVO_RELAY_ENABLED
|
|
#define AP_MAVLINK_SERVO_RELAY_ENABLED HAL_GCS_ENABLED && AP_SERVORELAYEVENTS_ENABLED
|
|
#endif
|
|
|
|
#ifndef AP_MAVLINK_MSG_SERIAL_CONTROL_ENABLED
|
|
#define AP_MAVLINK_MSG_SERIAL_CONTROL_ENABLED HAL_GCS_ENABLED
|
|
#endif
|
|
|
|
#ifndef AP_MAVLINK_MSG_UAVIONIX_ADSB_OUT_STATUS_ENABLED
|
|
#define AP_MAVLINK_MSG_UAVIONIX_ADSB_OUT_STATUS_ENABLED HAL_ADSB_ENABLED
|
|
#endif
|
|
|
|
#ifndef AP_MAVLINK_FTP_ENABLED
|
|
#define AP_MAVLINK_FTP_ENABLED HAL_GCS_ENABLED
|
|
#endif
|
|
|
|
// GCS should be using MISSION_REQUEST_INT instead; this is a waste of
|
|
// flash. MISSION_REQUEST was deprecated in June 2020. We started
|
|
// sending warnings to the GCS in Sep 2022 if this command was used.
|
|
// Copter 4.4.0 sends this warning.
|
|
#ifndef AP_MAVLINK_MSG_MISSION_REQUEST_ENABLED
|
|
#define AP_MAVLINK_MSG_MISSION_REQUEST_ENABLED AP_MISSION_ENABLED
|
|
#endif
|
|
|
|
// all commands can be executed by COMMAND_INT, so COMMAND_LONG isn't
|
|
// strictly required. This option created for 4.5, Nov 2023, and code
|
|
// left in place.
|
|
#ifndef AP_MAVLINK_COMMAND_LONG_ENABLED
|
|
#define AP_MAVLINK_COMMAND_LONG_ENABLED 1
|
|
#endif
|
|
|
|
#ifndef AP_MAVLINK_MSG_HIGHRES_IMU_ENABLED
|
|
#define AP_MAVLINK_MSG_HIGHRES_IMU_ENABLED (HAL_PROGRAM_SIZE_LIMIT_KB > 1024) && AP_INERTIALSENSOR_ENABLED
|
|
#endif
|
|
|
|
#ifndef AP_MAVLINK_MAV_CMD_SET_HAGL_ENABLED
|
|
#define AP_MAVLINK_MAV_CMD_SET_HAGL_ENABLED (HAL_PROGRAM_SIZE_LIMIT_KB > 1024)
|
|
#endif
|
|
|
|
#ifndef AP_MAVLINK_MSG_VIDEO_STREAM_INFORMATION_ENABLED
|
|
#define AP_MAVLINK_MSG_VIDEO_STREAM_INFORMATION_ENABLED HAL_GCS_ENABLED
|
|
#endif
|