// this file is inserted (by chibios_hwdef.py) into hwdef.h when // configuring for AP_Periph builds #ifndef AP_SCHEDULER_ENABLED #define AP_SCHEDULER_ENABLED 0 #endif #ifndef HAL_LOGGING_ENABLED #define HAL_LOGGING_ENABLED 0 #endif #ifndef HAL_GCS_ENABLED #define HAL_GCS_ENABLED 0 #endif /* AP_Periph doesn't include the SERIAL parameter tree, instead each supported serial device type has it's own parameter within AP_Periph for which port is used. */ #define DEFAULT_SERIAL0_PROTOCOL SerialProtocol_None #define DEFAULT_SERIAL1_PROTOCOL SerialProtocol_None #define DEFAULT_SERIAL2_PROTOCOL SerialProtocol_None #define DEFAULT_SERIAL3_PROTOCOL SerialProtocol_None #define DEFAULT_SERIAL4_PROTOCOL SerialProtocol_None #define DEFAULT_SERIAL5_PROTOCOL SerialProtocol_None #define DEFAULT_SERIAL6_PROTOCOL SerialProtocol_None #define DEFAULT_SERIAL7_PROTOCOL SerialProtocol_None #define DEFAULT_SERIAL8_PROTOCOL SerialProtocol_None #define DEFAULT_SERIAL9_PROTOCOL SerialProtocol_None #ifndef HAL_LOGGING_MAVLINK_ENABLED #define HAL_LOGGING_MAVLINK_ENABLED 0 #endif #ifndef AP_MISSION_ENABLED #define AP_MISSION_ENABLED 0 #endif #ifndef HAL_RALLY_ENABLED #define HAL_RALLY_ENABLED 0 #endif #ifndef HAL_NMEA_OUTPUT_ENABLED #define HAL_NMEA_OUTPUT_ENABLED 0 #endif #ifndef HAL_CAN_DEFAULT_NODE_ID #define HAL_CAN_DEFAULT_NODE_ID 0 #endif #define PERIPH_FW TRUE #define HAL_BUILD_AP_PERIPH #ifndef HAL_WATCHDOG_ENABLED_DEFAULT #define HAL_WATCHDOG_ENABLED_DEFAULT true #endif #ifndef AP_FETTEC_ONEWIRE_ENABLED #define AP_FETTEC_ONEWIRE_ENABLED 0 #endif #ifndef HAL_TORQEEDO_ENABLED #define HAL_TORQEEDO_ENABLED 0 #endif #ifndef AP_KDECAN_ENABLED #define AP_KDECAN_ENABLED 0 #endif #ifndef HAL_GENERATOR_ENABLED #define HAL_GENERATOR_ENABLED 0 #endif #ifndef HAL_BARO_WIND_COMP_ENABLED #define HAL_BARO_WIND_COMP_ENABLED 0 #endif #ifndef HAL_UART_STATS_ENABLED #define HAL_UART_STATS_ENABLED (HAL_GCS_ENABLED || HAL_LOGGING_ENABLED) #endif #ifndef HAL_SUPPORT_RCOUT_SERIAL #define HAL_SUPPORT_RCOUT_SERIAL 0 #endif #ifndef AP_AIRSPEED_AUTOCAL_ENABLE #define AP_AIRSPEED_AUTOCAL_ENABLE 0 #endif #ifndef AP_STATS_ENABLED #define AP_STATS_ENABLED 0 #endif #ifndef AP_VOLZ_ENABLED #define AP_VOLZ_ENABLED 0 #endif #ifndef AP_ROBOTISSERVO_ENABLED #define AP_ROBOTISSERVO_ENABLED 0 #endif #ifndef AP_SBUSOUTPUT_ENABLED #define AP_SBUSOUTPUT_ENABLED 0 #endif // by default an AP_Periph defines as many servo output channels as // there are PWM outputs: #ifndef NUM_SERVO_CHANNELS #ifdef HAL_PWM_COUNT #define NUM_SERVO_CHANNELS HAL_PWM_COUNT #else #define NUM_SERVO_CHANNELS 0 #endif #endif #ifndef AP_BATTERY_ESC_ENABLED #define AP_BATTERY_ESC_ENABLED 0 #endif #ifndef AP_BATTERY_WATT_MAX_ENABLED #define AP_BATTERY_WATT_MAX_ENABLED 0 #endif // disable compass calibrations on periphs; cal is done on the autopilot #ifndef COMPASS_CAL_ENABLED #define COMPASS_CAL_ENABLED 0 #endif #ifndef AP_COMPASS_CALIBRATION_FIXED_YAW_ENABLED #define AP_COMPASS_CALIBRATION_FIXED_YAW_ENABLED 0 #endif #ifndef COMPASS_MOT_ENABLED #define COMPASS_MOT_ENABLED 0 #endif #ifndef COMPASS_LEARN_ENABLED #define COMPASS_LEARN_ENABLED 0 #endif #ifndef HAL_EXTERNAL_AHRS_ENABLED #define HAL_EXTERNAL_AHRS_ENABLED 0 #endif // disable RC_Channels library: #ifndef AP_RC_CHANNEL_ENABLED #define AP_RC_CHANNEL_ENABLED 0 #endif #define HAL_CRSF_TELEM_ENABLED 0 #define AP_GHST_TELEM_ENABLED 0 #ifndef AP_SERVORELAYEVENTS_ENABLED #define AP_SERVORELAYEVENTS_ENABLED 0 #endif #ifndef AP_RELAY_ENABLED #define AP_RELAY_ENABLED 0 #endif /* * sanity checks that hwdefs are up-to-date in terms of how they are * trying to configure the peripheral: */ #ifdef HAL_PERIPH_ENABLE_GPS #error "Change 'define HAL_PERIPH_ENABLE_GPS' to 'define AP_PERIPH_GPS_ENABLED 1'" #endif #ifdef HAL_PERIPH_ENABLE_BATTERY #error "Change 'define HAL_PERIPH_ENABLE_BATTERY' to 'define AP_PERIPH_BATTERY_ENABLED 1'" #endif #ifdef HAL_PERIPH_ENABLE_BATTERY_BALANCE #error "Change 'define HAL_PERIPH_ENABLE_BATTERY_BALANCE' to 'define AP_PERIPH_BATTERY_BALANCE_ENABLED 1'" #endif #ifdef HAL_PERIPH_ENABLE_AHRS #error "Change 'define HAL_PERIPH_ENABLE_AHRS' to 'define AP_PERIPH_AHRS_ENABLED 1'" #endif #ifdef HAL_PERIPH_ENABLE_MAG #error "Change 'define HAL_PERIPH_ENABLE_MAG' to 'define AP_PERIPH_MAG_ENABLED 1'" #endif #ifdef HAL_PERIPH_ENABLE_BARO #error "Change 'define HAL_PERIPH_ENABLE_BARO' to 'define AP_PERIPH_BARO_ENABLED 1'" #endif #ifdef HAL_PERIPH_ENABLE_RANGEFINDER #error "Change 'define HAL_PERIPH_ENABLE_RANGEFINDER' to 'define AP_PERIPH_RANGEFINDER_ENABLED 1'" #endif #ifdef HAL_PERIPH_ENABLE_IMU #error "Change 'define HAL_PERIPH_ENABLE_IMU' to 'define AP_PERIPH_IMU_ENABLED 1'" #endif #ifdef HAL_PERIPH_ENABLE_RTC #error "Change 'define HAL_PERIPH_ENABLE_RTC' to 'define AP_PERIPH_RTC_ENABLED 1'" #endif #ifdef HAL_PERIPH_ENABLE_RCIN #error "Change 'define HAL_PERIPH_ENABLE_RCIN' to 'define AP_PERIPH_RCIN_ENABLED 1'" #endif #ifdef HAL_PERIPH_ENABLE_RPM #error "Change 'define HAL_PERIPH_ENABLE_RPM' to 'define AP_PERIPH_RPM_ENABLED 1'" #endif #ifdef HAL_PERIPH_ENABLE_RPM_STREAM #error "Change 'define HAL_PERIPH_ENABLE_RPM_STREAM' to 'define AP_PERIPH_RPM_STREAM_ENABLED 1'" #endif #ifdef HAL_PERIPH_ENABLE_AIRSPEED #error "Change 'define HAL_PERIPH_ENABLE_AIRSPEED' to 'define AP_PERIPH_AIRSPEED_ENABLED 1'" #endif #ifdef HAL_PERIPH_ENABLE_NETWORKING #error "Change 'define HAL_PERIPH_ENABLE_NETWORKING' to 'define AP_PERIPH_NETWORKING_ENABLED 1'" #endif /* * defaults for various AP_Periph features: */ #ifndef AP_PERIPH_BATTERY_ENABLED #define AP_PERIPH_BATTERY_ENABLED 0 #endif #ifndef AP_PERIPH_BATTERY_BALANCE_ENABLED #define AP_PERIPH_BATTERY_BALANCE_ENABLED 0 #endif #ifndef AP_PERIPH_GPS_ENABLED #define AP_PERIPH_GPS_ENABLED 0 #endif #ifndef AP_PERIPH_AHRS_ENABLED #define AP_PERIPH_AHRS_ENABLED 0 #endif #ifndef AP_PERIPH_MAG_ENABLED #define AP_PERIPH_MAG_ENABLED 0 #endif #ifndef AP_PERIPH_BARO_ENABLED #define AP_PERIPH_BARO_ENABLED 0 #endif #ifndef AP_PERIPH_RANGEFINDER_ENABLED #define AP_PERIPH_RANGEFINDER_ENABLED 0 #endif #ifndef AP_PERIPH_IMU_ENABLED #define AP_PERIPH_IMU_ENABLED 0 #endif #ifndef AP_PERIPH_RTC_ENABLED #define AP_PERIPH_RTC_ENABLED 0 #endif #ifndef AP_PERIPH_RCIN_ENABLED #define AP_PERIPH_RCIN_ENABLED 0 #endif #ifndef AP_PERIPH_RPM_ENABLED #define AP_PERIPH_RPM_ENABLED 0 #endif #ifndef AP_PERIPH_RPM_STREAM_ENABLED #define AP_PERIPH_RPM_STREAM_ENABLED AP_PERIPH_RPM_ENABLED #endif #ifndef AP_PERIPH_AIRSPEED_ENABLED #define AP_PERIPH_AIRSPEED_ENABLED 0 #endif #ifndef AP_PERIPH_NETWORKING_ENABLED #define AP_PERIPH_NETWORKING_ENABLED 0 #endif /* * turning on of ArduPilot features based on which AP_Periph features * are enabled: */ #define AP_BATTERY_ENABLED AP_PERIPH_BATTERY_ENABLED #define AP_GPS_ENABLED AP_PERIPH_GPS_ENABLED #define AP_AHRS_ENABLED AP_PERIPH_AHRS_ENABLED #define AP_COMPASS_ENABLED AP_PERIPH_MAG_ENABLED #define AP_BARO_ENABLED AP_PERIPH_BARO_ENABLED #define AP_RANGEFINDER_ENABLED AP_PERIPH_RANGEFINDER_ENABLED #define AP_INERTIALSENSOR_ENABLED AP_PERIPH_IMU_ENABLED #define AP_INERTIALSENSOR_ALLOW_NO_SENSORS AP_PERIPH_IMU_ENABLED #define AP_RTC_ENABLED AP_PERIPH_RTC_ENABLED #define AP_RCPROTOCOL_ENABLED AP_PERIPH_RCIN_ENABLED #define AP_RPM_ENABLED AP_PERIPH_RPM_ENABLED /* * GPS Backends - we selectively turn backends on. * Note also that f103-GPS explicitly disables some of these backends. */ #define AP_GPS_BACKEND_DEFAULT_ENABLED 0 #ifndef AP_GPS_UBLOX_ENABLED #define AP_GPS_UBLOX_ENABLED AP_PERIPH_GPS_ENABLED #endif #ifndef HAL_MSP_GPS_ENABLED #define HAL_MSP_GPS_ENABLED AP_PERIPH_GPS_ENABLED && HAL_MSP_SENSORS_ENABLED #endif #ifndef AP_GPS_ERB_ENABLED #define AP_GPS_ERB_ENABLED 0 #endif #ifndef AP_GPS_GSOF_ENABLED #define AP_GPS_GSOF_ENABLED AP_PERIPH_GPS_ENABLED #endif #ifndef AP_GPS_NMEA_ENABLED #define AP_GPS_NMEA_ENABLED 0 #endif #ifndef AP_GPS_SBF_ENABLED #define AP_GPS_SBF_ENABLED AP_PERIPH_GPS_ENABLED #endif #ifndef AP_GPS_SBP_ENABLED #define AP_GPS_SBP_ENABLED 0 #endif #ifndef AP_GPS_SBP2_ENABLED #define AP_GPS_SBP2_ENABLED 0 #endif #ifndef AP_GPS_SIRF_ENABLED #define AP_GPS_SIRF_ENABLED 0 #endif #ifndef AP_GPS_MAV_ENABLED #define AP_GPS_MAV_ENABLED 0 #endif #ifndef AP_GPS_NOVA_ENABLED #define AP_GPS_NOVA_ENABLED AP_PERIPH_GPS_ENABLED #endif #ifndef HAL_SIM_GPS_ENABLED #define HAL_SIM_GPS_ENABLED (AP_SIM_ENABLED && AP_GPS_ENABLED) #endif /* * Airspeed Backends - we selectively turn backends *off* */ #ifndef AP_AIRSPEED_ANALOG_ENABLED #define AP_AIRSPEED_ANALOG_ENABLED 0 #endif // disable various rangefinder backends #define AP_RANGEFINDER_ANALOG_ENABLED 0 #define AP_RANGEFINDER_HC_SR04_ENABLED 0 #define AP_RANGEFINDER_PWM_ENABLED 0 // AP_Periph expects ROTATION_NONE #ifndef AP_RANGEFINDER_DEFAULT_ORIENTATION #define AP_RANGEFINDER_DEFAULT_ORIENTATION ROTATION_NONE #endif // no CAN manager in AP_Periph: #define HAL_CANMANAGER_ENABLED 0 // SLCAN is off by default: #ifndef AP_CAN_SLCAN_ENABLED #define AP_CAN_SLCAN_ENABLED 0 #endif // Periphs don't use the FFT library: #ifndef HAL_GYROFFT_ENABLED #define HAL_GYROFFT_ENABLED 0 #endif // MSP parsing is off by default in AP_Periph: #ifndef HAL_MSP_ENABLED #define HAL_MSP_ENABLED 0 #endif // periph does not make use of compass scaling or diagonals #ifndef AP_COMPASS_DIAGONALS_ENABLED #define AP_COMPASS_DIAGONALS_ENABLED 0 #endif // disable various battery monitor backends: #ifndef AP_BATTERY_SYNTHETIC_CURRENT_ENABLED #define AP_BATTERY_SYNTHETIC_CURRENT_ENABLED 0 #endif #ifndef AP_BATT_MONITOR_MAX_INSTANCES #define AP_BATT_MONITOR_MAX_INSTANCES 1 #endif // Capacity tracking off #ifndef AP_BATT_MONITOR_BATTERY_CAPACITY #define AP_BATT_MONITOR_BATTERY_CAPACITY 0 #endif #ifndef RANGEFINDER_MAX_INSTANCES #define RANGEFINDER_MAX_INSTANCES 1 #endif #ifndef HAL_ADSB_ENABLED #define HAL_ADSB_ENABLED 0 #endif #ifndef AP_AIS_ENABLED #define AP_AIS_ENABLED 0 #endif // no fence by default in AP_Periph: #ifndef AP_FENCE_ENABLED #define AP_FENCE_ENABLED 0 #endif // periph does not save temperature cals etc: #ifndef HAL_ENABLE_SAVE_PERSISTENT_PARAMS #define HAL_ENABLE_SAVE_PERSISTENT_PARAMS 0 #endif #ifndef AP_WINCH_ENABLED #define AP_WINCH_ENABLED 0 #endif #ifndef HAL_VISUALODOM_ENABLED #define HAL_VISUALODOM_ENABLED 0 #endif #ifndef AP_VIDEOTX_ENABLED #define AP_VIDEOTX_ENABLED 0 #endif #ifndef AP_FRSKY_TELEM_ENABLED #define AP_FRSKY_TELEM_ENABLED 0 #endif #ifndef HAL_SPEKTRUM_TELEM_ENABLED #define HAL_SPEKTRUM_TELEM_ENABLED 0 #endif #ifndef AP_FILESYSTEM_ROMFS_ENABLED #define AP_FILESYSTEM_ROMFS_ENABLED 0 #endif #ifndef NOTIFY_LED_OVERRIDE_DEFAULT #define NOTIFY_LED_OVERRIDE_DEFAULT 1 // rgb_source_t::mavlink #endif #ifndef HAL_PROXIMITY_ENABLED #define HAL_PROXIMITY_ENABLED 0 #endif #ifndef AP_SCRIPTING_ENABLED #define AP_SCRIPTING_ENABLED 0 #endif #ifndef HAL_SERIAL_ESC_COMM_ENABLED #define HAL_SERIAL_ESC_COMM_ENABLED 0 #endif #ifndef HAL_RCIN_THREAD_ENABLED #define HAL_RCIN_THREAD_ENABLED 0 #endif #ifndef HAL_MONITOR_THREAD_ENABLED #define HAL_MONITOR_THREAD_ENABLED 0 #endif #ifndef HAL_SCHEDULER_LOOP_DELAY_ENABLED #define HAL_SCHEDULER_LOOP_DELAY_ENABLED 0 #endif #ifndef HAL_WITH_ESC_TELEM #define HAL_WITH_ESC_TELEM 0 #endif #ifndef AP_BATTERY_ESC_TELEM_OUTBOUND_ENABLED #define AP_BATTERY_ESC_TELEM_OUTBOUND_ENABLED 0 #endif #define AP_INERTIALSENSOR_HARMONICNOTCH_ENABLED 0 #ifndef AP_RPM_STREAM_ENABLED #define AP_RPM_STREAM_ENABLED AP_PERIPH_RPM_STREAM_ENABLED #endif #ifndef AP_BOOTLOADER_ALWAYS_ERASE #define AP_BOOTLOADER_ALWAYS_ERASE 1 #endif #ifndef GPS_MOVING_BASELINE #define GPS_MOVING_BASELINE 0 #endif #ifndef AP_UART_MONITOR_ENABLED #define AP_UART_MONITOR_ENABLED defined(HAL_PERIPH_ENABLE_SERIAL_OPTIONS) || (AP_PERIPH_GPS_ENABLED && (GPS_MOVING_BASELINE || BOARD_FLASH_SIZE>=256)) #endif #ifndef HAL_BOARD_LOG_DIRECTORY #define HAL_BOARD_LOG_DIRECTORY "/APM/LOGS" #endif #ifndef HAL_BOARD_TERRAIN_DIRECTORY #define HAL_BOARD_TERRAIN_DIRECTORY "/APM/TERRAIN" #endif #ifndef HAL_MAVLINK_BINDINGS_ENABLED #define HAL_MAVLINK_BINDINGS_ENABLED defined(HAL_PERIPH_ENABLE_ADSB) || HAL_GCS_ENABLED #endif // for boards other than AP_Periph we are always expecting delays when // not initialised. We can't afford that on AP_Periph as you may end // up with a bricked node if you write a bad firmware to it. #ifndef AP_HAL_CHIBIOS_IN_EXPECTED_DELAY_WHEN_NOT_INITIALISED #define AP_HAL_CHIBIOS_IN_EXPECTED_DELAY_WHEN_NOT_INITIALISED 0 #endif #ifndef AP_SERIALLED_ENABLED #define AP_SERIALLED_ENABLED 0 #endif #ifndef AP_OPTICALFLOW_ENABLED #define AP_OPTICALFLOW_ENABLED 0 #endif #ifndef HAL_BUTTON_ENABLED #define HAL_BUTTON_ENABLED 0 #endif #ifndef AP_NOTIFY_SCRIPTING_LED_ENABLED #define AP_NOTIFY_SCRIPTING_LED_ENABLED 0 #endif #ifndef AP_PARAM_DYNAMIC_ENABLED #define AP_PARAM_DYNAMIC_ENABLED 0 #endif #ifndef HAL_MOUNT_ENABLED #define HAL_MOUNT_ENABLED 0 #endif #ifndef AP_CAMERA_ENABLED #define AP_CAMERA_ENABLED 0 #endif #ifndef AP_TERRAIN_AVAILABLE #define AP_TERRAIN_AVAILABLE 0 #endif #ifndef AP_ICENGINE_ENABLED #define AP_ICENGINE_ENABLED 0 #endif #ifndef AP_FILTER_ENABLED #define AP_FILTER_ENABLED 0 #endif #ifndef AP_ADVANCEDFAILSAFE_ENABLED #define AP_ADVANCEDFAILSAFE_ENABLED 0 #endif #ifndef AP_ARMING_ENABLED #define AP_ARMING_ENABLED 0 #endif #ifndef AP_LTM_TELEM_ENABLED #define AP_LTM_TELEM_ENABLED 0 #endif #ifndef AP_GRIPPER_ENABLED #define AP_GRIPPER_ENABLED 0 #endif #ifndef HAL_SPRAYER_ENABLED #define HAL_SPRAYER_ENABLED 0 #endif #ifndef AP_VEHICLE_ENABLED #define AP_VEHICLE_ENABLED 0 #endif #ifndef OSD_ENABLED #define OSD_ENABLED 0 #endif #ifndef OSD_PARAM_ENABLED #define OSD_PARAM_ENABLED 0 #endif #ifndef AP_SCHEDULER_ENABLED #define AP_SCHEDULER_ENABLED 0 #endif #ifndef AP_RC_CHANNEL_ENABLED #define AP_RC_CHANNEL_ENABLED 0 #endif #ifndef AP_CUSTOMROTATIONS_ENABLED #define AP_CUSTOMROTATIONS_ENABLED 0 #endif #ifndef AP_QUICKTUNE_ENABLED #define AP_QUICKTUNE_ENABLED 0 #endif #ifndef HAL_OS_POSIX_IO #define HAL_OS_POSIX_IO 0 #endif