From 6daa579e467339c5a5cb72503d942c795c887800 Mon Sep 17 00:00:00 2001 From: alexklimaj Date: Tue, 19 Oct 2021 10:56:25 -0600 Subject: [PATCH] Add ARK RTK GPS Debug, turn on UART RX DMA --- .vscode/cmake-variants.yaml | 5 +++++ boards/ark/can-rtk-gps/debug.px4board | 6 ++++++ .../ark/can-rtk-gps/nuttx-config/include/board_dma_map.h | 7 +++++-- boards/ark/can-rtk-gps/nuttx-config/nsh/defconfig | 5 +++-- boards/ark/can-rtk-gps/src/init.c | 6 ++++++ 5 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 boards/ark/can-rtk-gps/debug.px4board diff --git a/.vscode/cmake-variants.yaml b/.vscode/cmake-variants.yaml index f81bb58711..4f1544ac6b 100644 --- a/.vscode/cmake-variants.yaml +++ b/.vscode/cmake-variants.yaml @@ -106,6 +106,11 @@ CONFIG: buildType: MinSizeRel settings: CONFIG: ark_can-rtk-gps_default + ark_can-rtk-gps_debug: + short: ark_can-rtk-gps_debug + buildType: MinSizeRel + settings: + CONFIG: ark_can-rtk-gps_debug ark_can-rtk-gps_canbootloader: short: ark_can-rtk-gps_canbootloader buildType: MinSizeRel diff --git a/boards/ark/can-rtk-gps/debug.px4board b/boards/ark/can-rtk-gps/debug.px4board new file mode 100644 index 0000000000..9f93d6cba4 --- /dev/null +++ b/boards/ark/can-rtk-gps/debug.px4board @@ -0,0 +1,6 @@ +CONFIG_BOARD_CONSTRAINED_FLASH=n +CONFIG_BOARD_NO_HELP=n +CONFIG_BOARD_CONSTRAINED_MEMORY=y +CONFIG_SYSTEMCMDS_TOP=y +CONFIG_SYSTEMCMDS_REBOOT=y +CONFIG_SYSTEMCMDS_UORB=y diff --git a/boards/ark/can-rtk-gps/nuttx-config/include/board_dma_map.h b/boards/ark/can-rtk-gps/nuttx-config/include/board_dma_map.h index f6e577b3d5..efa3d824b2 100644 --- a/boards/ark/can-rtk-gps/nuttx-config/include/board_dma_map.h +++ b/boards/ark/can-rtk-gps/nuttx-config/include/board_dma_map.h @@ -39,5 +39,8 @@ // DMA2 Channel/Stream Selections //--------------------------------------------//---------------------------//---------------- -#define DMACHAN_SPI1_RX DMAMAP_SPI1_RX_2 // DMA2, Stream 2, Channel 3 -#define DMACHAN_SPI1_TX DMAMAP_SPI1_TX_1 // DMA2, Stream 5, Channel 3 +#define DMACHAN_SPI1_RX DMAMAP_SPI1_RX_1 // DMA2, Stream 0, Channel 3 +#define DMACHAN_SPI1_TX DMAMAP_SPI1_TX_1 // DMA2, Stream 3, Channel 3 +#define DMACHAN_USART1_RX DMAMAP_USART1_RX_1 // DMA2, Stream 2, Channel 4 +#define DMAMAP_USART1_RX DMAMAP_USART1_RX_1 +//#define DMACHAN_USART1_TX DMAMAP_USART1_TX // DMA2, Stream 7, Channel 4 diff --git a/boards/ark/can-rtk-gps/nuttx-config/nsh/defconfig b/boards/ark/can-rtk-gps/nuttx-config/nsh/defconfig index 9c83b3001e..706ed52544 100644 --- a/boards/ark/can-rtk-gps/nuttx-config/nsh/defconfig +++ b/boards/ark/can-rtk-gps/nuttx-config/nsh/defconfig @@ -150,8 +150,9 @@ CONFIG_STM32_WWDG=y CONFIG_SYSTEM_NSH=y CONFIG_TASK_NAME_SIZE=24 CONFIG_USART1_BAUD=57600 -CONFIG_USART1_RXBUFSIZE=600 -CONFIG_USART1_TXBUFSIZE=1100 +CONFIG_USART1_RXBUFSIZE=2000 +CONFIG_USART1_RXDMA=y +CONFIG_USART1_TXBUFSIZE=2000 CONFIG_USART2_BAUD=57600 CONFIG_USART2_RXBUFSIZE=600 CONFIG_USART2_SERIAL_CONSOLE=y diff --git a/boards/ark/can-rtk-gps/src/init.c b/boards/ark/can-rtk-gps/src/init.c index 527ef71a25..c96094c83d 100644 --- a/boards/ark/can-rtk-gps/src/init.c +++ b/boards/ark/can-rtk-gps/src/init.c @@ -139,6 +139,12 @@ __EXPORT int board_app_initialize(uintptr_t arg) { px4_platform_init(); +#if defined(SERIAL_HAVE_RXDMA) + // set up the serial DMA polling at 1ms intervals for received bytes that have not triggered a DMA event. + static struct hrt_call serial_dma_call; + hrt_call_every(&serial_dma_call, 1000, 1000, (hrt_callout)stm32_serial_dma_poll, NULL); +#endif + #if defined(FLASH_BASED_PARAMS) static sector_descriptor_t params_sector_map[] = { {2, 16 * 1024, 0x08008000},