ardupilot/libraries/AP_HAL_ChibiOS/hwdef/skyviper-v2450/hwdef.dat

212 lines
5.6 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
undef HAL_BOARD_LOG_DIRECTORY
undef HAL_BOARD_TERRAIN_DIRECTORY
# 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 HAL_RCINPUT_WITH_AP_RADIO 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
env DEFAULT_PARAMETERS 'Tools/Frame_params/SkyViper-2450GPS/defaults.parm'
# the web UI uses an abin file for firmware uploads
env BUILD_ABIN True
# Disable un-needed hardware drivers
define AP_AIRSPEED_ENABLED 0
define AP_BEACON_ENABLED 0
define AP_OPTICALFLOW_ENABLED 0
define AP_FRSKY_TELEM_ENABLED 0
define AP_BEACON_ENABLED 0
define GPS_MOVING_BASELINE 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
# 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_BACKEND_DEFAULT_ENABLED 0
define AP_RANGEFINDER_MAVLINK_ENABLED 1
# 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 0
// 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
AUTOBUILD_TARGETS Copter