diff --git a/boards/holybro/durandal-v1/default.cmake b/boards/holybro/durandal-v1/default.cmake index 2cc2b2a474..5768c047aa 100644 --- a/boards/holybro/durandal-v1/default.cmake +++ b/boards/holybro/durandal-v1/default.cmake @@ -32,8 +32,8 @@ px4_add_board( imu/adis16477 imu/adis16497 imu/bmi088 + imu/invensense/icm20689 imu/mpu6000 - imu/mpu9250 irlock lights/blinkm lights/rgbled diff --git a/boards/holybro/durandal-v1/init/rc.board_sensors b/boards/holybro/durandal-v1/init/rc.board_sensors index 1dea448b97..c242d8e432 100644 --- a/boards/holybro/durandal-v1/init/rc.board_sensors +++ b/boards/holybro/durandal-v1/init/rc.board_sensors @@ -6,6 +6,7 @@ adc start # Internal SPI bus ICM-20689 mpu6000 -R 8 -s -T 20689 start +#icm20689 -R 2 -s start # Internal SPI bus BMI088 accel bmi088 -A -R 10 -s start diff --git a/boards/holybro/durandal-v1/nuttx-config/include/board.h b/boards/holybro/durandal-v1/nuttx-config/include/board.h index 1ba4cc3ff8..5cdcf21349 100644 --- a/boards/holybro/durandal-v1/nuttx-config/include/board.h +++ b/boards/holybro/durandal-v1/nuttx-config/include/board.h @@ -39,6 +39,8 @@ * Included Files ************************************************************************************/ +#include "board_dma_map.h" + #include #ifndef __ASSEMBLY__ @@ -372,11 +374,6 @@ #define GPIO_UART8_RX GPIO_UART8_RX_1 /* PE0 */ #define GPIO_UART8_TX GPIO_UART8_TX_1 /* PE1 */ -/* UART RX DMA configurations */ - -#define DMAMAP_UART8_RX DMAMAP_DMA12_UART8RX_0 /* DMA1:81 */ -#define DMAMAP_UART8_TX DMAMAP_DMA12_UART8TX_0 /* DMA1:82 */ - /* CAN * * CAN1 is routed to transceiver. diff --git a/boards/holybro/durandal-v1/nuttx-config/include/board_dma_map.h b/boards/holybro/durandal-v1/nuttx-config/include/board_dma_map.h new file mode 100644 index 0000000000..9af52490b9 --- /dev/null +++ b/boards/holybro/durandal-v1/nuttx-config/include/board_dma_map.h @@ -0,0 +1,40 @@ +/**************************************************************************** + * + * Copyright (c) 2020 PX4 Development Team. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name PX4 nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************/ + +#pragma once + +#define DMAMAP_SPI1_RX DMAMAP_DMA12_SPI1RX_0 /* DMA1:37 */ +#define DMAMAP_SPI1_TX DMAMAP_DMA12_SPI1TX_0 /* DMA1:38 */ + +#define DMAMAP_UART8_RX DMAMAP_DMA12_UART8RX_0 /* DMA1:81 */ +#define DMAMAP_UART8_TX DMAMAP_DMA12_UART8TX_0 /* DMA1:82 */ diff --git a/boards/holybro/durandal-v1/nuttx-config/nsh/defconfig b/boards/holybro/durandal-v1/nuttx-config/nsh/defconfig index 3f6a508b92..d25805835a 100644 --- a/boards/holybro/durandal-v1/nuttx-config/nsh/defconfig +++ b/boards/holybro/durandal-v1/nuttx-config/nsh/defconfig @@ -190,10 +190,14 @@ CONFIG_STM32H7_SDMMC1=y CONFIG_STM32H7_SERIALBRK_BSDCOMPAT=y CONFIG_STM32H7_SERIAL_DISABLE_REORDERING=y CONFIG_STM32H7_SPI1=y +CONFIG_STM32H7_SPI1_DMA=y +CONFIG_STM32H7_SPI1_DMA_BUFFER=1024 CONFIG_STM32H7_SPI2=y CONFIG_STM32H7_SPI4=y CONFIG_STM32H7_SPI5=y CONFIG_STM32H7_SPI6=y +CONFIG_STM32H7_SPI_DMA=y +CONFIG_STM32H7_SPI_DMATHRESHOLD=8 CONFIG_STM32H7_TIM1=y CONFIG_STM32H7_TIM3=y CONFIG_STM32H7_TIM4=y @@ -215,7 +219,6 @@ CONFIG_TIME_EXTENDED=y CONFIG_TTY_SIGINT=y CONFIG_TTY_SIGSTP=y CONFIG_UART4_BAUD=57600 -CONFIG_UART4_DMA=y CONFIG_UART4_RXBUFSIZE=600 CONFIG_UART4_TXBUFSIZE=1500 CONFIG_UART7_BAUD=57600 @@ -223,27 +226,22 @@ CONFIG_UART7_RXBUFSIZE=600 CONFIG_UART7_SERIAL_CONSOLE=y CONFIG_UART7_TXBUFSIZE=1500 CONFIG_UART8_BAUD=57600 -CONFIG_UART8_DMA=y CONFIG_UART8_RXBUFSIZE=600 CONFIG_UART8_TXBUFSIZE=1500 CONFIG_USART1_BAUD=57600 -CONFIG_USART1_DMA=y CONFIG_USART1_RXBUFSIZE=600 CONFIG_USART1_TXBUFSIZE=1500 CONFIG_USART2_BAUD=57600 -CONFIG_USART2_DMA=y CONFIG_USART2_IFLOWCONTROL=y CONFIG_USART2_OFLOWCONTROL=y CONFIG_USART2_RXBUFSIZE=600 CONFIG_USART2_TXBUFSIZE=1500 CONFIG_USART3_BAUD=57600 -CONFIG_USART3_DMA=y CONFIG_USART3_IFLOWCONTROL=y CONFIG_USART3_OFLOWCONTROL=y CONFIG_USART3_RXBUFSIZE=600 CONFIG_USART3_TXBUFSIZE=3000 CONFIG_USART6_BAUD=57600 -CONFIG_USART6_DMA=y CONFIG_USART6_RXBUFSIZE=600 CONFIG_USART6_TXBUFSIZE=1500 CONFIG_USBDEV=y diff --git a/boards/holybro/durandal-v1/nuttx-config/stackcheck/defconfig b/boards/holybro/durandal-v1/nuttx-config/stackcheck/defconfig index 5ba3b7de0b..758842d68f 100644 --- a/boards/holybro/durandal-v1/nuttx-config/stackcheck/defconfig +++ b/boards/holybro/durandal-v1/nuttx-config/stackcheck/defconfig @@ -191,10 +191,14 @@ CONFIG_STM32H7_SDMMC1=y CONFIG_STM32H7_SERIALBRK_BSDCOMPAT=y CONFIG_STM32H7_SERIAL_DISABLE_REORDERING=y CONFIG_STM32H7_SPI1=y +CONFIG_STM32H7_SPI1_DMA=y +CONFIG_STM32H7_SPI1_DMA_BUFFER=1024 CONFIG_STM32H7_SPI2=y CONFIG_STM32H7_SPI4=y CONFIG_STM32H7_SPI5=y CONFIG_STM32H7_SPI6=y +CONFIG_STM32H7_SPI_DMA=y +CONFIG_STM32H7_SPI_DMATHRESHOLD=8 CONFIG_STM32H7_TIM1=y CONFIG_STM32H7_TIM3=y CONFIG_STM32H7_TIM4=y @@ -216,7 +220,6 @@ CONFIG_TIME_EXTENDED=y CONFIG_TTY_SIGINT=y CONFIG_TTY_SIGSTP=y CONFIG_UART4_BAUD=57600 -CONFIG_UART4_DMA=y CONFIG_UART4_RXBUFSIZE=600 CONFIG_UART4_TXBUFSIZE=1500 CONFIG_UART7_BAUD=57600 @@ -224,27 +227,22 @@ CONFIG_UART7_RXBUFSIZE=600 CONFIG_UART7_SERIAL_CONSOLE=y CONFIG_UART7_TXBUFSIZE=1500 CONFIG_UART8_BAUD=57600 -CONFIG_UART8_DMA=y CONFIG_UART8_RXBUFSIZE=600 CONFIG_UART8_TXBUFSIZE=1500 CONFIG_USART1_BAUD=57600 -CONFIG_USART1_DMA=y CONFIG_USART1_RXBUFSIZE=600 CONFIG_USART1_TXBUFSIZE=1500 CONFIG_USART2_BAUD=57600 -CONFIG_USART2_DMA=y CONFIG_USART2_IFLOWCONTROL=y CONFIG_USART2_OFLOWCONTROL=y CONFIG_USART2_RXBUFSIZE=600 CONFIG_USART2_TXBUFSIZE=1500 CONFIG_USART3_BAUD=57600 -CONFIG_USART3_DMA=y CONFIG_USART3_IFLOWCONTROL=y CONFIG_USART3_OFLOWCONTROL=y CONFIG_USART3_RXBUFSIZE=600 CONFIG_USART3_TXBUFSIZE=3000 CONFIG_USART6_BAUD=57600 -CONFIG_USART6_DMA=y CONFIG_USART6_RXBUFSIZE=600 CONFIG_USART6_TXBUFSIZE=1500 CONFIG_USBDEV=y diff --git a/boards/holybro/durandal-v1/stackcheck.cmake b/boards/holybro/durandal-v1/stackcheck.cmake index 035536c4be..852d67888c 100644 --- a/boards/holybro/durandal-v1/stackcheck.cmake +++ b/boards/holybro/durandal-v1/stackcheck.cmake @@ -33,8 +33,8 @@ px4_add_board( #imu/adis16477 #imu/adis16497 imu/bmi088 - imu/mpu6000 - #imu/mpu9250 + #imu/invensense/icm20689 + #imu/mpu6000 #irlock #lights/blinkm #lights/rgbled diff --git a/platforms/nuttx/NuttX/nuttx b/platforms/nuttx/NuttX/nuttx index b902d4ca3d..09f0aee352 160000 --- a/platforms/nuttx/NuttX/nuttx +++ b/platforms/nuttx/NuttX/nuttx @@ -1 +1 @@ -Subproject commit b902d4ca3d79ffbd5148670cb13bfeef7d917555 +Subproject commit 09f0aee3520ae69eb57aa9e7f41e9d17dc3a9045