-
Notifications
You must be signed in to change notification settings - Fork 13.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
19 changed files
with
1,663 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
CONFIG_BOARD_TOOLCHAIN="arm-none-eabi" | ||
CONFIG_BOARD_ARCHITECTURE="cortex-m4" | ||
CONFIG_BOARD_ROMFSROOT="" | ||
CONFIG_BOARD_CONSTRAINED_MEMORY=y | ||
CONFIG_DRIVERS_BOOTLOADERS=y |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
CONFIG_BOARD_TOOLCHAIN="arm-none-eabi" | ||
CONFIG_BOARD_ARCHITECTURE="cortex-m4" | ||
CONFIG_BOARD_ROMFSROOT="cannode" | ||
CONFIG_BOARD_CONSTRAINED_FLASH=y | ||
CONFIG_BOARD_NO_HELP=y | ||
CONFIG_BOARD_CONSTRAINED_MEMORY=y | ||
CONFIG_DRIVERS_BOOTLOADERS=y | ||
CONFIG_DRIVERS_DISTANCE_SENSOR_BROADCOM_AFBRS50=y | ||
CONFIG_DRIVERS_IMU_BOSCH_BMI088=y | ||
CONFIG_DRIVERS_IMU_INVENSENSE_ICM42688P=y | ||
CONFIG_DRIVERS_IMU_INVENSENSE_IIM42652=y | ||
CONFIG_DRIVERS_OPTICAL_FLOW_PAA3905=y | ||
CONFIG_BOARD_UAVCAN_INTERFACES=1 | ||
CONFIG_DRIVERS_UAVCANNODE=y | ||
CONFIG_UAVCANNODE_FLOW_MEASUREMENT=y | ||
CONFIG_UAVCANNODE_RANGE_SENSOR_MEASUREMENT=y | ||
CONFIG_MODULES_GYRO_CALIBRATION=y | ||
CONFIG_MODULES_SENSORS=y | ||
# CONFIG_SENSORS_VEHICLE_AIRSPEED is not set | ||
# CONFIG_SENSORS_VEHICLE_AIR_DATA is not set | ||
# CONFIG_SENSORS_VEHICLE_ACCELERATION is not set | ||
# CONFIG_SENSORS_VEHICLE_GPS_POSITION is not set | ||
# CONFIG_SENSORS_VEHICLE_MAGNETOMETER is not set | ||
CONFIG_SYSTEMCMDS_PARAM=y | ||
CONFIG_SYSTEMCMDS_PERF=y | ||
CONFIG_SYSTEMCMDS_REBOOT=y | ||
CONFIG_SYSTEMCMDS_TOP=y | ||
CONFIG_SYSTEMCMDS_TOPIC_LISTENER=y | ||
CONFIG_SYSTEMCMDS_UORB=y | ||
CONFIG_SYSTEMCMDS_VER=y | ||
CONFIG_SYSTEMCMDS_WORK_QUEUE=y |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
{ | ||
"board_id": 87, | ||
"magic": "PX4FWv1", | ||
"description": "Firmware for the Holybro H-Flow board", | ||
"image": "", | ||
"build_time": 0, | ||
"summary": "Holybro-H-Flow", | ||
"version": "0.1", | ||
"image_size": 0, | ||
"image_maxsize": 2080768, | ||
"git_identity": "", | ||
"board_revision": 0 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
#!/bin/sh | ||
# | ||
# board sensors init | ||
#------------------------------------------------------------------------------ | ||
|
||
param set-default IMU_GYRO_RATEMAX 1000 | ||
param set-default SENS_IMU_CLPNOTI 0 | ||
|
||
# SPI 1 | ||
icm42688p -R 0 -s start | ||
|
||
# SPI 2 | ||
paa3905 -s start -Y 180 | ||
|
||
# SPI 3 | ||
afbrs50 start |
56 changes: 56 additions & 0 deletions
56
boards/holybro/h-flow/nuttx-config/canbootloader/defconfig
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
# | ||
# This file is autogenerated: PLEASE DO NOT EDIT IT. | ||
# | ||
# You can use "make menuconfig" to make any modifications to the installed .config file. | ||
# You can then do "make savedefconfig" to generate a new defconfig file that includes your | ||
# modifications. | ||
# | ||
CONFIG_ARCH="arm" | ||
CONFIG_ARCH_BOARD_CUSTOM=y | ||
CONFIG_ARCH_BOARD_CUSTOM_DIR="../../../../boards/holybro/h-flow/nuttx-config" | ||
CONFIG_ARCH_BOARD_CUSTOM_DIR_RELPATH=y | ||
CONFIG_ARCH_BOARD_CUSTOM_NAME="px4" | ||
CONFIG_ARCH_CHIP="stm32" | ||
CONFIG_ARCH_CHIP_STM32=y | ||
CONFIG_ARCH_CHIP_STM32F412CE=y | ||
CONFIG_ARCH_INTERRUPTSTACK=4096 | ||
CONFIG_ARMV7M_MEMCPY=y | ||
CONFIG_ARMV7M_USEBASEPRI=y | ||
CONFIG_BINFMT_DISABLE=y | ||
CONFIG_BOARDCTL=y | ||
CONFIG_BOARD_LOOPSPERMSEC=16717 | ||
CONFIG_DEBUG_FULLOPT=y | ||
CONFIG_DEBUG_SYMBOLS=y | ||
CONFIG_DEBUG_TCBINFO=y | ||
CONFIG_DEFAULT_SMALL=y | ||
CONFIG_DISABLE_MOUNTPOINT=y | ||
CONFIG_EXPERIMENTAL=y | ||
CONFIG_FDCLONE_DISABLE=y | ||
CONFIG_FDCLONE_STDIO=y | ||
CONFIG_HAVE_CXX=y | ||
CONFIG_HAVE_CXXINITIALIZE=y | ||
CONFIG_IDLETHREAD_STACKSIZE=4096 | ||
CONFIG_INIT_STACKSIZE=4096 | ||
CONFIG_LIBC_FLOATINGPOINT=y | ||
CONFIG_LIBC_LONG_LONG=y | ||
CONFIG_LIBC_STRERROR=y | ||
CONFIG_MM_REGIONS=2 | ||
CONFIG_NAME_MAX=0 | ||
CONFIG_NUNGET_CHARS=0 | ||
CONFIG_PREALLOC_TIMERS=0 | ||
CONFIG_PTHREAD_STACK_MIN=512 | ||
CONFIG_RAM_SIZE=262144 | ||
CONFIG_RAM_START=0x20010000 | ||
CONFIG_RAW_BINARY=y | ||
CONFIG_SIG_DEFAULT=y | ||
CONFIG_SIG_SIGALRM_ACTION=y | ||
CONFIG_SIG_SIGUSR1_ACTION=y | ||
CONFIG_SIG_SIGUSR2_ACTION=y | ||
CONFIG_STACK_COLORATION=y | ||
CONFIG_START_DAY=30 | ||
CONFIG_START_MONTH=11 | ||
CONFIG_STDIO_DISABLE_BUFFERING=y | ||
CONFIG_STM32_NOEXT_VECTORS=y | ||
CONFIG_STM32_TIM8=y | ||
CONFIG_TASK_NAME_SIZE=0 | ||
CONFIG_USEC_PER_TICK=1000 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,146 @@ | ||
/************************************************************************************ | ||
* configs/px4fmu/include/board.h | ||
* include/arch/board/board.h | ||
* | ||
* Copyright (C) 2009 Gregory Nutt. All rights reserved. | ||
* Author: Gregory Nutt <[email protected]> | ||
* | ||
* 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 NuttX 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. | ||
* | ||
************************************************************************************/ | ||
#include "board_dma_map.h" | ||
|
||
#ifndef __ARCH_BOARD_BOARD_H | ||
#define __ARCH_BOARD_BOARD_H | ||
|
||
#include <nuttx/config.h> | ||
#ifndef __ASSEMBLY__ | ||
# include <stdint.h> | ||
#endif | ||
|
||
#include <stm32.h> | ||
|
||
|
||
#define STM32_BOARD_XTAL 16000000ul | ||
|
||
#define STM32_HSI_FREQUENCY 16000000ul | ||
#define STM32_LSI_FREQUENCY 32000 | ||
#define STM32_HSE_FREQUENCY STM32_BOARD_XTAL | ||
#define STM32_BOARD_USEHSE 1 | ||
|
||
#define STM32_LSE_FREQUENCY 0 | ||
|
||
/* PLL source is HSE | ||
* PLL_VCO = (STM32_HSE_FREQUENCY / PLLM) * PLLN | ||
* = (16'000'000 / 16) * 384 | ||
* = 384'000'000 | ||
* SYSCLK = PLL_VCO / PLLP | ||
* = 384'000'000 / 4 = 96,000,000 | ||
*/ | ||
|
||
/* Main PLL Configuration */ | ||
#define STM32_PLLCFG_PLLM RCC_PLLCFG_PLLM(16) | ||
#define STM32_PLLCFG_PLLN RCC_PLLCFG_PLLN(384) | ||
#define STM32_PLLCFG_PLLP RCC_PLLCFG_PLLP_4 | ||
#define STM32_PLLCFG_PLLQ RCC_PLLCFG_PLLQ(8) | ||
#define STM32_PLLCFG_PLLR RCC_PLLCFG_PLLR(2) | ||
|
||
#define STM32_RCC_PLLI2SCFGR_PLLI2SM RCC_PLLI2SCFGR_PLLI2SM(16) | ||
#define STM32_RCC_PLLI2SCFGR_PLLI2SN RCC_PLLI2SCFGR_PLLI2SN(192) | ||
#define STM32_RCC_PLLI2SCFGR_PLLI2SQ RCC_PLLI2SCFGR_PLLI2SQ(2) | ||
#define STM32_RCC_PLLI2SCFGR_PLLI2SR RCC_PLLI2SCFGR_PLLI2SR(2) | ||
#define STM32_RCC_PLLI2SCFGR_PLLI2SSRC RCC_PLLI2SCFGR_PLLI2SSRC(0) /* HSE or HSI depending on PLLSRC of PLLCFGR*/ | ||
|
||
#define STM32_RCC_DCKCFGR2_CK48MSEL RCC_DCKCFGR2_CK48MSEL_PLL | ||
#define STM32_RCC_DCKCFGR2_FMPI2C1SEL RCC_DCKCFGR2_FMPI2C1SEL_APB | ||
#define STM32_RCC_DCKCFGR2_SDIOSEL RCC_DCKCFGR2_SDIOSEL_48MHZ | ||
|
||
#define STM32_SYSCLK_FREQUENCY 96000000ul | ||
|
||
/* AHB clock (HCLK) is SYSCLK (96MHz) */ | ||
#define STM32_RCC_CFGR_HPRE RCC_CFGR_HPRE_SYSCLK /* HCLK = SYSCLK / 1 */ | ||
#define STM32_HCLK_FREQUENCY STM32_SYSCLK_FREQUENCY | ||
#define STM32_BOARD_HCLK STM32_HCLK_FREQUENCY /* Same as above, to satisfy compiler */ | ||
|
||
/* APB1 clock (PCLK1) is HCLK/2 (48MHz) */ | ||
#define STM32_RCC_CFGR_PPRE1 RCC_CFGR_PPRE1_HCLKd2 /* PCLK1 = HCLK / 2 */ | ||
#define STM32_PCLK1_FREQUENCY (STM32_HCLK_FREQUENCY/2) | ||
|
||
/* Timers driven from APB1 will be twice PCLK1 (see page 112 of reference manual) */ | ||
#define STM32_APB1_TIM2_CLKIN (2*STM32_PCLK1_FREQUENCY) | ||
#define STM32_APB1_TIM3_CLKIN (2*STM32_PCLK1_FREQUENCY) | ||
#define STM32_APB1_TIM4_CLKIN (2*STM32_PCLK1_FREQUENCY) | ||
#define STM32_APB1_TIM5_CLKIN (2*STM32_PCLK1_FREQUENCY) | ||
#define STM32_APB1_TIM12_CLKIN (2*STM32_PCLK1_FREQUENCY) | ||
#define STM32_APB1_TIM13_CLKIN (2*STM32_PCLK1_FREQUENCY) | ||
#define STM32_APB1_TIM14_CLKIN (2*STM32_PCLK1_FREQUENCY) | ||
|
||
/* APB2 clock (PCLK2) is HCLK (96MHz) */ | ||
#define STM32_RCC_CFGR_PPRE2 RCC_CFGR_PPRE2_HCLK /* PCLK2 = HCLK */ | ||
#define STM32_PCLK2_FREQUENCY (STM32_HCLK_FREQUENCY) | ||
|
||
/* Timers driven from APB2 will be PCLK2 since no prescale division */ | ||
#define STM32_APB2_TIM1_CLKIN (STM32_PCLK2_FREQUENCY) | ||
#define STM32_APB2_TIM8_CLKIN (STM32_PCLK2_FREQUENCY) | ||
#define STM32_APB2_TIM9_CLKIN (STM32_PCLK2_FREQUENCY) | ||
#define STM32_APB2_TIM10_CLKIN (STM32_PCLK2_FREQUENCY) | ||
#define STM32_APB2_TIM11_CLKIN (STM32_PCLK2_FREQUENCY) | ||
|
||
/* Timer Frequencies, if APBx is set to 1, frequency is same to APBx otherwise frequency is 2xAPBx. */ | ||
#define BOARD_TIM2_FREQUENCY (2 * STM32_PCLK1_FREQUENCY) | ||
#define BOARD_TIM3_FREQUENCY (2 * STM32_PCLK1_FREQUENCY) | ||
#define BOARD_TIM4_FREQUENCY (2 * STM32_PCLK1_FREQUENCY) | ||
#define BOARD_TIM5_FREQUENCY (2 * STM32_PCLK1_FREQUENCY) | ||
#define BOARD_TIM6_FREQUENCY (2 * STM32_PCLK1_FREQUENCY) | ||
#define BOARD_TIM7_FREQUENCY (2 * STM32_PCLK1_FREQUENCY) | ||
#define BOARD_TIM8_FREQUENCY (2 * STM32_PCLK2_FREQUENCY) | ||
|
||
/* Alternate function pin selections ************************************************/ | ||
|
||
/* UARTs */ | ||
#define GPIO_USART1_RX GPIO_USART1_RX_1 | ||
#define GPIO_USART1_TX GPIO_USART1_TX_1 | ||
|
||
/* CAN */ | ||
#define GPIO_CAN1_RX GPIO_CAN1_RX_2 /* PB8 */ | ||
#define GPIO_CAN1_TX GPIO_CAN1_TX_2 /* PB9 */ | ||
|
||
/* SPI */ | ||
#define GPIO_SPI1_MISO GPIO_SPI1_MISO_1 /* PA6 */ | ||
#define GPIO_SPI1_MOSI GPIO_SPI1_MOSI_1 /* PA7 */ | ||
#define GPIO_SPI1_SCK GPIO_SPI1_SCK_1 /* PA5 */ | ||
|
||
#define GPIO_SPI2_MISO GPIO_SPI2_MISO_1 /* PB14 */ | ||
#define GPIO_SPI2_MOSI GPIO_SPI2_MOSI_1 /* PB15 */ | ||
#define GPIO_SPI2_SCK GPIO_SPI2_SCK_2 /* PB13 */ | ||
|
||
#define GPIO_SPI3_MISO GPIO_SPI3_MISO_1 /* PB4 */ | ||
#define GPIO_SPI3_MOSI GPIO_SPI3_MOSI_1 /* PB5 */ | ||
#define GPIO_SPI3_SCK GPIO_SPI3_SCK_1 /* PB3 */ | ||
|
||
#endif /* __ARCH_BOARD_BOARD_H */ |
47 changes: 47 additions & 0 deletions
47
boards/holybro/h-flow/nuttx-config/include/board_dma_map.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
/**************************************************************************** | ||
* | ||
* Copyright (c) 2024 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 | ||
|
||
// DMA1 Channel/Stream Selections | ||
//--------------------------------------------//---------------------------//---------------- | ||
#define DMACHAN_SPI2_RX DMAMAP_SPI2_RX // DMA1, Stream 3, Channel 0 | ||
#define DMACHAN_SPI2_TX DMAMAP_SPI2_TX // DMA1, Stream 4, Channel 0 | ||
|
||
#define DMACHAN_SPI3_RX DMAMAP_SPI3_RX_1 // DMA1, Stream 0, Channel 0 | ||
#define DMACHAN_SPI3_TX DMAMAP_SPI3_TX_1 // DMA1, Stream 5, Channel 0 | ||
|
||
// 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 3, Channel 3 |
Oops, something went wrong.