mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-28 10:46:33 +08:00
durandal rev 1 has bmi088->icm20602
This commit is contained in:
committed by
Daniel Agar
parent
38e7f814d5
commit
76585409fa
@@ -18,6 +18,7 @@ CONFIG_DRIVERS_GPS=y
|
|||||||
CONFIG_DRIVERS_HEATER=y
|
CONFIG_DRIVERS_HEATER=y
|
||||||
CONFIG_DRIVERS_IMU_ANALOG_DEVICES_ADIS16448=y
|
CONFIG_DRIVERS_IMU_ANALOG_DEVICES_ADIS16448=y
|
||||||
CONFIG_DRIVERS_IMU_BOSCH_BMI088=y
|
CONFIG_DRIVERS_IMU_BOSCH_BMI088=y
|
||||||
|
CONFIG_DRIVERS_IMU_INVENSENSE_ICM20602=y
|
||||||
CONFIG_DRIVERS_IMU_INVENSENSE_ICM20689=y
|
CONFIG_DRIVERS_IMU_INVENSENSE_ICM20689=y
|
||||||
CONFIG_DRIVERS_IMU_INVENSENSE_ICM20948=y
|
CONFIG_DRIVERS_IMU_INVENSENSE_ICM20948=y
|
||||||
CONFIG_COMMON_LIGHT=y
|
CONFIG_COMMON_LIGHT=y
|
||||||
|
|||||||
@@ -11,6 +11,18 @@ icm20689 -R 2 -s start
|
|||||||
bmi088 -A -R 2 -s start
|
bmi088 -A -R 2 -s start
|
||||||
bmi088 -G -R 2 -s start
|
bmi088 -G -R 2 -s start
|
||||||
|
|
||||||
|
if ver hwtypecmp VD00
|
||||||
|
then
|
||||||
|
# Internal SPI BMI088
|
||||||
|
bmi088 -A -R 2 -s start
|
||||||
|
bmi088 -G -R 2 -s start
|
||||||
|
fi
|
||||||
|
if ver hwtypecmp VD01
|
||||||
|
then
|
||||||
|
# Internal SPI ICM-20602
|
||||||
|
icm20602 -R 2 -s start
|
||||||
|
fi
|
||||||
|
|
||||||
# internal compass
|
# internal compass
|
||||||
ist8310 -I -R 10 start
|
ist8310 -I -R 10 start
|
||||||
|
|
||||||
|
|||||||
@@ -162,6 +162,11 @@
|
|||||||
#define HW_INFO_INIT_VER 2
|
#define HW_INFO_INIT_VER 2
|
||||||
#define HW_INFO_INIT_REV 3
|
#define HW_INFO_INIT_REV 3
|
||||||
|
|
||||||
|
#define BOARD_NUM_SPI_CFG_HW_VERSIONS 2
|
||||||
|
|
||||||
|
#define VD00 HW_VER_REV(0x0,0x0) // Durandal, Ver 0 Rev 0
|
||||||
|
#define VD01 HW_VER_REV(0x0,0x1) // Durandal, Ver 0 Rev 1
|
||||||
|
|
||||||
/* CAN Silence
|
/* CAN Silence
|
||||||
*
|
*
|
||||||
* Silent mode control \ ESC Mux select
|
* Silent mode control \ ESC Mux select
|
||||||
|
|||||||
@@ -82,7 +82,9 @@ static const px4_hw_mft_item_t hw_mft_list_durandal[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static px4_hw_mft_list_entry_t mft_lists[] = {
|
static px4_hw_mft_list_entry_t mft_lists[] = {
|
||||||
{0x0000, hw_mft_list_durandal, arraySize(hw_mft_list_durandal)},
|
// ver_rev
|
||||||
|
{VD00, hw_mft_list_durandal, arraySize(hw_mft_list_durandal)},
|
||||||
|
{VD01, hw_mft_list_durandal, arraySize(hw_mft_list_durandal)},
|
||||||
};
|
};
|
||||||
|
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
*
|
*
|
||||||
* Copyright (C) 2020 PX4 Development Team. All rights reserved.
|
* Copyright (C) 2020, 2021 PX4 Development Team. All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions
|
* modification, are permitted provided that the following conditions
|
||||||
@@ -35,28 +35,52 @@
|
|||||||
#include <drivers/drv_sensor.h>
|
#include <drivers/drv_sensor.h>
|
||||||
#include <nuttx/spi/spi.h>
|
#include <nuttx/spi/spi.h>
|
||||||
|
|
||||||
constexpr px4_spi_bus_t px4_spi_buses[SPI_BUS_MAX_BUS_ITEMS] = {
|
constexpr px4_spi_bus_all_hw_t px4_spi_buses_all_hw[BOARD_NUM_SPI_CFG_HW_VERSIONS] = {
|
||||||
initSPIBus(SPI::Bus::SPI1, {
|
initSPIHWVersion(HW_VER_REV(0, 0), {
|
||||||
initSPIDevice(DRV_IMU_DEVTYPE_ICM20689, SPI::CS{GPIO::PortF, GPIO::Pin2}, SPI::DRDY{GPIO::PortB, GPIO::Pin4}),
|
initSPIBus(SPI::Bus::SPI1, {
|
||||||
initSPIDevice(DRV_GYR_DEVTYPE_BMI088, SPI::CS{GPIO::PortF, GPIO::Pin4}, SPI::DRDY{GPIO::PortB, GPIO::Pin14}),
|
initSPIDevice(DRV_IMU_DEVTYPE_ICM20689, SPI::CS{GPIO::PortF, GPIO::Pin2}, SPI::DRDY{GPIO::PortB, GPIO::Pin4}),
|
||||||
initSPIDevice(DRV_ACC_DEVTYPE_BMI088, SPI::CS{GPIO::PortG, GPIO::Pin10}, SPI::DRDY{GPIO::PortB, GPIO::Pin15}),
|
initSPIDevice(DRV_GYR_DEVTYPE_BMI088, SPI::CS{GPIO::PortF, GPIO::Pin4}, SPI::DRDY{GPIO::PortB, GPIO::Pin14}),
|
||||||
initSPIDevice(DRV_DEVTYPE_UNUSED, SPI::CS{GPIO::PortH, GPIO::Pin5}),
|
initSPIDevice(DRV_ACC_DEVTYPE_BMI088, SPI::CS{GPIO::PortG, GPIO::Pin10}, SPI::DRDY{GPIO::PortB, GPIO::Pin15}),
|
||||||
}, {GPIO::PortE, GPIO::Pin3}),
|
initSPIDevice(DRV_DEVTYPE_UNUSED, SPI::CS{GPIO::PortH, GPIO::Pin5}),
|
||||||
initSPIBus(SPI::Bus::SPI2, {
|
}, {GPIO::PortE, GPIO::Pin3}),
|
||||||
initSPIDevice(SPIDEV_FLASH(0), SPI::CS{GPIO::PortF, GPIO::Pin5})
|
initSPIBus(SPI::Bus::SPI2, {
|
||||||
|
initSPIDevice(SPIDEV_FLASH(0), SPI::CS{GPIO::PortF, GPIO::Pin5})
|
||||||
|
}),
|
||||||
|
initSPIBus(SPI::Bus::SPI4, {
|
||||||
|
initSPIDevice(DRV_BARO_DEVTYPE_MS5611, SPI::CS{GPIO::PortF, GPIO::Pin10}),
|
||||||
|
}),
|
||||||
|
initSPIBusExternal(SPI::Bus::SPI5, {
|
||||||
|
initSPIConfigExternal(SPI::CS{GPIO::PortI, GPIO::Pin4}),
|
||||||
|
initSPIConfigExternal(SPI::CS{GPIO::PortI, GPIO::Pin10}),
|
||||||
|
}),
|
||||||
|
initSPIBusExternal(SPI::Bus::SPI6, {
|
||||||
|
initSPIConfigExternal(SPI::CS{GPIO::PortI, GPIO::Pin6}),
|
||||||
|
initSPIConfigExternal(SPI::CS{GPIO::PortI, GPIO::Pin7}),
|
||||||
|
initSPIConfigExternal(SPI::CS{GPIO::PortI, GPIO::Pin8})
|
||||||
|
}),
|
||||||
}),
|
}),
|
||||||
initSPIBus(SPI::Bus::SPI4, {
|
initSPIHWVersion(HW_VER_REV(0, 1), {
|
||||||
initSPIDevice(DRV_BARO_DEVTYPE_MS5611, SPI::CS{GPIO::PortF, GPIO::Pin10}),
|
initSPIBus(SPI::Bus::SPI1, {
|
||||||
}),
|
initSPIDevice(DRV_IMU_DEVTYPE_ICM20689, SPI::CS{GPIO::PortF, GPIO::Pin2}, SPI::DRDY{GPIO::PortB, GPIO::Pin4}),
|
||||||
initSPIBusExternal(SPI::Bus::SPI5, {
|
initSPIDevice(DRV_IMU_DEVTYPE_ICM20602, SPI::CS{GPIO::PortF, GPIO::Pin4}, SPI::DRDY{GPIO::PortB, GPIO::Pin14}),
|
||||||
initSPIConfigExternal(SPI::CS{GPIO::PortI, GPIO::Pin4}),
|
initSPIDevice(DRV_DEVTYPE_UNUSED, SPI::CS{GPIO::PortH, GPIO::Pin5}),
|
||||||
initSPIConfigExternal(SPI::CS{GPIO::PortI, GPIO::Pin10}),
|
}, {GPIO::PortE, GPIO::Pin3}),
|
||||||
}),
|
initSPIBus(SPI::Bus::SPI2, {
|
||||||
initSPIBusExternal(SPI::Bus::SPI6, {
|
initSPIDevice(SPIDEV_FLASH(0), SPI::CS{GPIO::PortF, GPIO::Pin5})
|
||||||
initSPIConfigExternal(SPI::CS{GPIO::PortI, GPIO::Pin6}),
|
}),
|
||||||
initSPIConfigExternal(SPI::CS{GPIO::PortI, GPIO::Pin7}),
|
initSPIBus(SPI::Bus::SPI4, {
|
||||||
initSPIConfigExternal(SPI::CS{GPIO::PortI, GPIO::Pin8})
|
initSPIDevice(DRV_BARO_DEVTYPE_MS5611, SPI::CS{GPIO::PortF, GPIO::Pin10}),
|
||||||
|
}),
|
||||||
|
initSPIBusExternal(SPI::Bus::SPI5, {
|
||||||
|
initSPIConfigExternal(SPI::CS{GPIO::PortI, GPIO::Pin4}),
|
||||||
|
initSPIConfigExternal(SPI::CS{GPIO::PortI, GPIO::Pin10}),
|
||||||
|
}),
|
||||||
|
initSPIBusExternal(SPI::Bus::SPI6, {
|
||||||
|
initSPIConfigExternal(SPI::CS{GPIO::PortI, GPIO::Pin6}),
|
||||||
|
initSPIConfigExternal(SPI::CS{GPIO::PortI, GPIO::Pin7}),
|
||||||
|
initSPIConfigExternal(SPI::CS{GPIO::PortI, GPIO::Pin8})
|
||||||
|
}),
|
||||||
}),
|
}),
|
||||||
};
|
};
|
||||||
|
|
||||||
static constexpr bool unused = validateSPIConfig(px4_spi_buses);
|
static constexpr bool unused = validateSPIConfig(px4_spi_buses_all_hw);
|
||||||
|
|||||||
Reference in New Issue
Block a user