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
84 lines
2.3 KiB
C
84 lines
2.3 KiB
C
#pragma once
|
|
|
|
#include <AP_HAL/AP_HAL_Boards.h>
|
|
#include <AP_Logger/AP_Logger_config.h>
|
|
|
|
/**
|
|
maximum number of INS instances available on this platform. If more
|
|
than 1 then redundant sensors may be available
|
|
*/
|
|
|
|
#ifndef AP_INERTIALSENSOR_ENABLED
|
|
#define AP_INERTIALSENSOR_ENABLED 1
|
|
#endif
|
|
|
|
#ifndef INS_AUX_INSTANCES
|
|
#define INS_AUX_INSTANCES 0
|
|
#endif
|
|
|
|
#ifndef INS_MAX_INSTANCES
|
|
#define INS_MAX_INSTANCES (3+INS_AUX_INSTANCES)
|
|
#endif
|
|
|
|
#if INS_MAX_INSTANCES < 3 && INS_AUX_INSTANCES > 0
|
|
#error "INS_AUX_INSTANCES must be zero if INS_MAX_INSTANCES is less than 3"
|
|
#endif
|
|
|
|
#if INS_MAX_INSTANCES > 3 && INS_AUX_INSTANCES == 0
|
|
#error "INS_AUX_INSTANCES must be non-zero if INS_MAX_INSTANCES is greater than 3"
|
|
#endif
|
|
|
|
#define INS_MAX_BACKENDS 2*INS_MAX_INSTANCES
|
|
#define INS_MAX_NOTCHES 12
|
|
#ifndef INS_VIBRATION_CHECK_INSTANCES
|
|
#if HAL_MEM_CLASS >= HAL_MEM_CLASS_300
|
|
#define INS_VIBRATION_CHECK_INSTANCES INS_MAX_INSTANCES
|
|
#else
|
|
#define INS_VIBRATION_CHECK_INSTANCES 1
|
|
#endif
|
|
#endif
|
|
#define XYZ_AXIS_COUNT 3
|
|
// The maximum we need to store is gyro-rate / loop-rate, worst case ArduCopter with BMI088 is 2000/400
|
|
#define INS_MAX_GYRO_WINDOW_SAMPLES 8
|
|
|
|
#define DEFAULT_IMU_LOG_BAT_MASK 0
|
|
|
|
#ifndef HAL_INS_TEMPERATURE_CAL_ENABLE
|
|
#define HAL_INS_TEMPERATURE_CAL_ENABLE HAL_PROGRAM_SIZE_LIMIT_KB > 1024
|
|
#endif
|
|
|
|
#ifndef AP_INERTIALSENSOR_HARMONICNOTCH_ENABLED
|
|
#define AP_INERTIALSENSOR_HARMONICNOTCH_ENABLED AP_INERTIALSENSOR_ENABLED
|
|
#endif
|
|
|
|
#ifndef AP_INERTIALSENSOR_ALLOW_NO_SENSORS
|
|
#define AP_INERTIALSENSOR_ALLOW_NO_SENSORS 0
|
|
#endif
|
|
|
|
#if AP_INERTIALSENSOR_HARMONICNOTCH_ENABLED
|
|
#ifndef HAL_INS_NUM_HARMONIC_NOTCH_FILTERS
|
|
#define HAL_INS_NUM_HARMONIC_NOTCH_FILTERS 2
|
|
#endif
|
|
#endif
|
|
|
|
// time for the estimated gyro rates to converge
|
|
#ifndef HAL_INS_CONVERGANCE_MS
|
|
#define HAL_INS_CONVERGANCE_MS 30000
|
|
#endif
|
|
|
|
#ifndef AP_INERTIALSENSOR_BATCHSAMPLER_ENABLED
|
|
#define AP_INERTIALSENSOR_BATCHSAMPLER_ENABLED (AP_INERTIALSENSOR_ENABLED && HAL_LOGGING_ENABLED)
|
|
#endif
|
|
|
|
#ifndef AP_INERTIALSENSOR_KILL_IMU_ENABLED
|
|
#define AP_INERTIALSENSOR_KILL_IMU_ENABLED 1
|
|
#endif
|
|
|
|
#ifndef AP_INERTIALSENSOR_BACKEND_DEFAULT_ENABLED
|
|
#define AP_INERTIALSENSOR_BACKEND_DEFAULT_ENABLED 0
|
|
#endif // AP_INERTIALSENSOR_BACKEND_DEFAULT_ENABLED
|
|
|
|
#ifndef AP_INERTIALSENSOR_RST_ENABLED
|
|
#define AP_INERTIALSENSOR_RST_ENABLED 0
|
|
#endif // AP_INERTIALSENSOR_RST_ENABLED
|