diff --git a/boards/ark/fmu-v6x/default.px4board b/boards/ark/fmu-v6x/default.px4board index a3e46c21c0a..4a6af4f6d8b 100644 --- a/boards/ark/fmu-v6x/default.px4board +++ b/boards/ark/fmu-v6x/default.px4board @@ -17,6 +17,7 @@ CONFIG_COMMON_DISTANCE_SENSOR=y CONFIG_DRIVERS_DSHOT=y CONFIG_DRIVERS_GPS=y CONFIG_DRIVERS_HEATER=y +CONFIG_DRIVERS_IMU_ANALOG_DEVICES_ADIS16507=y CONFIG_DRIVERS_IMU_INVENSENSE_ICM42688P=y CONFIG_DRIVERS_IMU_INVENSENSE_IIM42652=y CONFIG_COMMON_LIGHT=y diff --git a/boards/ark/fmu-v6x/src/board_config.h b/boards/ark/fmu-v6x/src/board_config.h index 752caf497ed..1317d426680 100644 --- a/boards/ark/fmu-v6x/src/board_config.h +++ b/boards/ark/fmu-v6x/src/board_config.h @@ -125,6 +125,7 @@ /* SPI */ #define SPI6_nRESET_EXTERNAL1 /* PF10 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTF|GPIO_PIN10) +#define SPI6_RESET(on_true) px4_arch_gpiowrite(SPI6_nRESET_EXTERNAL1, !(on_true)) /* I2C busses */ @@ -309,7 +310,6 @@ #define VDD_3V3_SD_CARD_EN(on_true) px4_arch_gpiowrite(GPIO_VDD_3V3_SD_CARD_EN, (on_true)) #define VDD_3V3_ETH_POWER_EN(on_true) px4_arch_gpiowrite(GPIO_ETH_POWER_EN, (on_true)) - /* Tone alarm output */ #define TONE_ALARM_TIMER 14 /* Timer 14 */ diff --git a/boards/ark/fmu-v6x/src/init.c b/boards/ark/fmu-v6x/src/init.c index fddc066d1e3..56c94f805b1 100644 --- a/boards/ark/fmu-v6x/src/init.c +++ b/boards/ark/fmu-v6x/src/init.c @@ -110,6 +110,7 @@ __EXPORT void board_peripheral_reset(int ms) VDD_5V_PERIPH_EN(false); board_control_spi_sensors_power(false, 0xffff); VDD_3V3_SENSORS4_EN(false); + SPI6_RESET(true); bool last = READ_VDD_3V3_SPEKTRUM_POWER_EN(); /* Keep Spektum on to discharge rail*/ @@ -128,6 +129,8 @@ __EXPORT void board_peripheral_reset(int ms) VDD_5V_HIPOWER_EN(true); VDD_5V_PERIPH_EN(true); + /* Release SPI6 Reset */ + SPI6_RESET(false); } /************************************************************************************ @@ -217,6 +220,8 @@ __EXPORT int board_app_initialize(uintptr_t arg) VDD_3V3_SENSORS4_EN(true); VDD_3V3_SPEKTRUM_POWER_EN(true); + SPI6_RESET(false); + /* Need hrt running before using the ADC */ px4_platform_init();