forked from Archive/PX4-Autopilot
px4_fmu-v6X: add CUAV board
This commit is contained in:
parent
0df878bc18
commit
9493008dbb
|
@ -9,6 +9,7 @@ CONFIG_BOARD_SERIAL_TEL3="/dev/ttyS1"
|
||||||
CONFIG_DRIVERS_ADC_BOARD_ADC=y
|
CONFIG_DRIVERS_ADC_BOARD_ADC=y
|
||||||
CONFIG_DRIVERS_BAROMETER_BMP388=y
|
CONFIG_DRIVERS_BAROMETER_BMP388=y
|
||||||
CONFIG_DRIVERS_BAROMETER_MS5611=y
|
CONFIG_DRIVERS_BAROMETER_MS5611=y
|
||||||
|
CONFIG_DRIVERS_BAROMETER_INVENSENSE_ICP201XX=y
|
||||||
CONFIG_DRIVERS_BATT_SMBUS=y
|
CONFIG_DRIVERS_BATT_SMBUS=y
|
||||||
CONFIG_DRIVERS_CAMERA_CAPTURE=y
|
CONFIG_DRIVERS_CAMERA_CAPTURE=y
|
||||||
CONFIG_DRIVERS_CAMERA_TRIGGER=y
|
CONFIG_DRIVERS_CAMERA_TRIGGER=y
|
||||||
|
@ -23,6 +24,7 @@ CONFIG_DRIVERS_IMU_INVENSENSE_ICM20649=y
|
||||||
CONFIG_DRIVERS_IMU_INVENSENSE_ICM20948=y
|
CONFIG_DRIVERS_IMU_INVENSENSE_ICM20948=y
|
||||||
CONFIG_DRIVERS_IMU_INVENSENSE_ICM42670P=y
|
CONFIG_DRIVERS_IMU_INVENSENSE_ICM42670P=y
|
||||||
CONFIG_DRIVERS_IMU_INVENSENSE_ICM42688P=y
|
CONFIG_DRIVERS_IMU_INVENSENSE_ICM42688P=y
|
||||||
|
CONFIG_DRIVERS_MAGNETOMETER_RM3100=y
|
||||||
CONFIG_COMMON_LIGHT=y
|
CONFIG_COMMON_LIGHT=y
|
||||||
CONFIG_COMMON_MAGNETOMETER=y
|
CONFIG_COMMON_MAGNETOMETER=y
|
||||||
CONFIG_COMMON_OPTICAL_FLOW=y
|
CONFIG_COMMON_OPTICAL_FLOW=y
|
||||||
|
|
|
@ -70,19 +70,34 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Internal magnetometer on I2c
|
# Internal magnetometer on I2c
|
||||||
bmm150 -I start
|
if ver hwtypecmp V6X21
|
||||||
|
then
|
||||||
|
rm3100 -I -b 4 start
|
||||||
|
else
|
||||||
|
bmm150 -I start
|
||||||
|
fi
|
||||||
|
|
||||||
# External compass on GPS1/I2C1 (the 3rd external bus): standard Holybro Pixhawk 4 or CUAV V5 GPS/compass puck (with lights, safety button, and buzzer)
|
# External compass on GPS1/I2C1 (the 3rd external bus): standard Holybro Pixhawk 4 or CUAV V5 GPS/compass puck (with lights, safety button, and buzzer)
|
||||||
ist8310 -X -b 1 -R 10 start
|
ist8310 -X -b 1 -R 10 start
|
||||||
|
|
||||||
# Possible internal Baro
|
# Possible internal Baro
|
||||||
bmp388 -I -a 0x77 start
|
if ver hwtypecmp V6X21
|
||||||
|
then
|
||||||
|
icp201xx -I -a 0x64 start
|
||||||
|
else
|
||||||
|
bmp388 -I -a 0x77 start
|
||||||
|
fi
|
||||||
|
|
||||||
if ver hwtypecmp V6X000000 V6X001000
|
if ver hwtypecmp V6X000000 V6X001000
|
||||||
then
|
then
|
||||||
bmp388 -I start
|
bmp388 -I start
|
||||||
else
|
else
|
||||||
bmp388 -X start
|
if ver hwtypecmp V6X21
|
||||||
|
then
|
||||||
|
icp201xx -X start
|
||||||
|
else
|
||||||
|
bmp388 -X start
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Baro on I2C3
|
# Baro on I2C3
|
||||||
|
|
|
@ -129,6 +129,8 @@
|
||||||
|
|
||||||
/* I2C busses */
|
/* I2C busses */
|
||||||
|
|
||||||
|
#define BOARD_MTD_NUM_EEPROM 2 /* MTD: base_eeprom, imu_eeprom*/
|
||||||
|
|
||||||
/* Devices on the onboard buses.
|
/* Devices on the onboard buses.
|
||||||
*
|
*
|
||||||
* Note that these are unshifted addresses.
|
* Note that these are unshifted addresses.
|
||||||
|
@ -213,7 +215,8 @@
|
||||||
#define GPIO_HW_VER_SENSE /* PH3 */ GPIO_ADC3_INP14
|
#define GPIO_HW_VER_SENSE /* PH3 */ GPIO_ADC3_INP14
|
||||||
#define HW_INFO_INIT_PREFIX "V6X"
|
#define HW_INFO_INIT_PREFIX "V6X"
|
||||||
|
|
||||||
#define BOARD_NUM_SPI_CFG_HW_VERSIONS 8 // Rev 0 and Rev 3,4 Sensor sets
|
#define BOARD_NUM_SPI_CFG_HW_VERSIONS 9 // Rev 0 and Rev 3,4 Sensor sets
|
||||||
|
|
||||||
// Base/FMUM
|
// Base/FMUM
|
||||||
#define V6X00 HW_VER_REV(0x0,0x0) // FMUV6X, Rev 0
|
#define V6X00 HW_VER_REV(0x0,0x0) // FMUV6X, Rev 0
|
||||||
#define V6X01 HW_VER_REV(0x0,0x1) // FMUV6X, BMI388 I2C2 Rev 1
|
#define V6X01 HW_VER_REV(0x0,0x1) // FMUV6X, BMI388 I2C2 Rev 1
|
||||||
|
@ -222,6 +225,7 @@
|
||||||
#define V6X10 HW_VER_REV(0x1,0x0) // NO PX4IO, Rev 0
|
#define V6X10 HW_VER_REV(0x1,0x0) // NO PX4IO, Rev 0
|
||||||
#define V6X13 HW_VER_REV(0x1,0x3) // NO PX4IO, Sensor Set Rev 3
|
#define V6X13 HW_VER_REV(0x1,0x3) // NO PX4IO, Sensor Set Rev 3
|
||||||
#define V6X14 HW_VER_REV(0x1,0x4) // NO PX4IO, Sensor Set Rev 4
|
#define V6X14 HW_VER_REV(0x1,0x4) // NO PX4IO, Sensor Set Rev 4
|
||||||
|
#define V6X21 HW_VER_REV(0x2,0x1) // FMUV6X, CUAV Sensor Set
|
||||||
#define V6X40 HW_VER_REV(0x4,0x0) // FMUV6X, HB CM4 base Rev 0
|
#define V6X40 HW_VER_REV(0x4,0x0) // FMUV6X, HB CM4 base Rev 0
|
||||||
#define V6X41 HW_VER_REV(0x4,0x1) // FMUV6X, BMI388 I2C2 HB CM4 base Rev 1
|
#define V6X41 HW_VER_REV(0x4,0x1) // FMUV6X, BMI388 I2C2 HB CM4 base Rev 1
|
||||||
#define V6X43 HW_VER_REV(0x4,0x3) // FMUV6X, Sensor Set HB CM4 base Rev 3
|
#define V6X43 HW_VER_REV(0x4,0x3) // FMUV6X, Sensor Set HB CM4 base Rev 3
|
||||||
|
|
|
@ -154,6 +154,7 @@ static px4_hw_mft_list_entry_t mft_lists[] = {
|
||||||
{V6X13, hw_mft_list_v0610, arraySize(hw_mft_list_v0610)}, // No PX4IO BMP388 moved to I2C2, Sensor Set 3
|
{V6X13, hw_mft_list_v0610, arraySize(hw_mft_list_v0610)}, // No PX4IO BMP388 moved to I2C2, Sensor Set 3
|
||||||
{V6X04, hw_mft_list_v0600, arraySize(hw_mft_list_v0600)}, // BMP388 moved to I2C2, Sensor Set 4
|
{V6X04, hw_mft_list_v0600, arraySize(hw_mft_list_v0600)}, // BMP388 moved to I2C2, Sensor Set 4
|
||||||
{V6X14, hw_mft_list_v0610, arraySize(hw_mft_list_v0610)}, // No PX4IO BMP388 moved to I2C2, Sensor Set 4
|
{V6X14, hw_mft_list_v0610, arraySize(hw_mft_list_v0610)}, // No PX4IO BMP388 moved to I2C2, Sensor Set 4
|
||||||
|
{V6X21, hw_mft_list_v0600, arraySize(hw_mft_list_v0600)},
|
||||||
};
|
};
|
||||||
|
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
|
|
|
@ -84,6 +84,30 @@ constexpr px4_spi_bus_all_hw_t px4_spi_buses_all_hw[BOARD_NUM_SPI_CFG_HW_VERSION
|
||||||
}),
|
}),
|
||||||
}),
|
}),
|
||||||
|
|
||||||
|
initSPIHWVersion(V6X21, {
|
||||||
|
initSPIBus(SPI::Bus::SPI1, {
|
||||||
|
initSPIDevice(DRV_IMU_DEVTYPE_ICM20649, SPI::CS{GPIO::PortI, GPIO::Pin9}, SPI::DRDY{GPIO::PortF, GPIO::Pin2}),
|
||||||
|
}, {GPIO::PortI, GPIO::Pin11}),
|
||||||
|
initSPIBus(SPI::Bus::SPI2, {
|
||||||
|
initSPIDevice(DRV_IMU_DEVTYPE_ICM42688P, SPI::CS{GPIO::PortH, GPIO::Pin5}, SPI::DRDY{GPIO::PortA, GPIO::Pin10}),
|
||||||
|
}, {GPIO::PortF, GPIO::Pin4}),
|
||||||
|
initSPIBus(SPI::Bus::SPI3, {
|
||||||
|
initSPIDevice(DRV_GYR_DEVTYPE_BMI088, SPI::CS{GPIO::PortI, GPIO::Pin8}, SPI::DRDY{GPIO::PortI, GPIO::Pin7}),
|
||||||
|
initSPIDevice(DRV_ACC_DEVTYPE_BMI088, SPI::CS{GPIO::PortI, GPIO::Pin4}),
|
||||||
|
}, {GPIO::PortE, GPIO::Pin7}),
|
||||||
|
// initSPIBus(SPI::Bus::SPI4, {
|
||||||
|
// // no devices
|
||||||
|
// TODO: if enabled, remove GPIO_VDD_3V3_SENSORS4_EN from board_config.h
|
||||||
|
// }, {GPIO::PortG, GPIO::Pin8}),
|
||||||
|
initSPIBus(SPI::Bus::SPI5, {
|
||||||
|
initSPIDevice(SPIDEV_FLASH(0), SPI::CS{GPIO::PortG, GPIO::Pin7})
|
||||||
|
}),
|
||||||
|
initSPIBusExternal(SPI::Bus::SPI6, {
|
||||||
|
initSPIConfigExternal(SPI::CS{GPIO::PortI, GPIO::Pin10}, SPI::DRDY{GPIO::PortD, GPIO::Pin11}),
|
||||||
|
initSPIConfigExternal(SPI::CS{GPIO::PortA, GPIO::Pin15}, SPI::DRDY{GPIO::PortD, GPIO::Pin12}),
|
||||||
|
}),
|
||||||
|
}),
|
||||||
|
|
||||||
initSPIHWVersion(V6X43, {
|
initSPIHWVersion(V6X43, {
|
||||||
initSPIBus(SPI::Bus::SPI1, {
|
initSPIBus(SPI::Bus::SPI1, {
|
||||||
initSPIDevice(DRV_IMU_DEVTYPE_ICM42670P, SPI::CS{GPIO::PortI, GPIO::Pin9}, SPI::DRDY{GPIO::PortF, GPIO::Pin2}),
|
initSPIDevice(DRV_IMU_DEVTYPE_ICM42670P, SPI::CS{GPIO::PortI, GPIO::Pin9}, SPI::DRDY{GPIO::PortF, GPIO::Pin2}),
|
||||||
|
|
Loading…
Reference in New Issue