# 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

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
define 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
