mirror of https://github.com/ArduPilot/ardupilot
224 lines
6.1 KiB
Plaintext
224 lines
6.1 KiB
Plaintext
# hardware setup for V2450, based around FMUv3 but no IO MCU and
|
|
# custom config options for ArduCopter
|
|
|
|
# start with fmuv3 base port
|
|
include ../fmuv3/hwdef.dat
|
|
|
|
# remove some unnecessary features inherited from fmuv3
|
|
undef UART8
|
|
undef UART8_TX
|
|
undef UART8_RX
|
|
undef USART3
|
|
undef USART3_TX
|
|
undef USART3_RX
|
|
undef CAN1
|
|
undef CAN1_RX
|
|
undef CAN1_TX
|
|
undef CAN2
|
|
undef CAN2_RX
|
|
undef CAN2_TX
|
|
undef IOMCU_UART
|
|
undef AP_FEATURE_SBUS_OUT
|
|
undef HAL_OS_FATFS_IO
|
|
undef AP_FEATURE_RTSCTS
|
|
undef HAL_WITH_RAMTRON
|
|
undef IOMCU_UART
|
|
undef SDIO
|
|
|
|
# short board name override (13 chars) to match original max length; can't change because name is used for transmitter bind CRC
|
|
define CHIBIOS_SHORT_BOARD_NAME "skyviper-v245"
|
|
|
|
SERIAL_ORDER OTG1 USART2 EMPTY UART4
|
|
|
|
# enable AP_Radio support
|
|
define AP_RADIO_ENABLED 1
|
|
define AP_RADIO_BACKEND_DEFAULT_ENABLED 0
|
|
define AP_RADIO_CC2500_ENABLED 1
|
|
define AP_RADIO_CYRF6936_ENABLED 1
|
|
|
|
define HAL_GPIO_RADIO_RESET 1 // PB0 GPIO from FMU3
|
|
|
|
# setup for radio IRQ on PD15
|
|
undef PD15
|
|
PD15 MPU_DRDY INPUT GPIO(100)
|
|
define HAL_GPIO_RADIO_IRQ 100
|
|
|
|
# setup defines for ArduCopter config
|
|
define TOY_MODE_ENABLED ENABLED
|
|
define ARMING_DELAY_SEC 0
|
|
define LAND_START_ALT 700
|
|
define LAND_DETECTOR_ACCEL_MAX 2.0f
|
|
|
|
# support cypress and cc2500 radios
|
|
SPIDEV cypress SPI2 DEVID11 FRAM_CS MODE0 2*MHZ 2*MHZ
|
|
SPIDEV cc2500 SPI2 DEVID12 FRAM_CS MODE0 4*MHZ 4*MHZ
|
|
SPIDEV pixartflow SPI4 DEVID13 MPU_EXT_CS MODE3 2*MHZ 2*MHZ
|
|
|
|
# SPI2 for the cypress needs exclusive access or we will end up with
|
|
# lost packets
|
|
DMA_PRIORITY SPI2_* SPI* ADC*
|
|
DMA_NOSHARE SPI2_*
|
|
undef PA1
|
|
PA1 UART4_RX UART4 NODMA
|
|
|
|
# use flash storage
|
|
STORAGE_FLASH_PAGE 22
|
|
|
|
# the web UI uses an abin file for firmware uploads
|
|
env BUILD_ABIN True
|
|
|
|
# Disable un-needed hardware drivers
|
|
include ../include/skyviper.inc
|
|
define AP_BEACON_ENABLED 0
|
|
define AP_OPTICALFLOW_ENABLED 0
|
|
define AP_FRSKY_TELEM_ENABLED 0
|
|
define HAL_ADSB_SAGETECH_ENABLED 0
|
|
define HAL_ADSB_UAVIONIX_MAVLINK_ENABLED 0
|
|
define AP_AIS_ENABLED 0
|
|
define AP_BATTERY_BACKEND_DEFAULT_ENABLED 0
|
|
define AP_BATTERY_ANALOG_ENABLED 1
|
|
define HAL_CRSF_TELEM_ENABLED 0
|
|
define HAL_EFI_ENABLED 0
|
|
define HAL_EXTERNAL_AHRS_ENABLED 0
|
|
define HAL_GENERATOR_ENABLED 0
|
|
define HAL_HOTT_TELEM_ENABLED 0
|
|
define HAL_MOUNT_ENABLED 0
|
|
define HAL_MSP_SENSORS_ENABLED 0
|
|
define HAL_NMEA_OUTPUT_ENABLED 0
|
|
define HAL_PARACHUTE_ENABLED 0
|
|
define HAL_PICCOLO_CAN_ENABLE 0
|
|
define HAL_RUNCAM_ENABLED 0
|
|
define AP_SMARTAUDIO_ENABLED 0
|
|
define HAL_SPEKTRUM_TELEM_ENABLED 0
|
|
define HAL_SPRAYER_ENABLED 0
|
|
define HAL_WITH_ESC_TELEM 0
|
|
define AP_LANDINGGEAR_ENABLED 0
|
|
define MODE_TURTLE_ENABLED 0
|
|
define AP_ICENGINE_ENABLED 0
|
|
define HAL_DISPLAY_ENABLED 0
|
|
|
|
# serially-attached actuators aren't relevant on SkyViper:
|
|
define AP_FETTEC_ONEWIRE_ENABLED 0
|
|
define AP_ROBOTISSERVO_ENABLED 0
|
|
define AP_VOLZ_ENABLED 0
|
|
define HAL_SUPPORT_RCOUT_SERIAL 0
|
|
define HAL_TORQEEDO_ENABLED 0
|
|
|
|
# the SkyViper only has a single Baro:
|
|
define AP_BARO_BACKEND_DEFAULT_ENABLED 0
|
|
define AP_BARO_ICM20789_ENABLED 1
|
|
|
|
# SkyViper has only one physical GPS but can also take from mavlink:
|
|
define AP_GPS_BACKEND_DEFAULT_ENABLED 0
|
|
define AP_GPS_UBLOX_ENABLED 1
|
|
define AP_GPS_MAV_ENABLED 1
|
|
define GPS_MOVING_BASELINE 0
|
|
define GPS_MAX_RECEIVERS 1 # removes blended support
|
|
|
|
# enable only the QUAD frame
|
|
define AP_MOTORS_FRAME_DEFAULT_ENABLED 0
|
|
define AP_MOTORS_FRAME_QUAD_ENABLED 1
|
|
|
|
# SkyViper isn't going to sprout new compasses:
|
|
define COMPASS_MAX_SENSORS 1
|
|
define AP_COMPASS_BACKEND_DEFAULT_ENABLED 0
|
|
define AP_COMPASS_BMM150_ENABLED 1
|
|
# avoid trying to detect BMM150 backends; the one compass is
|
|
#specifed as part of PCNC1:
|
|
define AP_COMPASS_BMM150_DETECT_BACKENDS_ENABLED 0
|
|
|
|
define BARO_MAX_INSTANCES 1
|
|
define INS_MAX_INSTANCES 1
|
|
|
|
# SkyViper doesn't have any rangefinder, but might get mavlink?
|
|
define AP_RANGEFINDER_ENABLED 1
|
|
define AP_RANGEFINDER_BACKEND_DEFAULT_ENABLED 0
|
|
define AP_RANGEFINDER_MAVLINK_ENABLED AP_RANGEFINDER_ENABLED
|
|
|
|
# SkyViper doesn't have RPM sensors:
|
|
define AP_RPM_ENABLED 0
|
|
|
|
# SkyViper doesn't have a gripper:
|
|
define AP_GRIPPER_ENABLED 0
|
|
|
|
# SkyViper doesn't have serially-connected LEDs:
|
|
define AP_SERIALLED_ENABLED 0
|
|
|
|
# SkyViper has a very limited set of blinkenlights
|
|
define AP_NOTIFY_NCP5623_ENABLED 0
|
|
define AP_NOTIFY_PCA9685_ENABLED 0
|
|
define AP_NOTIFY_TOSHIBALED_ENABLED 0
|
|
undef AP_NOTIFY_OREOLED_ENABLED
|
|
define AP_NOTIFY_OREOLED_ENABLED 0
|
|
define HAL_MAVLINK_INTERVALS_FROM_FILES_ENABLED 0
|
|
|
|
define AP_INERTIALSENSOR_BATCHSAMPLER_ENABLED 0
|
|
|
|
# SkyViper really doesn't need advanced failsafe features:
|
|
define AP_ADVANCEDFAILSAFE_ENABLED 0
|
|
|
|
// EKF3 features:
|
|
define EK3_FEATURE_EXTERNAL_NAV 0
|
|
define EK3_FEATURE_BODY_ODOM 0
|
|
|
|
// video on SkyViper is via the Sonix
|
|
define AP_VIDEOTX_ENABLED 0
|
|
|
|
// good luck fitting a winch onto SkyViper:
|
|
define AP_WINCH_ENABLED 0
|
|
|
|
define AP_CAMERA_BACKEND_DEFAULT_ENABLED 0
|
|
define AP_CAMERA_MAVLINK_ENABLED 1
|
|
|
|
# SkyViper uses AP_Radio, which does its own RC protocol decoding:
|
|
define AP_RCPROTOCOL_ENABLED 1
|
|
define AP_RCPROTOCOL_BACKEND_DEFAULT_ENABLED 0
|
|
define AP_RCPROTOCOL_RADIO_ENABLED 1
|
|
|
|
// few prelcnad backends are applicable
|
|
define AC_PRECLAND_BACKEND_DEFAULT_ENABLED 0
|
|
define AC_PRECLAND_COMPANION_ENABLED 1
|
|
|
|
// no proximity sensors are applicable:
|
|
define AP_PROXIMITY_BACKEND_DEFAULT_ENABLED 0
|
|
define AP_PROXIMITY_MAV_ENABLED 1
|
|
|
|
# can't fit visual odometry cameras on!
|
|
define AP_VISUALODOM_BACKEND_DEFAULT_ENABLED 0
|
|
define AP_VISUALODOM_MAV_ENABLED 1
|
|
|
|
// no OSD on SkyViper
|
|
define OSD_ENABLED 0
|
|
define OSD_PARAM_ENABLED 0
|
|
|
|
// no MSP:
|
|
define HAL_WITH_MSP_DISPLAYPORT 0
|
|
define HAL_MSP_ENABLED 0
|
|
|
|
// no UCP ADSB sensors:
|
|
define HAL_ADSB_UCP_ENABLED 0
|
|
|
|
// no auxiliary temperature sensors:
|
|
define AP_TEMPERATURE_SENSOR_ENABLED 0
|
|
|
|
// no LTM telemetry
|
|
define AP_LTM_TELEM_ENABLED 0
|
|
|
|
// no buttons on SkyViper:
|
|
define HAL_BUTTON_ENABLED 0
|
|
|
|
// disable scripting on SkyViper (should we enable this?)
|
|
define AP_SCRIPTING_ENABLED 0
|
|
|
|
// SkyViper does not have a second battery....
|
|
define AP_BATT_MONITOR_MAX_INSTANCES 1
|
|
define AP_MAVLINK_BATTERY2_ENABLED 0
|
|
|
|
# SkyViper doesn't use the Plane landing library:
|
|
define HAL_LANDING_DEEPSTALL_ENABLED 0
|
|
|
|
# bootloader embedding / bootloader flashing not available
|
|
define AP_BOOTLOADER_FLASHING_ENABLED 0
|
|
|
|
AUTOBUILD_TARGETS Copter
|