From 2e7ba37cf699d797ece92c07bfd47199b7dbaf27 Mon Sep 17 00:00:00 2001 From: Gautier Hattenberger Date: Tue, 2 Feb 2021 18:37:24 +0100 Subject: [PATCH] [conf] drop discovery boards if test board from ST should be used, better use the more recent nucleo144 --- conf/airframes/FLIXR/flixr_conf.xml | 11 - conf/airframes/FLIXR/flixr_discovery.xml | 369 ---- .../untested/stm32f4_discovery_test.xml | 177 -- .../stm32f3_discovery_1.0_chibios.makefile | 76 - conf/boards/stm32f4_discovery.makefile | 55 - conf/flash_modes.xml | 4 - sw/airborne/arch/stm32/stm32f4_discovery.ld | 34 - .../stm32f3_discovery/chibios/v1.0/board.c | 265 --- .../stm32f3_discovery/chibios/v1.0/board.h | 1628 ----------------- .../stm32f3_discovery/chibios/v1.0/board.mk | 24 - .../stm32f3_discovery/chibios/v1.0/mcuconf.h | 301 --- sw/airborne/boards/stm32f4_discovery.h | 601 ------ 12 files changed, 3545 deletions(-) delete mode 100644 conf/airframes/FLIXR/flixr_discovery.xml delete mode 100644 conf/airframes/untested/stm32f4_discovery_test.xml delete mode 100644 conf/boards/stm32f3_discovery_1.0_chibios.makefile delete mode 100644 conf/boards/stm32f4_discovery.makefile delete mode 100644 sw/airborne/arch/stm32/stm32f4_discovery.ld delete mode 100644 sw/airborne/boards/stm32f3_discovery/chibios/v1.0/board.c delete mode 100644 sw/airborne/boards/stm32f3_discovery/chibios/v1.0/board.h delete mode 100644 sw/airborne/boards/stm32f3_discovery/chibios/v1.0/board.mk delete mode 100644 sw/airborne/boards/stm32f3_discovery/chibios/v1.0/mcuconf.h delete mode 100644 sw/airborne/boards/stm32f4_discovery.h diff --git a/conf/airframes/FLIXR/flixr_conf.xml b/conf/airframes/FLIXR/flixr_conf.xml index 844b767348..d9a37b5d17 100644 --- a/conf/airframes/FLIXR/flixr_conf.xml +++ b/conf/airframes/FLIXR/flixr_conf.xml @@ -32,17 +32,6 @@ settings_modules="modules/ahrs_int_cmpl_quat.xml modules/imu_common.xml" gui_color="blue" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
- - -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
- - - -
- -
- - -
- - -
- - -
- - -
- - - - - - - - - - - - - -
- -
- - - - - - - - - - - - - - - - - -
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
- -
- - -
- - - - - - - - -
- - -
- - - - - -
- - - -
- -
- -
diff --git a/conf/airframes/untested/stm32f4_discovery_test.xml b/conf/airframes/untested/stm32f4_discovery_test.xml deleted file mode 100644 index eeb45a10d8..0000000000 --- a/conf/airframes/untested/stm32f4_discovery_test.xml +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - -
- - - - - - - - - -
- - - - - - - - - - - - - - - -
- -
- - - -
- -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - - -
- -
- - - - - -
- -
- - - -
- -
- - - - -
- -
diff --git a/conf/boards/stm32f3_discovery_1.0_chibios.makefile b/conf/boards/stm32f3_discovery_1.0_chibios.makefile deleted file mode 100644 index c04a4773d8..0000000000 --- a/conf/boards/stm32f3_discovery_1.0_chibios.makefile +++ /dev/null @@ -1,76 +0,0 @@ -# Hey Emacs, this is a -*- makefile -*- -# -# stm32f3_discovery_chibios.makefile -# -# - -BOARD=stm32f3_discovery -BOARD_VERSION=1.0 -BOARD_DIR=$(BOARD)/chibios/v$(BOARD_VERSION) -BOARD_CFG=\"boards/$(BOARD_DIR)/board.h\" - -ARCH=chibios -$(TARGET).ARCHDIR = $(ARCH) - -RTOS=chibios - -## FPU on F3 -USE_FPU=hard - -$(TARGET).CFLAGS += -DSTM32F3 -DPPRZLINK_ENABLE_FD - -############################################################################## -# Architecture or project specific options -# -# Define project name here (target) -PROJECT = $(TARGET) - -# Project specific files and paths (see Makefile.chibios for details) -CHIBIOS_BOARD_PLATFORM = STM32F3xx/platform.mk -CHIBIOS_BOARD_LINKER = STM32F303xC.ld -CHIBIOS_BOARD_STARTUP = startup_stm32f3xx.mk - -############################################################################## -# Compiler settings -# -MCU = cortex-m4 - - -# default flash mode is via DFU-UTIL -# possibilities: DFU-UTIL, SWD, STLINK -FLASH_MODE ?= DFU-UTIL - -HAS_LUFTBOOT = FALSE - -# -# default LED configuration -# -RADIO_CONTROL_LED ?= 4 -BARO_LED ?= none -AHRS_ALIGNER_LED ?= 5 -GPS_LED ?= 6 -SYS_TIME_LED ?= 3 - -# -# default UART configuration (modem, gps, spektrum) -# - -MODEM_PORT ?= UART1 -MODEM_BAUD ?= B57600 - -GPS_PORT ?= UART2 -GPS_BAUD ?= B38400 - -RADIO_CONTROL_SPEKTRUM_PRIMARY_PORT ?= UART3 -SBUS_PORT ?= UART3 - - -# -# default actuator configuration -# -# you can use different actuators by adding a configure option to your firmware section -# e.g. -# -ACTUATORS ?= actuators_pwm diff --git a/conf/boards/stm32f4_discovery.makefile b/conf/boards/stm32f4_discovery.makefile deleted file mode 100644 index 5a24412bac..0000000000 --- a/conf/boards/stm32f4_discovery.makefile +++ /dev/null @@ -1,55 +0,0 @@ -# Hey Emacs, this is a -*- makefile -*- -# -# stm32f4_discovery.makefile -# -# - -BOARD=stm32f4_discovery -BOARD_VERSION= -BOARD_CFG=\"boards/$(BOARD).h\" - -ARCH=stm32 -ARCH_L=f4 -ARCH_DIR=stm32 -SRC_ARCH=arch/$(ARCH_DIR) -$(TARGET).ARCHDIR = $(ARCH) -$(TARGET).LDSCRIPT=$(SRC_ARCH)/stm32f4_discovery.ld - -HARD_FLOAT=yes - -# default flash mode is via usb dfu bootloader -# possibilities: STLINK, DFU-UTIL, SWD, JTAG_BMP -FLASH_MODE ?= STLINK - -# -# default LED configuration -# -RADIO_CONTROL_LED ?= 4 -BARO_LED ?= none -AHRS_ALIGNER_LED ?= 5 -GPS_LED ?= 6 -SYS_TIME_LED ?= 3 - -# -# default UART configuration (modem, gps, spektrum) -# - -MODEM_PORT ?= UART6 -MODEM_BAUD ?= B57600 - -GPS_PORT ?= UART3 -GPS_BAUD ?= B38400 - -RADIO_CONTROL_SPEKTRUM_PRIMARY_PORT ?= UART1 - - -# -# default actuator configuration -# -# you can use different actuators by adding a configure option to your firmware section -# e.g. -# -ACTUATORS ?= actuators_pwm - diff --git a/conf/flash_modes.xml b/conf/flash_modes.xml index ac716cb007..29bf35be27 100644 --- a/conf/flash_modes.xml +++ b/conf/flash_modes.xml @@ -54,7 +54,6 @@ - @@ -71,7 +70,6 @@ - @@ -89,7 +87,6 @@ - @@ -120,7 +117,6 @@ - diff --git a/sw/airborne/arch/stm32/stm32f4_discovery.ld b/sw/airborne/arch/stm32/stm32f4_discovery.ld deleted file mode 100644 index 19e9722028..0000000000 --- a/sw/airborne/arch/stm32/stm32f4_discovery.ld +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (C) 2013 Gautier Hattenberger - * - * This file is part of Paparazzi. - * - * Paparazzi is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * Paparazzi is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Paparazzi; see the file COPYING. If not, write to - * the Free Software Foundation, 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -/* Linker script for ST STM32F4DISCOVERY (STM32F407VG, 1024K flash, 128K RAM). */ - -/* Define memory regions. */ -MEMORY -{ - ram (rwx) : ORIGIN = 0x20000000, LENGTH = 128K - /* Reserving 128kb at the end of the flash for persistent settings. */ - rom (rx) : ORIGIN = 0x08000000, LENGTH = 896K -} - -/* Include the common ld script. */ -INCLUDE libopencm3_stm32f4.ld - diff --git a/sw/airborne/boards/stm32f3_discovery/chibios/v1.0/board.c b/sw/airborne/boards/stm32f3_discovery/chibios/v1.0/board.c deleted file mode 100644 index 6a0d8e81ff..0000000000 --- a/sw/airborne/boards/stm32f3_discovery/chibios/v1.0/board.c +++ /dev/null @@ -1,265 +0,0 @@ -/* - ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ - -/* - * This file has been automatically generated using ChibiStudio board - * generator plugin. Do not edit manually. - */ - -#include "hal.h" -#include "stm32_gpio.h" - -/*===========================================================================*/ -/* Driver local definitions. */ -/*===========================================================================*/ - -/*===========================================================================*/ -/* Driver exported variables. */ -/*===========================================================================*/ - -/*===========================================================================*/ -/* Driver local variables and types. */ -/*===========================================================================*/ - -/** - * @brief Type of STM32 GPIO port setup. - */ -typedef struct { - uint32_t moder; - uint32_t otyper; - uint32_t ospeedr; - uint32_t pupdr; - uint32_t odr; - uint32_t afrl; - uint32_t afrh; -} gpio_setup_t; - -/** - * @brief Type of STM32 GPIO initialization data. - */ -typedef struct { -#if STM32_HAS_GPIOA || defined(__DOXYGEN__) - gpio_setup_t PAData; -#endif -#if STM32_HAS_GPIOB || defined(__DOXYGEN__) - gpio_setup_t PBData; -#endif -#if STM32_HAS_GPIOC || defined(__DOXYGEN__) - gpio_setup_t PCData; -#endif -#if STM32_HAS_GPIOD || defined(__DOXYGEN__) - gpio_setup_t PDData; -#endif -#if STM32_HAS_GPIOE || defined(__DOXYGEN__) - gpio_setup_t PEData; -#endif -#if STM32_HAS_GPIOF || defined(__DOXYGEN__) - gpio_setup_t PFData; -#endif -#if STM32_HAS_GPIOG || defined(__DOXYGEN__) - gpio_setup_t PGData; -#endif -#if STM32_HAS_GPIOH || defined(__DOXYGEN__) - gpio_setup_t PHData; -#endif -#if STM32_HAS_GPIOI || defined(__DOXYGEN__) - gpio_setup_t PIData; -#endif -#if STM32_HAS_GPIOJ || defined(__DOXYGEN__) - gpio_setup_t PJData; -#endif -#if STM32_HAS_GPIOK || defined(__DOXYGEN__) - gpio_setup_t PKData; -#endif -} gpio_config_t; - -/** - * @brief STM32 GPIO static initialization data. - */ -static const gpio_config_t gpio_default_config = { -#if STM32_HAS_GPIOA - {VAL_GPIOA_MODER, VAL_GPIOA_OTYPER, VAL_GPIOA_OSPEEDR, VAL_GPIOA_PUPDR, - VAL_GPIOA_ODR, VAL_GPIOA_AFRL, VAL_GPIOA_AFRH}, -#endif -#if STM32_HAS_GPIOB - {VAL_GPIOB_MODER, VAL_GPIOB_OTYPER, VAL_GPIOB_OSPEEDR, VAL_GPIOB_PUPDR, - VAL_GPIOB_ODR, VAL_GPIOB_AFRL, VAL_GPIOB_AFRH}, -#endif -#if STM32_HAS_GPIOC - {VAL_GPIOC_MODER, VAL_GPIOC_OTYPER, VAL_GPIOC_OSPEEDR, VAL_GPIOC_PUPDR, - VAL_GPIOC_ODR, VAL_GPIOC_AFRL, VAL_GPIOC_AFRH}, -#endif -#if STM32_HAS_GPIOD - {VAL_GPIOD_MODER, VAL_GPIOD_OTYPER, VAL_GPIOD_OSPEEDR, VAL_GPIOD_PUPDR, - VAL_GPIOD_ODR, VAL_GPIOD_AFRL, VAL_GPIOD_AFRH}, -#endif -#if STM32_HAS_GPIOE - {VAL_GPIOE_MODER, VAL_GPIOE_OTYPER, VAL_GPIOE_OSPEEDR, VAL_GPIOE_PUPDR, - VAL_GPIOE_ODR, VAL_GPIOE_AFRL, VAL_GPIOE_AFRH}, -#endif -#if STM32_HAS_GPIOF - {VAL_GPIOF_MODER, VAL_GPIOF_OTYPER, VAL_GPIOF_OSPEEDR, VAL_GPIOF_PUPDR, - VAL_GPIOF_ODR, VAL_GPIOF_AFRL, VAL_GPIOF_AFRH}, -#endif -#if STM32_HAS_GPIOG - {VAL_GPIOG_MODER, VAL_GPIOG_OTYPER, VAL_GPIOG_OSPEEDR, VAL_GPIOG_PUPDR, - VAL_GPIOG_ODR, VAL_GPIOG_AFRL, VAL_GPIOG_AFRH}, -#endif -#if STM32_HAS_GPIOH - {VAL_GPIOH_MODER, VAL_GPIOH_OTYPER, VAL_GPIOH_OSPEEDR, VAL_GPIOH_PUPDR, - VAL_GPIOH_ODR, VAL_GPIOH_AFRL, VAL_GPIOH_AFRH}, -#endif -#if STM32_HAS_GPIOI - {VAL_GPIOI_MODER, VAL_GPIOI_OTYPER, VAL_GPIOI_OSPEEDR, VAL_GPIOI_PUPDR, - VAL_GPIOI_ODR, VAL_GPIOI_AFRL, VAL_GPIOI_AFRH}, -#endif -#if STM32_HAS_GPIOJ - {VAL_GPIOJ_MODER, VAL_GPIOJ_OTYPER, VAL_GPIOJ_OSPEEDR, VAL_GPIOJ_PUPDR, - VAL_GPIOJ_ODR, VAL_GPIOJ_AFRL, VAL_GPIOJ_AFRH}, -#endif -#if STM32_HAS_GPIOK - {VAL_GPIOK_MODER, VAL_GPIOK_OTYPER, VAL_GPIOK_OSPEEDR, VAL_GPIOK_PUPDR, - VAL_GPIOK_ODR, VAL_GPIOK_AFRL, VAL_GPIOK_AFRH} -#endif -}; - -/*===========================================================================*/ -/* Driver local functions. */ -/*===========================================================================*/ - -static void gpio_init(stm32_gpio_t *gpiop, const gpio_setup_t *config) { - - gpiop->OTYPER = config->otyper; - gpiop->OSPEEDR = config->ospeedr; - gpiop->PUPDR = config->pupdr; - gpiop->ODR = config->odr; - gpiop->AFRL = config->afrl; - gpiop->AFRH = config->afrh; - gpiop->MODER = config->moder; -} - -static void stm32_gpio_init(void) { - - /* Enabling GPIO-related clocks, the mask comes from the - registry header file.*/ - rccResetAHB1(STM32_GPIO_EN_MASK); - rccEnableAHB1(STM32_GPIO_EN_MASK, true); - - /* Initializing all the defined GPIO ports.*/ -#if STM32_HAS_GPIOA - gpio_init(GPIOA, &gpio_default_config.PAData); -#endif -#if STM32_HAS_GPIOB - gpio_init(GPIOB, &gpio_default_config.PBData); -#endif -#if STM32_HAS_GPIOC - gpio_init(GPIOC, &gpio_default_config.PCData); -#endif -#if STM32_HAS_GPIOD - gpio_init(GPIOD, &gpio_default_config.PDData); -#endif -#if STM32_HAS_GPIOE - gpio_init(GPIOE, &gpio_default_config.PEData); -#endif -#if STM32_HAS_GPIOF - gpio_init(GPIOF, &gpio_default_config.PFData); -#endif -#if STM32_HAS_GPIOG - gpio_init(GPIOG, &gpio_default_config.PGData); -#endif -#if STM32_HAS_GPIOH - gpio_init(GPIOH, &gpio_default_config.PHData); -#endif -#if STM32_HAS_GPIOI - gpio_init(GPIOI, &gpio_default_config.PIData); -#endif -#if STM32_HAS_GPIOJ - gpio_init(GPIOJ, &gpio_default_config.PJData); -#endif -#if STM32_HAS_GPIOK - gpio_init(GPIOK, &gpio_default_config.PKData); -#endif -} - -/*===========================================================================*/ -/* Driver interrupt handlers. */ -/*===========================================================================*/ - -/*===========================================================================*/ -/* Driver exported functions. */ -/*===========================================================================*/ - -/** - * @brief Early initialization code. - * @details GPIO ports and system clocks are initialized before everything - * else. - */ -void __early_init(void) { - - stm32_gpio_init(); - stm32_clock_init(); -} - -#if HAL_USE_SDC || defined(__DOXYGEN__) -/** - * @brief SDC card detection. - */ -bool sdc_lld_is_card_inserted(SDCDriver *sdcp) { - static bool last_status = false; - - (void)sdcp; - /* TODO: Fill the implementation.*/ - return true; -} - -/** - * @brief SDC card write protection detection. - */ -bool sdc_lld_is_write_protected(SDCDriver *sdcp) { - - (void)sdcp; - return false; -} -#endif /* HAL_USE_SDC */ - -#if HAL_USE_MMC_SPI || defined(__DOXYGEN__) -/** - * @brief MMC_SPI card detection. - */ -bool mmc_lld_is_card_inserted(MMCDriver *mmcp) { - - (void)mmcp; - /* TODO: Fill the implementation.*/ - return true; -} - -/** - * @brief MMC_SPI card write protection detection. - */ -bool mmc_lld_is_write_protected(MMCDriver *mmcp) { - - (void)mmcp; - /* TODO: Fill the implementation.*/ - return false; -} -#endif - -/** - * @brief Board-specific initialization code. - * @todo Add your board-specific code, if any. - */ -void boardInit(void) { -} diff --git a/sw/airborne/boards/stm32f3_discovery/chibios/v1.0/board.h b/sw/airborne/boards/stm32f3_discovery/chibios/v1.0/board.h deleted file mode 100644 index 9a573c029c..0000000000 --- a/sw/airborne/boards/stm32f3_discovery/chibios/v1.0/board.h +++ /dev/null @@ -1,1628 +0,0 @@ -/* - ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ - -/* - * This file has been automatically generated using ChibiStudio board - * generator plugin. Do not edit manually. - */ - -#ifndef BOARD_H -#define BOARD_H - -/* - * Setup for STMicroelectronics STM32F3-Discovery board. - */ - -/* - * Board identifier. - */ -#define BOARD_ST_STM32F3_DISCOVERY -#define BOARD_NAME "STMicroelectronics STM32F3-Discovery" - -/* - * Board oscillators-related settings. - * NOTE: LSE not fitted. - */ -#if !defined(STM32_LSECLK) -#define STM32_LSECLK 0U -#endif - -#define STM32_LSEDRV (3U << 3U) - -#if !defined(STM32_HSECLK) -#define STM32_HSECLK 8000000U -#endif - -#define STM32_HSE_BYPASS - -/* - * MCU type as defined in the ST header. - */ -#define STM32F303xC - -/* - * IO pins assignments. - */ -#define GPIOA_BUTTON 0U -#define GPIOA_PIN1 1U -#define GPIOA_PIN2 2U -#define GPIOA_PIN3 3U -#define GPIOA_PIN4 4U -#define GPIOA_SPI1_SCK 5U -#define GPIOA_L3GD20_SCL 5U -#define GPIOA_SPI1_MISO 6U -#define GPIOA_L3GD20_SDO 6U -#define GPIOA_SPI1_MOSI 7U -#define GPIOA_L3GD20_SDI 7U -#define GPIOA_PIN8 8U -#define GPIOA_PIN9 9U -#define GPIOA_PIN10 10U -#define GPIOA_USB_DM 11U -#define GPIOA_USB_DP 12U -#define GPIOA_SWDIO 13U -#define GPIOA_SWCLK 14U -#define GPIOA_PIN15 15U - -#define GPIOB_PIN0 0U -#define GPIOB_PIN1 1U -#define GPIOB_PIN2 2U -#define GPIOB_SWO 3U -#define GPIOB_PIN4 4U -#define GPIOB_PIN5 5U -#define GPIOB_I2C1_SCL 6U -#define GPIOB_LSM303DLHC_SCL 6U -#define GPIOB_I2C1_SDA 7U -#define GPIOB_LSM303DLHC_SDA 7U -#define GPIOB_PIN8 8U -#define GPIOB_PIN9 9U -#define GPIOB_PIN10 10U -#define GPIOB_PIN11 11U -#define GPIOB_PIN12 12U -#define GPIOB_PIN13 13U -#define GPIOB_PIN14 14U -#define GPIOB_PIN15 15U - -#define GPIOC_PIN0 0U -#define GPIOC_PIN1 1U -#define GPIOC_PIN2 2U -#define GPIOC_PIN3 3U -#define GPIOC_PIN4 4U -#define GPIOC_PIN5 5U -#define GPIOC_PIN6 6U -#define GPIOC_PIN7 7U -#define GPIOC_PIN8 8U -#define GPIOC_PIN9 9U -#define GPIOC_PIN10 10U -#define GPIOC_PIN11 11U -#define GPIOC_PIN12 12U -#define GPIOC_PIN13 13U -#define GPIOC_OSC32_IN 14U -#define GPIOC_OSC32_OUT 15U - -#define GPIOD_PIN0 0U -#define GPIOD_PIN1 1U -#define GPIOD_PIN2 2U -#define GPIOD_PIN3 3U -#define GPIOD_PIN4 4U -#define GPIOD_PIN5 5U -#define GPIOD_PIN6 6U -#define GPIOD_PIN7 7U -#define GPIOD_PIN8 8U -#define GPIOD_PIN9 9U -#define GPIOD_PIN10 10U -#define GPIOD_PIN11 11U -#define GPIOD_PIN12 12U -#define GPIOD_PIN13 13U -#define GPIOD_PIN14 14U -#define GPIOD_PIN15 15U - -#define GPIOE_L3GD20_INT1 0U -#define GPIOE_L3GD20_INT2 1U -#define GPIOE_LSM303DLHC_DRDY 2U -#define GPIOE_SPI1_CS 3U -#define GPIOE_L3GD20_CS 3U -#define GPIOE_LSM303DLHC_INT1 4U -#define GPIOE_LSM303DLHC_INT2 5U -#define GPIOE_PIN6 6U -#define GPIOE_PIN7 7U -#define GPIOE_LED4_BLUE 8U -#define GPIOE_LED3_RED 9U -#define GPIOE_LED5_ORANGE 10U -#define GPIOE_LED7_GREEN 11U -#define GPIOE_LED9_BLUE 12U -#define GPIOE_LED10_RED 13U -#define GPIOE_LED8_ORANGE 14U -#define GPIOE_LED6_GREEN 15U - -#define GPIOF_OSC_IN 0U -#define GPIOF_OSC_OUT 1U -#define GPIOF_PIN2 2U -#define GPIOF_PIN3 3U -#define GPIOF_PIN4 4U -#define GPIOF_PIN5 5U -#define GPIOF_PIN6 6U -#define GPIOF_PIN7 7U -#define GPIOF_PIN8 8U -#define GPIOF_PIN9 9U -#define GPIOF_PIN10 10U -#define GPIOF_PIN11 11U -#define GPIOF_PIN12 12U -#define GPIOF_PIN13 13U -#define GPIOF_PIN14 14U -#define GPIOF_PIN15 15U - -#define GPIOG_PIN0 0U -#define GPIOG_PIN1 1U -#define GPIOG_PIN2 2U -#define GPIOG_PIN3 3U -#define GPIOG_PIN4 4U -#define GPIOG_PIN5 5U -#define GPIOG_PIN6 6U -#define GPIOG_PIN7 7U -#define GPIOG_PIN8 8U -#define GPIOG_PIN9 9U -#define GPIOG_PIN10 10U -#define GPIOG_PIN11 11U -#define GPIOG_PIN12 12U -#define GPIOG_PIN13 13U -#define GPIOG_PIN14 14U -#define GPIOG_PIN15 15U - -#define GPIOH_PIN0 0U -#define GPIOH_PIN1 1U -#define GPIOH_PIN2 2U -#define GPIOH_PIN3 3U -#define GPIOH_PIN4 4U -#define GPIOH_PIN5 5U -#define GPIOH_PIN6 6U -#define GPIOH_PIN7 7U -#define GPIOH_PIN8 8U -#define GPIOH_PIN9 9U -#define GPIOH_PIN10 10U -#define GPIOH_PIN11 11U -#define GPIOH_PIN12 12U -#define GPIOH_PIN13 13U -#define GPIOH_PIN14 14U -#define GPIOH_PIN15 15U - -/* - * IO lines assignments. - */ -#define LINE_BUTTON PAL_LINE(GPIOA, 0U) -#define LINE_SPI1_SCK PAL_LINE(GPIOA, 5U) -#define LINE_L3GD20_SCL PAL_LINE(GPIOA, 5U) -#define LINE_SPI1_MISO PAL_LINE(GPIOA, 6U) -#define LINE_L3GD20_SDO PAL_LINE(GPIOA, 6U) -#define LINE_SPI1_MOSI PAL_LINE(GPIOA, 7U) -#define LINE_L3GD20_SDI PAL_LINE(GPIOA, 7U) -#define LINE_USB_DM PAL_LINE(GPIOA, 11U) -#define LINE_USB_DP PAL_LINE(GPIOA, 12U) -#define LINE_SWDIO PAL_LINE(GPIOA, 13U) -#define LINE_SWCLK PAL_LINE(GPIOA, 14U) - -#define LINE_SWO PAL_LINE(GPIOB, 3U) -#define LINE_I2C1_SCL PAL_LINE(GPIOB, 6U) -#define LINE_LSM303DLHC_SCL PAL_LINE(GPIOB, 6U) -#define LINE_I2C1_SDA PAL_LINE(GPIOB, 7U) -#define LINE_LSM303DLHC_SDA PAL_LINE(GPIOB, 7U) - -#define LINE_OSC32_IN PAL_LINE(GPIOC, 14U) -#define LINE_OSC32_OUT PAL_LINE(GPIOC, 15U) - - -#define LINE_L3GD20_INT1 PAL_LINE(GPIOE, 0U) -#define LINE_L3GD20_INT2 PAL_LINE(GPIOE, 1U) -#define LINE_LSM303DLHC_DRDY PAL_LINE(GPIOE, 2U) -#define LINE_SPI1_CS PAL_LINE(GPIOE, 3U) -#define LINE_L3GD20_CS PAL_LINE(GPIOE, 3U) -#define LINE_LSM303DLHC_INT1 PAL_LINE(GPIOE, 4U) -#define LINE_LSM303DLHC_INT2 PAL_LINE(GPIOE, 5U) -#define LINE_LED4_BLUE PAL_LINE(GPIOE, 8U) -#define LINE_LED3_RED PAL_LINE(GPIOE, 9U) -#define LINE_LED5_ORANGE PAL_LINE(GPIOE, 10U) -#define LINE_LED7_GREEN PAL_LINE(GPIOE, 11U) -#define LINE_LED9_BLUE PAL_LINE(GPIOE, 12U) -#define LINE_LED10_RED PAL_LINE(GPIOE, 13U) -#define LINE_LED8_ORANGE PAL_LINE(GPIOE, 14U) -#define LINE_LED6_GREEN PAL_LINE(GPIOE, 15U) - -#define LINE_OSC_IN PAL_LINE(GPIOF, 0U) -#define LINE_OSC_OUT PAL_LINE(GPIOF, 1U) - - - -/* - * I/O ports initial setup, this configuration is established soon after reset - * in the initialization code. - * Please refer to the STM32 Reference Manual for details. - */ -#define PIN_MODE_INPUT(n) (0U << ((n) * 2U)) -#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2U)) -#define PIN_MODE_ALTERNATE(n) (2U << ((n) * 2U)) -#define PIN_MODE_ANALOG(n) (3U << ((n) * 2U)) -#define PIN_ODR_LOW(n) (0U << (n)) -#define PIN_ODR_HIGH(n) (1U << (n)) -#define PIN_OTYPE_PUSHPULL(n) (0U << (n)) -#define PIN_OTYPE_OPENDRAIN(n) (1U << (n)) -#define PIN_OSPEED_VERYLOW(n) (0U << ((n) * 2U)) -#define PIN_OSPEED_LOW(n) (1U << ((n) * 2U)) -#define PIN_OSPEED_MEDIUM(n) (2U << ((n) * 2U)) -#define PIN_OSPEED_HIGH(n) (3U << ((n) * 2U)) -#define PIN_PUPDR_FLOATING(n) (0U << ((n) * 2U)) -#define PIN_PUPDR_PULLUP(n) (1U << ((n) * 2U)) -#define PIN_PUPDR_PULLDOWN(n) (2U << ((n) * 2U)) -#define PIN_AFIO_AF(n, v) ((v) << (((n) % 8U) * 4U)) - -/* - * GPIOA setup: - * - * PA0 - BUTTON (input floating). - * PA1 - PIN1 (input pullup). - * PA2 - PIN2 (input pullup). - * PA3 - PIN3 (input pullup). - * PA4 - PIN4 (input pullup). - * PA5 - SPI1_SCK L3GD20_SCL (alternate 5). - * PA6 - SPI1_MISO L3GD20_SDO (alternate 5). - * PA7 - SPI1_MOSI L3GD20_SDI (alternate 5). - * PA8 - PIN8 (input pullup). - * PA9 - PIN9 (input pullup). - * PA10 - PIN10 (input pullup). - * PA11 - USB_DM (alternate 14). - * PA12 - USB_DP (alternate 14). - * PA13 - SWDIO (alternate 0). - * PA14 - SWCLK (alternate 0). - * PA15 - PIN15 (input pullup). - */ -#define VAL_GPIOA_MODER (PIN_MODE_INPUT(GPIOA_BUTTON) | \ - PIN_MODE_INPUT(GPIOA_PIN1) | \ - PIN_MODE_INPUT(GPIOA_PIN2) | \ - PIN_MODE_INPUT(GPIOA_PIN3) | \ - PIN_MODE_INPUT(GPIOA_PIN4) | \ - PIN_MODE_ALTERNATE(GPIOA_SPI1_SCK) | \ - PIN_MODE_ALTERNATE(GPIOA_SPI1_MISO) | \ - PIN_MODE_ALTERNATE(GPIOA_SPI1_MOSI) | \ - PIN_MODE_INPUT(GPIOA_PIN8) | \ - PIN_MODE_INPUT(GPIOA_PIN9) | \ - PIN_MODE_INPUT(GPIOA_PIN10) | \ - PIN_MODE_ALTERNATE(GPIOA_USB_DM) | \ - PIN_MODE_ALTERNATE(GPIOA_USB_DP) | \ - PIN_MODE_ALTERNATE(GPIOA_SWDIO) | \ - PIN_MODE_ALTERNATE(GPIOA_SWCLK) | \ - PIN_MODE_INPUT(GPIOA_PIN15)) -#define VAL_GPIOA_OTYPER (PIN_OTYPE_PUSHPULL(GPIOA_BUTTON) | \ - PIN_OTYPE_PUSHPULL(GPIOA_PIN1) | \ - PIN_OTYPE_PUSHPULL(GPIOA_PIN2) | \ - PIN_OTYPE_PUSHPULL(GPIOA_PIN3) | \ - PIN_OTYPE_PUSHPULL(GPIOA_PIN4) | \ - PIN_OTYPE_PUSHPULL(GPIOA_SPI1_SCK) | \ - PIN_OTYPE_PUSHPULL(GPIOA_SPI1_MISO) | \ - PIN_OTYPE_PUSHPULL(GPIOA_SPI1_MOSI) | \ - PIN_OTYPE_PUSHPULL(GPIOA_PIN8) | \ - PIN_OTYPE_PUSHPULL(GPIOA_PIN9) | \ - PIN_OTYPE_PUSHPULL(GPIOA_PIN10) | \ - PIN_OTYPE_PUSHPULL(GPIOA_USB_DM) | \ - PIN_OTYPE_PUSHPULL(GPIOA_USB_DP) | \ - PIN_OTYPE_PUSHPULL(GPIOA_SWDIO) | \ - PIN_OTYPE_PUSHPULL(GPIOA_SWCLK) | \ - PIN_OTYPE_PUSHPULL(GPIOA_PIN15)) -#define VAL_GPIOA_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOA_BUTTON) | \ - PIN_OSPEED_VERYLOW(GPIOA_PIN1) | \ - PIN_OSPEED_VERYLOW(GPIOA_PIN2) | \ - PIN_OSPEED_VERYLOW(GPIOA_PIN3) | \ - PIN_OSPEED_VERYLOW(GPIOA_PIN4) | \ - PIN_OSPEED_HIGH(GPIOA_SPI1_SCK) | \ - PIN_OSPEED_HIGH(GPIOA_SPI1_MISO) | \ - PIN_OSPEED_HIGH(GPIOA_SPI1_MOSI) | \ - PIN_OSPEED_VERYLOW(GPIOA_PIN8) | \ - PIN_OSPEED_VERYLOW(GPIOA_PIN9) | \ - PIN_OSPEED_VERYLOW(GPIOA_PIN10) | \ - PIN_OSPEED_HIGH(GPIOA_USB_DM) | \ - PIN_OSPEED_VERYLOW(GPIOA_USB_DP) | \ - PIN_OSPEED_HIGH(GPIOA_SWDIO) | \ - PIN_OSPEED_HIGH(GPIOA_SWCLK) | \ - PIN_OSPEED_VERYLOW(GPIOA_PIN15)) -#define VAL_GPIOA_PUPDR (PIN_PUPDR_FLOATING(GPIOA_BUTTON) | \ - PIN_PUPDR_PULLUP(GPIOA_PIN1) | \ - PIN_PUPDR_PULLUP(GPIOA_PIN2) | \ - PIN_PUPDR_PULLUP(GPIOA_PIN3) | \ - PIN_PUPDR_PULLUP(GPIOA_PIN4) | \ - PIN_PUPDR_FLOATING(GPIOA_SPI1_SCK) | \ - PIN_PUPDR_PULLUP(GPIOA_SPI1_MISO) | \ - PIN_PUPDR_FLOATING(GPIOA_SPI1_MOSI) | \ - PIN_PUPDR_PULLUP(GPIOA_PIN8) | \ - PIN_PUPDR_PULLUP(GPIOA_PIN9) | \ - PIN_PUPDR_PULLUP(GPIOA_PIN10) | \ - PIN_PUPDR_FLOATING(GPIOA_USB_DM) | \ - PIN_PUPDR_FLOATING(GPIOA_USB_DP) | \ - PIN_PUPDR_PULLUP(GPIOA_SWDIO) | \ - PIN_PUPDR_PULLDOWN(GPIOA_SWCLK) | \ - PIN_PUPDR_PULLUP(GPIOA_PIN15)) -#define VAL_GPIOA_ODR (PIN_ODR_HIGH(GPIOA_BUTTON) | \ - PIN_ODR_HIGH(GPIOA_PIN1) | \ - PIN_ODR_HIGH(GPIOA_PIN2) | \ - PIN_ODR_HIGH(GPIOA_PIN3) | \ - PIN_ODR_HIGH(GPIOA_PIN4) | \ - PIN_ODR_HIGH(GPIOA_SPI1_SCK) | \ - PIN_ODR_HIGH(GPIOA_SPI1_MISO) | \ - PIN_ODR_HIGH(GPIOA_SPI1_MOSI) | \ - PIN_ODR_HIGH(GPIOA_PIN8) | \ - PIN_ODR_HIGH(GPIOA_PIN9) | \ - PIN_ODR_HIGH(GPIOA_PIN10) | \ - PIN_ODR_HIGH(GPIOA_USB_DM) | \ - PIN_ODR_HIGH(GPIOA_USB_DP) | \ - PIN_ODR_HIGH(GPIOA_SWDIO) | \ - PIN_ODR_HIGH(GPIOA_SWCLK) | \ - PIN_ODR_HIGH(GPIOA_PIN15)) -#define VAL_GPIOA_AFRL (PIN_AFIO_AF(GPIOA_BUTTON, 0U) | \ - PIN_AFIO_AF(GPIOA_PIN1, 0U) | \ - PIN_AFIO_AF(GPIOA_PIN2, 0U) | \ - PIN_AFIO_AF(GPIOA_PIN3, 0U) | \ - PIN_AFIO_AF(GPIOA_PIN4, 0U) | \ - PIN_AFIO_AF(GPIOA_SPI1_SCK, 5U) | \ - PIN_AFIO_AF(GPIOA_SPI1_MISO, 5U) | \ - PIN_AFIO_AF(GPIOA_SPI1_MOSI, 5U)) -#define VAL_GPIOA_AFRH (PIN_AFIO_AF(GPIOA_PIN8, 0U) | \ - PIN_AFIO_AF(GPIOA_PIN9, 0U) | \ - PIN_AFIO_AF(GPIOA_PIN10, 0U) | \ - PIN_AFIO_AF(GPIOA_USB_DM, 14U) | \ - PIN_AFIO_AF(GPIOA_USB_DP, 14U) | \ - PIN_AFIO_AF(GPIOA_SWDIO, 0U) | \ - PIN_AFIO_AF(GPIOA_SWCLK, 0U) | \ - PIN_AFIO_AF(GPIOA_PIN15, 0U)) - -/* - * GPIOB setup: - * - * PB0 - PIN0 (input pullup). - * PB1 - PIN1 (input pullup). - * PB2 - PIN2 (input pullup). - * PB3 - SWO (alternate 0). - * PB4 - PIN4 (input pullup). - * PB5 - PIN5 (input pullup). - * PB6 - I2C1_SCL LSM303DLHC_SCL (alternate 4). - * PB7 - I2C1_SDA LSM303DLHC_SDA (alternate 4). - * PB8 - PIN8 (input pullup). - * PB9 - PIN9 (input pullup). - * PB10 - PIN10 (input pullup). - * PB11 - PIN11 (input pullup). - * PB12 - PIN12 (input pullup). - * PB13 - PIN13 (input pullup). - * PB14 - PIN14 (input pullup). - * PB15 - PIN15 (input pullup). - */ -#define VAL_GPIOB_MODER (PIN_MODE_INPUT(GPIOB_PIN0) | \ - PIN_MODE_INPUT(GPIOB_PIN1) | \ - PIN_MODE_INPUT(GPIOB_PIN2) | \ - PIN_MODE_ALTERNATE(GPIOB_SWO) | \ - PIN_MODE_INPUT(GPIOB_PIN4) | \ - PIN_MODE_INPUT(GPIOB_PIN5) | \ - PIN_MODE_ALTERNATE(GPIOB_I2C1_SCL) | \ - PIN_MODE_ALTERNATE(GPIOB_I2C1_SDA) | \ - PIN_MODE_INPUT(GPIOB_PIN8) | \ - PIN_MODE_INPUT(GPIOB_PIN9) | \ - PIN_MODE_INPUT(GPIOB_PIN10) | \ - PIN_MODE_INPUT(GPIOB_PIN11) | \ - PIN_MODE_INPUT(GPIOB_PIN12) | \ - PIN_MODE_INPUT(GPIOB_PIN13) | \ - PIN_MODE_INPUT(GPIOB_PIN14) | \ - PIN_MODE_INPUT(GPIOB_PIN15)) -#define VAL_GPIOB_OTYPER (PIN_OTYPE_PUSHPULL(GPIOB_PIN0) | \ - PIN_OTYPE_PUSHPULL(GPIOB_PIN1) | \ - PIN_OTYPE_PUSHPULL(GPIOB_PIN2) | \ - PIN_OTYPE_PUSHPULL(GPIOB_SWO) | \ - PIN_OTYPE_PUSHPULL(GPIOB_PIN4) | \ - PIN_OTYPE_PUSHPULL(GPIOB_PIN5) | \ - PIN_OTYPE_OPENDRAIN(GPIOB_I2C1_SCL) | \ - PIN_OTYPE_OPENDRAIN(GPIOB_I2C1_SDA) | \ - PIN_OTYPE_PUSHPULL(GPIOB_PIN8) | \ - PIN_OTYPE_PUSHPULL(GPIOB_PIN9) | \ - PIN_OTYPE_PUSHPULL(GPIOB_PIN10) | \ - PIN_OTYPE_PUSHPULL(GPIOB_PIN11) | \ - PIN_OTYPE_PUSHPULL(GPIOB_PIN12) | \ - PIN_OTYPE_PUSHPULL(GPIOB_PIN13) | \ - PIN_OTYPE_PUSHPULL(GPIOB_PIN14) | \ - PIN_OTYPE_PUSHPULL(GPIOB_PIN15)) -#define VAL_GPIOB_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOB_PIN0) | \ - PIN_OSPEED_VERYLOW(GPIOB_PIN1) | \ - PIN_OSPEED_VERYLOW(GPIOB_PIN2) | \ - PIN_OSPEED_HIGH(GPIOB_SWO) | \ - PIN_OSPEED_VERYLOW(GPIOB_PIN4) | \ - PIN_OSPEED_VERYLOW(GPIOB_PIN5) | \ - PIN_OSPEED_HIGH(GPIOB_I2C1_SCL) | \ - PIN_OSPEED_HIGH(GPIOB_I2C1_SDA) | \ - PIN_OSPEED_VERYLOW(GPIOB_PIN8) | \ - PIN_OSPEED_VERYLOW(GPIOB_PIN9) | \ - PIN_OSPEED_VERYLOW(GPIOB_PIN10) | \ - PIN_OSPEED_VERYLOW(GPIOB_PIN11) | \ - PIN_OSPEED_VERYLOW(GPIOB_PIN12) | \ - PIN_OSPEED_VERYLOW(GPIOB_PIN13) | \ - PIN_OSPEED_VERYLOW(GPIOB_PIN14) | \ - PIN_OSPEED_VERYLOW(GPIOB_PIN15)) -#define VAL_GPIOB_PUPDR (PIN_PUPDR_PULLUP(GPIOB_PIN0) | \ - PIN_PUPDR_PULLUP(GPIOB_PIN1) | \ - PIN_PUPDR_PULLUP(GPIOB_PIN2) | \ - PIN_PUPDR_FLOATING(GPIOB_SWO) | \ - PIN_PUPDR_PULLUP(GPIOB_PIN4) | \ - PIN_PUPDR_PULLUP(GPIOB_PIN5) | \ - PIN_PUPDR_FLOATING(GPIOB_I2C1_SCL) | \ - PIN_PUPDR_FLOATING(GPIOB_I2C1_SDA) | \ - PIN_PUPDR_PULLUP(GPIOB_PIN8) | \ - PIN_PUPDR_PULLUP(GPIOB_PIN9) | \ - PIN_PUPDR_PULLUP(GPIOB_PIN10) | \ - PIN_PUPDR_PULLUP(GPIOB_PIN11) | \ - PIN_PUPDR_PULLUP(GPIOB_PIN12) | \ - PIN_PUPDR_PULLUP(GPIOB_PIN13) | \ - PIN_PUPDR_PULLUP(GPIOB_PIN14) | \ - PIN_PUPDR_PULLUP(GPIOB_PIN15)) -#define VAL_GPIOB_ODR (PIN_ODR_HIGH(GPIOB_PIN0) | \ - PIN_ODR_HIGH(GPIOB_PIN1) | \ - PIN_ODR_HIGH(GPIOB_PIN2) | \ - PIN_ODR_HIGH(GPIOB_SWO) | \ - PIN_ODR_HIGH(GPIOB_PIN4) | \ - PIN_ODR_HIGH(GPIOB_PIN5) | \ - PIN_ODR_HIGH(GPIOB_I2C1_SCL) | \ - PIN_ODR_HIGH(GPIOB_I2C1_SDA) | \ - PIN_ODR_HIGH(GPIOB_PIN8) | \ - PIN_ODR_HIGH(GPIOB_PIN9) | \ - PIN_ODR_HIGH(GPIOB_PIN10) | \ - PIN_ODR_HIGH(GPIOB_PIN11) | \ - PIN_ODR_HIGH(GPIOB_PIN12) | \ - PIN_ODR_HIGH(GPIOB_PIN13) | \ - PIN_ODR_HIGH(GPIOB_PIN14) | \ - PIN_ODR_HIGH(GPIOB_PIN15)) -#define VAL_GPIOB_AFRL (PIN_AFIO_AF(GPIOB_PIN0, 0U) | \ - PIN_AFIO_AF(GPIOB_PIN1, 0U) | \ - PIN_AFIO_AF(GPIOB_PIN2, 0U) | \ - PIN_AFIO_AF(GPIOB_SWO, 0U) | \ - PIN_AFIO_AF(GPIOB_PIN4, 0U) | \ - PIN_AFIO_AF(GPIOB_PIN5, 0U) | \ - PIN_AFIO_AF(GPIOB_I2C1_SCL, 4U) | \ - PIN_AFIO_AF(GPIOB_I2C1_SDA, 4U)) -#define VAL_GPIOB_AFRH (PIN_AFIO_AF(GPIOB_PIN8, 0U) | \ - PIN_AFIO_AF(GPIOB_PIN9, 0U) | \ - PIN_AFIO_AF(GPIOB_PIN10, 0U) | \ - PIN_AFIO_AF(GPIOB_PIN11, 0U) | \ - PIN_AFIO_AF(GPIOB_PIN12, 0U) | \ - PIN_AFIO_AF(GPIOB_PIN13, 0U) | \ - PIN_AFIO_AF(GPIOB_PIN14, 0U) | \ - PIN_AFIO_AF(GPIOB_PIN15, 0U)) - -/* - * GPIOC setup: - * - * PC0 - PIN0 (input pullup). - * PC1 - PIN1 (input pullup). - * PC2 - PIN2 (input pullup). - * PC3 - PIN3 (input pullup). - * PC4 - PIN4 (input pullup). - * PC5 - PIN5 (input pullup). - * PC6 - PIN6 (input pullup). - * PC7 - PIN7 (input pullup). - * PC8 - PIN8 (input pullup). - * PC9 - PIN9 (input pullup). - * PC10 - PIN10 (input pullup). - * PC11 - PIN11 (input pullup). - * PC12 - PIN12 (input pullup). - * PC13 - PIN13 (input pullup). - * PC14 - OSC32_IN (input floating). - * PC15 - OSC32_OUT (input floating). - */ -#define VAL_GPIOC_MODER (PIN_MODE_INPUT(GPIOC_PIN0) | \ - PIN_MODE_INPUT(GPIOC_PIN1) | \ - PIN_MODE_INPUT(GPIOC_PIN2) | \ - PIN_MODE_INPUT(GPIOC_PIN3) | \ - PIN_MODE_INPUT(GPIOC_PIN4) | \ - PIN_MODE_INPUT(GPIOC_PIN5) | \ - PIN_MODE_INPUT(GPIOC_PIN6) | \ - PIN_MODE_INPUT(GPIOC_PIN7) | \ - PIN_MODE_INPUT(GPIOC_PIN8) | \ - PIN_MODE_INPUT(GPIOC_PIN9) | \ - PIN_MODE_INPUT(GPIOC_PIN10) | \ - PIN_MODE_INPUT(GPIOC_PIN11) | \ - PIN_MODE_INPUT(GPIOC_PIN12) | \ - PIN_MODE_INPUT(GPIOC_PIN13) | \ - PIN_MODE_INPUT(GPIOC_OSC32_IN) | \ - PIN_MODE_INPUT(GPIOC_OSC32_OUT)) -#define VAL_GPIOC_OTYPER (PIN_OTYPE_PUSHPULL(GPIOC_PIN0) | \ - PIN_OTYPE_PUSHPULL(GPIOC_PIN1) | \ - PIN_OTYPE_PUSHPULL(GPIOC_PIN2) | \ - PIN_OTYPE_PUSHPULL(GPIOC_PIN3) | \ - PIN_OTYPE_PUSHPULL(GPIOC_PIN4) | \ - PIN_OTYPE_PUSHPULL(GPIOC_PIN5) | \ - PIN_OTYPE_PUSHPULL(GPIOC_PIN6) | \ - PIN_OTYPE_PUSHPULL(GPIOC_PIN7) | \ - PIN_OTYPE_PUSHPULL(GPIOC_PIN8) | \ - PIN_OTYPE_PUSHPULL(GPIOC_PIN9) | \ - PIN_OTYPE_PUSHPULL(GPIOC_PIN10) | \ - PIN_OTYPE_PUSHPULL(GPIOC_PIN11) | \ - PIN_OTYPE_PUSHPULL(GPIOC_PIN12) | \ - PIN_OTYPE_PUSHPULL(GPIOC_PIN13) | \ - PIN_OTYPE_PUSHPULL(GPIOC_OSC32_IN) | \ - PIN_OTYPE_PUSHPULL(GPIOC_OSC32_OUT)) -#define VAL_GPIOC_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOC_PIN0) | \ - PIN_OSPEED_VERYLOW(GPIOC_PIN1) | \ - PIN_OSPEED_VERYLOW(GPIOC_PIN2) | \ - PIN_OSPEED_VERYLOW(GPIOC_PIN3) | \ - PIN_OSPEED_VERYLOW(GPIOC_PIN4) | \ - PIN_OSPEED_VERYLOW(GPIOC_PIN5) | \ - PIN_OSPEED_VERYLOW(GPIOC_PIN6) | \ - PIN_OSPEED_VERYLOW(GPIOC_PIN7) | \ - PIN_OSPEED_VERYLOW(GPIOC_PIN8) | \ - PIN_OSPEED_VERYLOW(GPIOC_PIN9) | \ - PIN_OSPEED_VERYLOW(GPIOC_PIN10) | \ - PIN_OSPEED_VERYLOW(GPIOC_PIN11) | \ - PIN_OSPEED_VERYLOW(GPIOC_PIN12) | \ - PIN_OSPEED_VERYLOW(GPIOC_PIN13) | \ - PIN_OSPEED_HIGH(GPIOC_OSC32_IN) | \ - PIN_OSPEED_HIGH(GPIOC_OSC32_OUT)) -#define VAL_GPIOC_PUPDR (PIN_PUPDR_PULLUP(GPIOC_PIN0) | \ - PIN_PUPDR_PULLUP(GPIOC_PIN1) | \ - PIN_PUPDR_PULLUP(GPIOC_PIN2) | \ - PIN_PUPDR_PULLUP(GPIOC_PIN3) | \ - PIN_PUPDR_PULLUP(GPIOC_PIN4) | \ - PIN_PUPDR_PULLUP(GPIOC_PIN5) | \ - PIN_PUPDR_PULLUP(GPIOC_PIN6) | \ - PIN_PUPDR_PULLUP(GPIOC_PIN7) | \ - PIN_PUPDR_PULLUP(GPIOC_PIN8) | \ - PIN_PUPDR_PULLUP(GPIOC_PIN9) | \ - PIN_PUPDR_PULLUP(GPIOC_PIN10) | \ - PIN_PUPDR_PULLUP(GPIOC_PIN11) | \ - PIN_PUPDR_PULLUP(GPIOC_PIN12) | \ - PIN_PUPDR_PULLUP(GPIOC_PIN13) | \ - PIN_PUPDR_FLOATING(GPIOC_OSC32_IN) | \ - PIN_PUPDR_FLOATING(GPIOC_OSC32_OUT)) -#define VAL_GPIOC_ODR (PIN_ODR_HIGH(GPIOC_PIN0) | \ - PIN_ODR_HIGH(GPIOC_PIN1) | \ - PIN_ODR_HIGH(GPIOC_PIN2) | \ - PIN_ODR_HIGH(GPIOC_PIN3) | \ - PIN_ODR_HIGH(GPIOC_PIN4) | \ - PIN_ODR_HIGH(GPIOC_PIN5) | \ - PIN_ODR_HIGH(GPIOC_PIN6) | \ - PIN_ODR_HIGH(GPIOC_PIN7) | \ - PIN_ODR_HIGH(GPIOC_PIN8) | \ - PIN_ODR_HIGH(GPIOC_PIN9) | \ - PIN_ODR_HIGH(GPIOC_PIN10) | \ - PIN_ODR_HIGH(GPIOC_PIN11) | \ - PIN_ODR_HIGH(GPIOC_PIN12) | \ - PIN_ODR_HIGH(GPIOC_PIN13) | \ - PIN_ODR_HIGH(GPIOC_OSC32_IN) | \ - PIN_ODR_HIGH(GPIOC_OSC32_OUT)) -#define VAL_GPIOC_AFRL (PIN_AFIO_AF(GPIOC_PIN0, 0U) | \ - PIN_AFIO_AF(GPIOC_PIN1, 0U) | \ - PIN_AFIO_AF(GPIOC_PIN2, 0U) | \ - PIN_AFIO_AF(GPIOC_PIN3, 0U) | \ - PIN_AFIO_AF(GPIOC_PIN4, 0U) | \ - PIN_AFIO_AF(GPIOC_PIN5, 0U) | \ - PIN_AFIO_AF(GPIOC_PIN6, 0U) | \ - PIN_AFIO_AF(GPIOC_PIN7, 0U)) -#define VAL_GPIOC_AFRH (PIN_AFIO_AF(GPIOC_PIN8, 0U) | \ - PIN_AFIO_AF(GPIOC_PIN9, 0U) | \ - PIN_AFIO_AF(GPIOC_PIN10, 0U) | \ - PIN_AFIO_AF(GPIOC_PIN11, 0U) | \ - PIN_AFIO_AF(GPIOC_PIN12, 0U) | \ - PIN_AFIO_AF(GPIOC_PIN13, 0U) | \ - PIN_AFIO_AF(GPIOC_OSC32_IN, 0U) | \ - PIN_AFIO_AF(GPIOC_OSC32_OUT, 0U)) - -/* - * GPIOD setup: - * - * PD0 - PIN0 (input pullup). - * PD1 - PIN1 (input pullup). - * PD2 - PIN2 (input pullup). - * PD3 - PIN3 (input pullup). - * PD4 - PIN4 (input pullup). - * PD5 - PIN5 (input pullup). - * PD6 - PIN6 (input pullup). - * PD7 - PIN7 (input pullup). - * PD8 - PIN8 (input pullup). - * PD9 - PIN9 (input pullup). - * PD10 - PIN10 (input pullup). - * PD11 - PIN11 (input pullup). - * PD12 - PIN12 (input pullup). - * PD13 - PIN13 (input pullup). - * PD14 - PIN14 (input pullup). - * PD15 - PIN15 (input pullup). - */ -#define VAL_GPIOD_MODER (PIN_MODE_INPUT(GPIOD_PIN0) | \ - PIN_MODE_INPUT(GPIOD_PIN1) | \ - PIN_MODE_INPUT(GPIOD_PIN2) | \ - PIN_MODE_INPUT(GPIOD_PIN3) | \ - PIN_MODE_INPUT(GPIOD_PIN4) | \ - PIN_MODE_INPUT(GPIOD_PIN5) | \ - PIN_MODE_INPUT(GPIOD_PIN6) | \ - PIN_MODE_INPUT(GPIOD_PIN7) | \ - PIN_MODE_INPUT(GPIOD_PIN8) | \ - PIN_MODE_INPUT(GPIOD_PIN9) | \ - PIN_MODE_INPUT(GPIOD_PIN10) | \ - PIN_MODE_INPUT(GPIOD_PIN11) | \ - PIN_MODE_INPUT(GPIOD_PIN12) | \ - PIN_MODE_INPUT(GPIOD_PIN13) | \ - PIN_MODE_INPUT(GPIOD_PIN14) | \ - PIN_MODE_INPUT(GPIOD_PIN15)) -#define VAL_GPIOD_OTYPER (PIN_OTYPE_PUSHPULL(GPIOD_PIN0) | \ - PIN_OTYPE_PUSHPULL(GPIOD_PIN1) | \ - PIN_OTYPE_PUSHPULL(GPIOD_PIN2) | \ - PIN_OTYPE_PUSHPULL(GPIOD_PIN3) | \ - PIN_OTYPE_PUSHPULL(GPIOD_PIN4) | \ - PIN_OTYPE_PUSHPULL(GPIOD_PIN5) | \ - PIN_OTYPE_PUSHPULL(GPIOD_PIN6) | \ - PIN_OTYPE_PUSHPULL(GPIOD_PIN7) | \ - PIN_OTYPE_PUSHPULL(GPIOD_PIN8) | \ - PIN_OTYPE_PUSHPULL(GPIOD_PIN9) | \ - PIN_OTYPE_PUSHPULL(GPIOD_PIN10) | \ - PIN_OTYPE_PUSHPULL(GPIOD_PIN11) | \ - PIN_OTYPE_PUSHPULL(GPIOD_PIN12) | \ - PIN_OTYPE_PUSHPULL(GPIOD_PIN13) | \ - PIN_OTYPE_PUSHPULL(GPIOD_PIN14) | \ - PIN_OTYPE_PUSHPULL(GPIOD_PIN15)) -#define VAL_GPIOD_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOD_PIN0) | \ - PIN_OSPEED_VERYLOW(GPIOD_PIN1) | \ - PIN_OSPEED_VERYLOW(GPIOD_PIN2) | \ - PIN_OSPEED_VERYLOW(GPIOD_PIN3) | \ - PIN_OSPEED_VERYLOW(GPIOD_PIN4) | \ - PIN_OSPEED_VERYLOW(GPIOD_PIN5) | \ - PIN_OSPEED_VERYLOW(GPIOD_PIN6) | \ - PIN_OSPEED_VERYLOW(GPIOD_PIN7) | \ - PIN_OSPEED_VERYLOW(GPIOD_PIN8) | \ - PIN_OSPEED_VERYLOW(GPIOD_PIN9) | \ - PIN_OSPEED_VERYLOW(GPIOD_PIN10) | \ - PIN_OSPEED_VERYLOW(GPIOD_PIN11) | \ - PIN_OSPEED_VERYLOW(GPIOD_PIN12) | \ - PIN_OSPEED_VERYLOW(GPIOD_PIN13) | \ - PIN_OSPEED_VERYLOW(GPIOD_PIN14) | \ - PIN_OSPEED_VERYLOW(GPIOD_PIN15)) -#define VAL_GPIOD_PUPDR (PIN_PUPDR_PULLUP(GPIOD_PIN0) | \ - PIN_PUPDR_PULLUP(GPIOD_PIN1) | \ - PIN_PUPDR_PULLUP(GPIOD_PIN2) | \ - PIN_PUPDR_PULLUP(GPIOD_PIN3) | \ - PIN_PUPDR_PULLUP(GPIOD_PIN4) | \ - PIN_PUPDR_PULLUP(GPIOD_PIN5) | \ - PIN_PUPDR_PULLUP(GPIOD_PIN6) | \ - PIN_PUPDR_PULLUP(GPIOD_PIN7) | \ - PIN_PUPDR_PULLUP(GPIOD_PIN8) | \ - PIN_PUPDR_PULLUP(GPIOD_PIN9) | \ - PIN_PUPDR_PULLUP(GPIOD_PIN10) | \ - PIN_PUPDR_PULLUP(GPIOD_PIN11) | \ - PIN_PUPDR_PULLUP(GPIOD_PIN12) | \ - PIN_PUPDR_PULLUP(GPIOD_PIN13) | \ - PIN_PUPDR_PULLUP(GPIOD_PIN14) | \ - PIN_PUPDR_PULLUP(GPIOD_PIN15)) -#define VAL_GPIOD_ODR (PIN_ODR_HIGH(GPIOD_PIN0) | \ - PIN_ODR_HIGH(GPIOD_PIN1) | \ - PIN_ODR_HIGH(GPIOD_PIN2) | \ - PIN_ODR_HIGH(GPIOD_PIN3) | \ - PIN_ODR_HIGH(GPIOD_PIN4) | \ - PIN_ODR_HIGH(GPIOD_PIN5) | \ - PIN_ODR_HIGH(GPIOD_PIN6) | \ - PIN_ODR_HIGH(GPIOD_PIN7) | \ - PIN_ODR_HIGH(GPIOD_PIN8) | \ - PIN_ODR_HIGH(GPIOD_PIN9) | \ - PIN_ODR_HIGH(GPIOD_PIN10) | \ - PIN_ODR_HIGH(GPIOD_PIN11) | \ - PIN_ODR_HIGH(GPIOD_PIN12) | \ - PIN_ODR_HIGH(GPIOD_PIN13) | \ - PIN_ODR_HIGH(GPIOD_PIN14) | \ - PIN_ODR_HIGH(GPIOD_PIN15)) -#define VAL_GPIOD_AFRL (PIN_AFIO_AF(GPIOD_PIN0, 0U) | \ - PIN_AFIO_AF(GPIOD_PIN1, 0U) | \ - PIN_AFIO_AF(GPIOD_PIN2, 0U) | \ - PIN_AFIO_AF(GPIOD_PIN3, 0U) | \ - PIN_AFIO_AF(GPIOD_PIN4, 0U) | \ - PIN_AFIO_AF(GPIOD_PIN5, 0U) | \ - PIN_AFIO_AF(GPIOD_PIN6, 0U) | \ - PIN_AFIO_AF(GPIOD_PIN7, 0U)) -#define VAL_GPIOD_AFRH (PIN_AFIO_AF(GPIOD_PIN8, 0U) | \ - PIN_AFIO_AF(GPIOD_PIN9, 0U) | \ - PIN_AFIO_AF(GPIOD_PIN10, 0U) | \ - PIN_AFIO_AF(GPIOD_PIN11, 0U) | \ - PIN_AFIO_AF(GPIOD_PIN12, 0U) | \ - PIN_AFIO_AF(GPIOD_PIN13, 0U) | \ - PIN_AFIO_AF(GPIOD_PIN14, 0U) | \ - PIN_AFIO_AF(GPIOD_PIN15, 0U)) - -/* - * GPIOE setup: - * - * PE0 - L3GD20_INT1 (input pullup). - * PE1 - L3GD20_INT2 (input pullup). - * PE2 - LSM303DLHC_DRDY (input pullup). - * PE3 - SPI1_CS L3GD20_CS (output pushpull maximum). - * PE4 - LSM303DLHC_INT1 (input pullup). - * PE5 - LSM303DLHC_INT2 (input pullup). - * PE6 - PIN6 (input pullup). - * PE7 - PIN7 (input pullup). - * PE8 - LED4_BLUE (output pushpull maximum). - * PE9 - LED3_RED (output pushpull maximum). - * PE10 - LED5_ORANGE (output pushpull maximum). - * PE11 - LED7_GREEN (output pushpull maximum). - * PE12 - LED9_BLUE (output pushpull maximum). - * PE13 - LED10_RED (output pushpull maximum). - * PE14 - LED8_ORANGE (output pushpull maximum). - * PE15 - LED6_GREEN (output pushpull maximum). - */ -#define VAL_GPIOE_MODER (PIN_MODE_INPUT(GPIOE_L3GD20_INT1) | \ - PIN_MODE_INPUT(GPIOE_L3GD20_INT2) | \ - PIN_MODE_INPUT(GPIOE_LSM303DLHC_DRDY) |\ - PIN_MODE_OUTPUT(GPIOE_SPI1_CS) | \ - PIN_MODE_INPUT(GPIOE_LSM303DLHC_INT1) |\ - PIN_MODE_INPUT(GPIOE_LSM303DLHC_INT2) |\ - PIN_MODE_INPUT(GPIOE_PIN6) | \ - PIN_MODE_INPUT(GPIOE_PIN7) | \ - PIN_MODE_OUTPUT(GPIOE_LED4_BLUE) | \ - PIN_MODE_OUTPUT(GPIOE_LED3_RED) | \ - PIN_MODE_OUTPUT(GPIOE_LED5_ORANGE) | \ - PIN_MODE_OUTPUT(GPIOE_LED7_GREEN) | \ - PIN_MODE_OUTPUT(GPIOE_LED9_BLUE) | \ - PIN_MODE_OUTPUT(GPIOE_LED10_RED) | \ - PIN_MODE_OUTPUT(GPIOE_LED8_ORANGE) | \ - PIN_MODE_OUTPUT(GPIOE_LED6_GREEN)) -#define VAL_GPIOE_OTYPER (PIN_OTYPE_PUSHPULL(GPIOE_L3GD20_INT1) |\ - PIN_OTYPE_PUSHPULL(GPIOE_L3GD20_INT2) |\ - PIN_OTYPE_PUSHPULL(GPIOE_LSM303DLHC_DRDY) |\ - PIN_OTYPE_PUSHPULL(GPIOE_SPI1_CS) | \ - PIN_OTYPE_PUSHPULL(GPIOE_LSM303DLHC_INT1) |\ - PIN_OTYPE_PUSHPULL(GPIOE_LSM303DLHC_INT2) |\ - PIN_OTYPE_PUSHPULL(GPIOE_PIN6) | \ - PIN_OTYPE_PUSHPULL(GPIOE_PIN7) | \ - PIN_OTYPE_PUSHPULL(GPIOE_LED4_BLUE) | \ - PIN_OTYPE_PUSHPULL(GPIOE_LED3_RED) | \ - PIN_OTYPE_PUSHPULL(GPIOE_LED5_ORANGE) |\ - PIN_OTYPE_PUSHPULL(GPIOE_LED7_GREEN) | \ - PIN_OTYPE_PUSHPULL(GPIOE_LED9_BLUE) | \ - PIN_OTYPE_PUSHPULL(GPIOE_LED10_RED) | \ - PIN_OTYPE_PUSHPULL(GPIOE_LED8_ORANGE) |\ - PIN_OTYPE_PUSHPULL(GPIOE_LED6_GREEN)) -#define VAL_GPIOE_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOE_L3GD20_INT1) |\ - PIN_OSPEED_VERYLOW(GPIOE_L3GD20_INT2) |\ - PIN_OSPEED_VERYLOW(GPIOE_LSM303DLHC_DRDY) |\ - PIN_OSPEED_HIGH(GPIOE_SPI1_CS) | \ - PIN_OSPEED_VERYLOW(GPIOE_LSM303DLHC_INT1) |\ - PIN_OSPEED_VERYLOW(GPIOE_LSM303DLHC_INT2) |\ - PIN_OSPEED_VERYLOW(GPIOE_PIN6) | \ - PIN_OSPEED_VERYLOW(GPIOE_PIN7) | \ - PIN_OSPEED_HIGH(GPIOE_LED4_BLUE) | \ - PIN_OSPEED_HIGH(GPIOE_LED3_RED) | \ - PIN_OSPEED_HIGH(GPIOE_LED5_ORANGE) | \ - PIN_OSPEED_HIGH(GPIOE_LED7_GREEN) | \ - PIN_OSPEED_HIGH(GPIOE_LED9_BLUE) | \ - PIN_OSPEED_HIGH(GPIOE_LED10_RED) | \ - PIN_OSPEED_HIGH(GPIOE_LED8_ORANGE) | \ - PIN_OSPEED_HIGH(GPIOE_LED6_GREEN)) -#define VAL_GPIOE_PUPDR (PIN_PUPDR_PULLUP(GPIOE_L3GD20_INT1) | \ - PIN_PUPDR_PULLUP(GPIOE_L3GD20_INT2) | \ - PIN_PUPDR_PULLUP(GPIOE_LSM303DLHC_DRDY) |\ - PIN_PUPDR_FLOATING(GPIOE_SPI1_CS) | \ - PIN_PUPDR_PULLUP(GPIOE_LSM303DLHC_INT1) |\ - PIN_PUPDR_PULLUP(GPIOE_LSM303DLHC_INT2) |\ - PIN_PUPDR_PULLUP(GPIOE_PIN6) | \ - PIN_PUPDR_PULLUP(GPIOE_PIN7) | \ - PIN_PUPDR_PULLUP(GPIOE_LED4_BLUE) | \ - PIN_PUPDR_PULLUP(GPIOE_LED3_RED) | \ - PIN_PUPDR_PULLUP(GPIOE_LED5_ORANGE) | \ - PIN_PUPDR_FLOATING(GPIOE_LED7_GREEN) | \ - PIN_PUPDR_PULLUP(GPIOE_LED9_BLUE) | \ - PIN_PUPDR_FLOATING(GPIOE_LED10_RED) | \ - PIN_PUPDR_FLOATING(GPIOE_LED8_ORANGE) |\ - PIN_PUPDR_FLOATING(GPIOE_LED6_GREEN)) -#define VAL_GPIOE_ODR (PIN_ODR_HIGH(GPIOE_L3GD20_INT1) | \ - PIN_ODR_HIGH(GPIOE_L3GD20_INT2) | \ - PIN_ODR_HIGH(GPIOE_LSM303DLHC_DRDY) | \ - PIN_ODR_HIGH(GPIOE_SPI1_CS) | \ - PIN_ODR_HIGH(GPIOE_LSM303DLHC_INT1) | \ - PIN_ODR_HIGH(GPIOE_LSM303DLHC_INT2) | \ - PIN_ODR_HIGH(GPIOE_PIN6) | \ - PIN_ODR_HIGH(GPIOE_PIN7) | \ - PIN_ODR_LOW(GPIOE_LED4_BLUE) | \ - PIN_ODR_LOW(GPIOE_LED3_RED) | \ - PIN_ODR_LOW(GPIOE_LED5_ORANGE) | \ - PIN_ODR_LOW(GPIOE_LED7_GREEN) | \ - PIN_ODR_LOW(GPIOE_LED9_BLUE) | \ - PIN_ODR_LOW(GPIOE_LED10_RED) | \ - PIN_ODR_LOW(GPIOE_LED8_ORANGE) | \ - PIN_ODR_LOW(GPIOE_LED6_GREEN)) -#define VAL_GPIOE_AFRL (PIN_AFIO_AF(GPIOE_L3GD20_INT1, 0U) | \ - PIN_AFIO_AF(GPIOE_L3GD20_INT2, 0U) | \ - PIN_AFIO_AF(GPIOE_LSM303DLHC_DRDY, 0U) |\ - PIN_AFIO_AF(GPIOE_SPI1_CS, 0U) | \ - PIN_AFIO_AF(GPIOE_LSM303DLHC_INT1, 0U) |\ - PIN_AFIO_AF(GPIOE_LSM303DLHC_INT2, 0U) |\ - PIN_AFIO_AF(GPIOE_PIN6, 0U) | \ - PIN_AFIO_AF(GPIOE_PIN7, 0U)) -#define VAL_GPIOE_AFRH (PIN_AFIO_AF(GPIOE_LED4_BLUE, 0U) | \ - PIN_AFIO_AF(GPIOE_LED3_RED, 0U) | \ - PIN_AFIO_AF(GPIOE_LED5_ORANGE, 0U) | \ - PIN_AFIO_AF(GPIOE_LED7_GREEN, 0U) | \ - PIN_AFIO_AF(GPIOE_LED9_BLUE, 0U) | \ - PIN_AFIO_AF(GPIOE_LED10_RED, 0U) | \ - PIN_AFIO_AF(GPIOE_LED8_ORANGE, 0U) | \ - PIN_AFIO_AF(GPIOE_LED6_GREEN, 0U)) - -/* - * GPIOF setup: - * - * PF0 - OSC_IN (input floating). - * PF1 - OSC_OUT (input floating). - * PF2 - PIN2 (input pullup). - * PF3 - PIN3 (input pullup). - * PF4 - PIN4 (input pullup). - * PF5 - PIN5 (input pullup). - * PF6 - PIN6 (input pullup). - * PF7 - PIN7 (input pullup). - * PF8 - PIN8 (input pullup). - * PF9 - PIN9 (input pullup). - * PF10 - PIN10 (input pullup). - * PF11 - PIN11 (input pullup). - * PF12 - PIN12 (input pullup). - * PF13 - PIN13 (input pullup). - * PF14 - PIN14 (input pullup). - * PF15 - PIN15 (input pullup). - */ -#define VAL_GPIOF_MODER (PIN_MODE_INPUT(GPIOF_OSC_IN) | \ - PIN_MODE_INPUT(GPIOF_OSC_OUT) | \ - PIN_MODE_INPUT(GPIOF_PIN2) | \ - PIN_MODE_INPUT(GPIOF_PIN3) | \ - PIN_MODE_INPUT(GPIOF_PIN4) | \ - PIN_MODE_INPUT(GPIOF_PIN5) | \ - PIN_MODE_INPUT(GPIOF_PIN6) | \ - PIN_MODE_INPUT(GPIOF_PIN7) | \ - PIN_MODE_INPUT(GPIOF_PIN8) | \ - PIN_MODE_INPUT(GPIOF_PIN9) | \ - PIN_MODE_INPUT(GPIOF_PIN10) | \ - PIN_MODE_INPUT(GPIOF_PIN11) | \ - PIN_MODE_INPUT(GPIOF_PIN12) | \ - PIN_MODE_INPUT(GPIOF_PIN13) | \ - PIN_MODE_INPUT(GPIOF_PIN14) | \ - PIN_MODE_INPUT(GPIOF_PIN15)) -#define VAL_GPIOF_OTYPER (PIN_OTYPE_PUSHPULL(GPIOF_OSC_IN) | \ - PIN_OTYPE_PUSHPULL(GPIOF_OSC_OUT) | \ - PIN_OTYPE_PUSHPULL(GPIOF_PIN2) | \ - PIN_OTYPE_PUSHPULL(GPIOF_PIN3) | \ - PIN_OTYPE_PUSHPULL(GPIOF_PIN4) | \ - PIN_OTYPE_PUSHPULL(GPIOF_PIN5) | \ - PIN_OTYPE_PUSHPULL(GPIOF_PIN6) | \ - PIN_OTYPE_PUSHPULL(GPIOF_PIN7) | \ - PIN_OTYPE_PUSHPULL(GPIOF_PIN8) | \ - PIN_OTYPE_PUSHPULL(GPIOF_PIN9) | \ - PIN_OTYPE_PUSHPULL(GPIOF_PIN10) | \ - PIN_OTYPE_PUSHPULL(GPIOF_PIN11) | \ - PIN_OTYPE_PUSHPULL(GPIOF_PIN12) | \ - PIN_OTYPE_PUSHPULL(GPIOF_PIN13) | \ - PIN_OTYPE_PUSHPULL(GPIOF_PIN14) | \ - PIN_OTYPE_PUSHPULL(GPIOF_PIN15)) -#define VAL_GPIOF_OSPEEDR (PIN_OSPEED_HIGH(GPIOF_OSC_IN) | \ - PIN_OSPEED_HIGH(GPIOF_OSC_OUT) | \ - PIN_OSPEED_VERYLOW(GPIOF_PIN2) | \ - PIN_OSPEED_VERYLOW(GPIOF_PIN3) | \ - PIN_OSPEED_VERYLOW(GPIOF_PIN4) | \ - PIN_OSPEED_VERYLOW(GPIOF_PIN5) | \ - PIN_OSPEED_VERYLOW(GPIOF_PIN6) | \ - PIN_OSPEED_VERYLOW(GPIOF_PIN7) | \ - PIN_OSPEED_VERYLOW(GPIOF_PIN8) | \ - PIN_OSPEED_VERYLOW(GPIOF_PIN9) | \ - PIN_OSPEED_VERYLOW(GPIOF_PIN10) | \ - PIN_OSPEED_VERYLOW(GPIOF_PIN11) | \ - PIN_OSPEED_VERYLOW(GPIOF_PIN12) | \ - PIN_OSPEED_VERYLOW(GPIOF_PIN13) | \ - PIN_OSPEED_VERYLOW(GPIOF_PIN14) | \ - PIN_OSPEED_VERYLOW(GPIOF_PIN15)) -#define VAL_GPIOF_PUPDR (PIN_PUPDR_FLOATING(GPIOF_OSC_IN) | \ - PIN_PUPDR_FLOATING(GPIOF_OSC_OUT) | \ - PIN_PUPDR_PULLUP(GPIOF_PIN2) | \ - PIN_PUPDR_PULLUP(GPIOF_PIN3) | \ - PIN_PUPDR_PULLUP(GPIOF_PIN4) | \ - PIN_PUPDR_PULLUP(GPIOF_PIN5) | \ - PIN_PUPDR_PULLUP(GPIOF_PIN6) | \ - PIN_PUPDR_PULLUP(GPIOF_PIN7) | \ - PIN_PUPDR_PULLUP(GPIOF_PIN8) | \ - PIN_PUPDR_PULLUP(GPIOF_PIN9) | \ - PIN_PUPDR_PULLUP(GPIOF_PIN10) | \ - PIN_PUPDR_PULLUP(GPIOF_PIN11) | \ - PIN_PUPDR_PULLUP(GPIOF_PIN12) | \ - PIN_PUPDR_PULLUP(GPIOF_PIN13) | \ - PIN_PUPDR_PULLUP(GPIOF_PIN14) | \ - PIN_PUPDR_PULLUP(GPIOF_PIN15)) -#define VAL_GPIOF_ODR (PIN_ODR_HIGH(GPIOF_OSC_IN) | \ - PIN_ODR_HIGH(GPIOF_OSC_OUT) | \ - PIN_ODR_HIGH(GPIOF_PIN2) | \ - PIN_ODR_HIGH(GPIOF_PIN3) | \ - PIN_ODR_HIGH(GPIOF_PIN4) | \ - PIN_ODR_HIGH(GPIOF_PIN5) | \ - PIN_ODR_HIGH(GPIOF_PIN6) | \ - PIN_ODR_HIGH(GPIOF_PIN7) | \ - PIN_ODR_HIGH(GPIOF_PIN8) | \ - PIN_ODR_HIGH(GPIOF_PIN9) | \ - PIN_ODR_HIGH(GPIOF_PIN10) | \ - PIN_ODR_HIGH(GPIOF_PIN11) | \ - PIN_ODR_HIGH(GPIOF_PIN12) | \ - PIN_ODR_HIGH(GPIOF_PIN13) | \ - PIN_ODR_HIGH(GPIOF_PIN14) | \ - PIN_ODR_HIGH(GPIOF_PIN15)) -#define VAL_GPIOF_AFRL (PIN_AFIO_AF(GPIOF_OSC_IN, 0U) | \ - PIN_AFIO_AF(GPIOF_OSC_OUT, 0U) | \ - PIN_AFIO_AF(GPIOF_PIN2, 0U) | \ - PIN_AFIO_AF(GPIOF_PIN3, 0U) | \ - PIN_AFIO_AF(GPIOF_PIN4, 0U) | \ - PIN_AFIO_AF(GPIOF_PIN5, 0U) | \ - PIN_AFIO_AF(GPIOF_PIN6, 0U) | \ - PIN_AFIO_AF(GPIOF_PIN7, 0U)) -#define VAL_GPIOF_AFRH (PIN_AFIO_AF(GPIOF_PIN8, 0U) | \ - PIN_AFIO_AF(GPIOF_PIN9, 0U) | \ - PIN_AFIO_AF(GPIOF_PIN10, 0U) | \ - PIN_AFIO_AF(GPIOF_PIN11, 0U) | \ - PIN_AFIO_AF(GPIOF_PIN12, 0U) | \ - PIN_AFIO_AF(GPIOF_PIN13, 0U) | \ - PIN_AFIO_AF(GPIOF_PIN14, 0U) | \ - PIN_AFIO_AF(GPIOF_PIN15, 0U)) - -/* - * GPIOG setup: - * - * PG0 - PIN0 (input pullup). - * PG1 - PIN1 (input pullup). - * PG2 - PIN2 (input pullup). - * PG3 - PIN3 (input pullup). - * PG4 - PIN4 (input pullup). - * PG5 - PIN5 (input pullup). - * PG6 - PIN6 (input pullup). - * PG7 - PIN7 (input pullup). - * PG8 - PIN8 (input pullup). - * PG9 - PIN9 (input pullup). - * PG10 - PIN10 (input pullup). - * PG11 - PIN11 (input pullup). - * PG12 - PIN12 (input pullup). - * PG13 - PIN13 (input pullup). - * PG14 - PIN14 (input pullup). - * PG15 - PIN15 (input pullup). - */ -#define VAL_GPIOG_MODER (PIN_MODE_INPUT(GPIOG_PIN0) | \ - PIN_MODE_INPUT(GPIOG_PIN1) | \ - PIN_MODE_INPUT(GPIOG_PIN2) | \ - PIN_MODE_INPUT(GPIOG_PIN3) | \ - PIN_MODE_INPUT(GPIOG_PIN4) | \ - PIN_MODE_INPUT(GPIOG_PIN5) | \ - PIN_MODE_INPUT(GPIOG_PIN6) | \ - PIN_MODE_INPUT(GPIOG_PIN7) | \ - PIN_MODE_INPUT(GPIOG_PIN8) | \ - PIN_MODE_INPUT(GPIOG_PIN9) | \ - PIN_MODE_INPUT(GPIOG_PIN10) | \ - PIN_MODE_INPUT(GPIOG_PIN11) | \ - PIN_MODE_INPUT(GPIOG_PIN12) | \ - PIN_MODE_INPUT(GPIOG_PIN13) | \ - PIN_MODE_INPUT(GPIOG_PIN14) | \ - PIN_MODE_INPUT(GPIOG_PIN15)) -#define VAL_GPIOG_OTYPER (PIN_OTYPE_PUSHPULL(GPIOG_PIN0) | \ - PIN_OTYPE_PUSHPULL(GPIOG_PIN1) | \ - PIN_OTYPE_PUSHPULL(GPIOG_PIN2) | \ - PIN_OTYPE_PUSHPULL(GPIOG_PIN3) | \ - PIN_OTYPE_PUSHPULL(GPIOG_PIN4) | \ - PIN_OTYPE_PUSHPULL(GPIOG_PIN5) | \ - PIN_OTYPE_PUSHPULL(GPIOG_PIN6) | \ - PIN_OTYPE_PUSHPULL(GPIOG_PIN7) | \ - PIN_OTYPE_PUSHPULL(GPIOG_PIN8) | \ - PIN_OTYPE_PUSHPULL(GPIOG_PIN9) | \ - PIN_OTYPE_PUSHPULL(GPIOG_PIN10) | \ - PIN_OTYPE_PUSHPULL(GPIOG_PIN11) | \ - PIN_OTYPE_PUSHPULL(GPIOG_PIN12) | \ - PIN_OTYPE_PUSHPULL(GPIOG_PIN13) | \ - PIN_OTYPE_PUSHPULL(GPIOG_PIN14) | \ - PIN_OTYPE_PUSHPULL(GPIOG_PIN15)) -#define VAL_GPIOG_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOG_PIN0) | \ - PIN_OSPEED_VERYLOW(GPIOG_PIN1) | \ - PIN_OSPEED_VERYLOW(GPIOG_PIN2) | \ - PIN_OSPEED_VERYLOW(GPIOG_PIN3) | \ - PIN_OSPEED_VERYLOW(GPIOG_PIN4) | \ - PIN_OSPEED_VERYLOW(GPIOG_PIN5) | \ - PIN_OSPEED_VERYLOW(GPIOG_PIN6) | \ - PIN_OSPEED_VERYLOW(GPIOG_PIN7) | \ - PIN_OSPEED_VERYLOW(GPIOG_PIN8) | \ - PIN_OSPEED_VERYLOW(GPIOG_PIN9) | \ - PIN_OSPEED_VERYLOW(GPIOG_PIN10) | \ - PIN_OSPEED_VERYLOW(GPIOG_PIN11) | \ - PIN_OSPEED_VERYLOW(GPIOG_PIN12) | \ - PIN_OSPEED_VERYLOW(GPIOG_PIN13) | \ - PIN_OSPEED_VERYLOW(GPIOG_PIN14) | \ - PIN_OSPEED_VERYLOW(GPIOG_PIN15)) -#define VAL_GPIOG_PUPDR (PIN_PUPDR_PULLUP(GPIOG_PIN0) | \ - PIN_PUPDR_PULLUP(GPIOG_PIN1) | \ - PIN_PUPDR_PULLUP(GPIOG_PIN2) | \ - PIN_PUPDR_PULLUP(GPIOG_PIN3) | \ - PIN_PUPDR_PULLUP(GPIOG_PIN4) | \ - PIN_PUPDR_PULLUP(GPIOG_PIN5) | \ - PIN_PUPDR_PULLUP(GPIOG_PIN6) | \ - PIN_PUPDR_PULLUP(GPIOG_PIN7) | \ - PIN_PUPDR_PULLUP(GPIOG_PIN8) | \ - PIN_PUPDR_PULLUP(GPIOG_PIN9) | \ - PIN_PUPDR_PULLUP(GPIOG_PIN10) | \ - PIN_PUPDR_PULLUP(GPIOG_PIN11) | \ - PIN_PUPDR_PULLUP(GPIOG_PIN12) | \ - PIN_PUPDR_PULLUP(GPIOG_PIN13) | \ - PIN_PUPDR_PULLUP(GPIOG_PIN14) | \ - PIN_PUPDR_PULLUP(GPIOG_PIN15)) -#define VAL_GPIOG_ODR (PIN_ODR_HIGH(GPIOG_PIN0) | \ - PIN_ODR_HIGH(GPIOG_PIN1) | \ - PIN_ODR_HIGH(GPIOG_PIN2) | \ - PIN_ODR_HIGH(GPIOG_PIN3) | \ - PIN_ODR_HIGH(GPIOG_PIN4) | \ - PIN_ODR_HIGH(GPIOG_PIN5) | \ - PIN_ODR_HIGH(GPIOG_PIN6) | \ - PIN_ODR_HIGH(GPIOG_PIN7) | \ - PIN_ODR_HIGH(GPIOG_PIN8) | \ - PIN_ODR_HIGH(GPIOG_PIN9) | \ - PIN_ODR_HIGH(GPIOG_PIN10) | \ - PIN_ODR_HIGH(GPIOG_PIN11) | \ - PIN_ODR_HIGH(GPIOG_PIN12) | \ - PIN_ODR_HIGH(GPIOG_PIN13) | \ - PIN_ODR_HIGH(GPIOG_PIN14) | \ - PIN_ODR_HIGH(GPIOG_PIN15)) -#define VAL_GPIOG_AFRL (PIN_AFIO_AF(GPIOG_PIN0, 0U) | \ - PIN_AFIO_AF(GPIOG_PIN1, 0U) | \ - PIN_AFIO_AF(GPIOG_PIN2, 0U) | \ - PIN_AFIO_AF(GPIOG_PIN3, 0U) | \ - PIN_AFIO_AF(GPIOG_PIN4, 0U) | \ - PIN_AFIO_AF(GPIOG_PIN5, 0U) | \ - PIN_AFIO_AF(GPIOG_PIN6, 0U) | \ - PIN_AFIO_AF(GPIOG_PIN7, 0U)) -#define VAL_GPIOG_AFRH (PIN_AFIO_AF(GPIOG_PIN8, 0U) | \ - PIN_AFIO_AF(GPIOG_PIN9, 0U) | \ - PIN_AFIO_AF(GPIOG_PIN10, 0U) | \ - PIN_AFIO_AF(GPIOG_PIN11, 0U) | \ - PIN_AFIO_AF(GPIOG_PIN12, 0U) | \ - PIN_AFIO_AF(GPIOG_PIN13, 0U) | \ - PIN_AFIO_AF(GPIOG_PIN14, 0U) | \ - PIN_AFIO_AF(GPIOG_PIN15, 0U)) - -/* - * GPIOH setup: - * - * PH0 - PIN0 (input pullup). - * PH1 - PIN1 (input pullup). - * PH2 - PIN2 (input pullup). - * PH3 - PIN3 (input pullup). - * PH4 - PIN4 (input pullup). - * PH5 - PIN5 (input pullup). - * PH6 - PIN6 (input pullup). - * PH7 - PIN7 (input pullup). - * PH8 - PIN8 (input pullup). - * PH9 - PIN9 (input pullup). - * PH10 - PIN10 (input pullup). - * PH11 - PIN11 (input pullup). - * PH12 - PIN12 (input pullup). - * PH13 - PIN13 (input pullup). - * PH14 - PIN14 (input pullup). - * PH15 - PIN15 (input pullup). - */ -#define VAL_GPIOH_MODER (PIN_MODE_INPUT(GPIOH_PIN0) | \ - PIN_MODE_INPUT(GPIOH_PIN1) | \ - PIN_MODE_INPUT(GPIOH_PIN2) | \ - PIN_MODE_INPUT(GPIOH_PIN3) | \ - PIN_MODE_INPUT(GPIOH_PIN4) | \ - PIN_MODE_INPUT(GPIOH_PIN5) | \ - PIN_MODE_INPUT(GPIOH_PIN6) | \ - PIN_MODE_INPUT(GPIOH_PIN7) | \ - PIN_MODE_INPUT(GPIOH_PIN8) | \ - PIN_MODE_INPUT(GPIOH_PIN9) | \ - PIN_MODE_INPUT(GPIOH_PIN10) | \ - PIN_MODE_INPUT(GPIOH_PIN11) | \ - PIN_MODE_INPUT(GPIOH_PIN12) | \ - PIN_MODE_INPUT(GPIOH_PIN13) | \ - PIN_MODE_INPUT(GPIOH_PIN14) | \ - PIN_MODE_INPUT(GPIOH_PIN15)) -#define VAL_GPIOH_OTYPER (PIN_OTYPE_PUSHPULL(GPIOH_PIN0) | \ - PIN_OTYPE_PUSHPULL(GPIOH_PIN1) | \ - PIN_OTYPE_PUSHPULL(GPIOH_PIN2) | \ - PIN_OTYPE_PUSHPULL(GPIOH_PIN3) | \ - PIN_OTYPE_PUSHPULL(GPIOH_PIN4) | \ - PIN_OTYPE_PUSHPULL(GPIOH_PIN5) | \ - PIN_OTYPE_PUSHPULL(GPIOH_PIN6) | \ - PIN_OTYPE_PUSHPULL(GPIOH_PIN7) | \ - PIN_OTYPE_PUSHPULL(GPIOH_PIN8) | \ - PIN_OTYPE_PUSHPULL(GPIOH_PIN9) | \ - PIN_OTYPE_PUSHPULL(GPIOH_PIN10) | \ - PIN_OTYPE_PUSHPULL(GPIOH_PIN11) | \ - PIN_OTYPE_PUSHPULL(GPIOH_PIN12) | \ - PIN_OTYPE_PUSHPULL(GPIOH_PIN13) | \ - PIN_OTYPE_PUSHPULL(GPIOH_PIN14) | \ - PIN_OTYPE_PUSHPULL(GPIOH_PIN15)) -#define VAL_GPIOH_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOH_PIN0) | \ - PIN_OSPEED_VERYLOW(GPIOH_PIN1) | \ - PIN_OSPEED_VERYLOW(GPIOH_PIN2) | \ - PIN_OSPEED_VERYLOW(GPIOH_PIN3) | \ - PIN_OSPEED_VERYLOW(GPIOH_PIN4) | \ - PIN_OSPEED_VERYLOW(GPIOH_PIN5) | \ - PIN_OSPEED_VERYLOW(GPIOH_PIN6) | \ - PIN_OSPEED_VERYLOW(GPIOH_PIN7) | \ - PIN_OSPEED_VERYLOW(GPIOH_PIN8) | \ - PIN_OSPEED_VERYLOW(GPIOH_PIN9) | \ - PIN_OSPEED_VERYLOW(GPIOH_PIN10) | \ - PIN_OSPEED_VERYLOW(GPIOH_PIN11) | \ - PIN_OSPEED_VERYLOW(GPIOH_PIN12) | \ - PIN_OSPEED_VERYLOW(GPIOH_PIN13) | \ - PIN_OSPEED_VERYLOW(GPIOH_PIN14) | \ - PIN_OSPEED_VERYLOW(GPIOH_PIN15)) -#define VAL_GPIOH_PUPDR (PIN_PUPDR_PULLUP(GPIOH_PIN0) | \ - PIN_PUPDR_PULLUP(GPIOH_PIN1) | \ - PIN_PUPDR_PULLUP(GPIOH_PIN2) | \ - PIN_PUPDR_PULLUP(GPIOH_PIN3) | \ - PIN_PUPDR_PULLUP(GPIOH_PIN4) | \ - PIN_PUPDR_PULLUP(GPIOH_PIN5) | \ - PIN_PUPDR_PULLUP(GPIOH_PIN6) | \ - PIN_PUPDR_PULLUP(GPIOH_PIN7) | \ - PIN_PUPDR_PULLUP(GPIOH_PIN8) | \ - PIN_PUPDR_PULLUP(GPIOH_PIN9) | \ - PIN_PUPDR_PULLUP(GPIOH_PIN10) | \ - PIN_PUPDR_PULLUP(GPIOH_PIN11) | \ - PIN_PUPDR_PULLUP(GPIOH_PIN12) | \ - PIN_PUPDR_PULLUP(GPIOH_PIN13) | \ - PIN_PUPDR_PULLUP(GPIOH_PIN14) | \ - PIN_PUPDR_PULLUP(GPIOH_PIN15)) -#define VAL_GPIOH_ODR (PIN_ODR_HIGH(GPIOH_PIN0) | \ - PIN_ODR_HIGH(GPIOH_PIN1) | \ - PIN_ODR_HIGH(GPIOH_PIN2) | \ - PIN_ODR_HIGH(GPIOH_PIN3) | \ - PIN_ODR_HIGH(GPIOH_PIN4) | \ - PIN_ODR_HIGH(GPIOH_PIN5) | \ - PIN_ODR_HIGH(GPIOH_PIN6) | \ - PIN_ODR_HIGH(GPIOH_PIN7) | \ - PIN_ODR_HIGH(GPIOH_PIN8) | \ - PIN_ODR_HIGH(GPIOH_PIN9) | \ - PIN_ODR_HIGH(GPIOH_PIN10) | \ - PIN_ODR_HIGH(GPIOH_PIN11) | \ - PIN_ODR_HIGH(GPIOH_PIN12) | \ - PIN_ODR_HIGH(GPIOH_PIN13) | \ - PIN_ODR_HIGH(GPIOH_PIN14) | \ - PIN_ODR_HIGH(GPIOH_PIN15)) -#define VAL_GPIOH_AFRL (PIN_AFIO_AF(GPIOH_PIN0, 0U) | \ - PIN_AFIO_AF(GPIOH_PIN1, 0U) | \ - PIN_AFIO_AF(GPIOH_PIN2, 0U) | \ - PIN_AFIO_AF(GPIOH_PIN3, 0U) | \ - PIN_AFIO_AF(GPIOH_PIN4, 0U) | \ - PIN_AFIO_AF(GPIOH_PIN5, 0U) | \ - PIN_AFIO_AF(GPIOH_PIN6, 0U) | \ - PIN_AFIO_AF(GPIOH_PIN7, 0U)) -#define VAL_GPIOH_AFRH (PIN_AFIO_AF(GPIOH_PIN8, 0U) | \ - PIN_AFIO_AF(GPIOH_PIN9, 0U) | \ - PIN_AFIO_AF(GPIOH_PIN10, 0U) | \ - PIN_AFIO_AF(GPIOH_PIN11, 0U) | \ - PIN_AFIO_AF(GPIOH_PIN12, 0U) | \ - PIN_AFIO_AF(GPIOH_PIN13, 0U) | \ - PIN_AFIO_AF(GPIOH_PIN14, 0U) | \ - PIN_AFIO_AF(GPIOH_PIN15, 0U)) - -//***************************************************************************** - -/* - * AHB_CLK - */ -#define AHB_CLK STM32_HCLK - -/* - * LEDs - */ -/* red */ -#ifndef USE_LED_1 -#define USE_LED_1 1 -#endif -#define LED_1_GPIO GPIOE -#define LED_1_GPIO_PIN GPIO9 -#define LED_1_GPIO_ON gpio_clear -#define LED_1_GPIO_OFF gpio_set - -/* blue */ -#ifndef USE_LED_2 -#define USE_LED_2 1 -#endif -#define LED_2_GPIO GPIOE -#define LED_2_GPIO_PIN GPIO8 -#define LED_2_GPIO_ON gpio_clear -#define LED_2_GPIO_OFF gpio_set - -/*orange */ -#ifndef USE_LED_3 -#define USE_LED_3 1 -#endif -#define LED_3_GPIO GPIOE -#define LED_3_GPIO_PIN GPIO10 -#define LED_3_GPIO_ON gpio_clear -#define LED_3_GPIO_OFF gpio_set - -/* green */ -#ifndef USE_LED_4 -#define USE_LED_4 1 -#endif -#define LED_4_GPIO GPIOE -#define LED_4_GPIO_PIN GPIO11 -#define LED_4_GPIO_ON gpio_clear -#define LED_4_GPIO_OFF gpio_set - -/* blue*/ -#ifndef USE_LED_5 -#define USE_LED_5 0 -#endif -#define LED_5_GPIO GPIOE -#define LED_5_GPIO_PIN GPIO12 -#define LED_5_GPIO_ON gpio_set -#define LED_5_GPIO_OFF gpio_clear - -/* red*/ -#ifndef USE_LED_6 -#define USE_LED_6 0 -#endif -#define LED_6_GPIO GPIOE -#define LED_6_GPIO_PIN GPIO13 -#define LED_6_GPIO_ON gpio_set -#define LED_6_GPIO_OFF gpio_clear - -/* orange*/ -#ifndef USE_LED_7 -#define USE_LED_7 0 -#endif -#define LED_7_GPIO GPIOE -#define LED_7_GPIO_PIN GPIO13 -#define LED_7_GPIO_ON gpio_set -#define LED_7_GPIO_OFF gpio_clear - -/* green*/ -#ifndef USE_LED_8 -#define USE_LED_8 0 -#endif -#define LED_8_GPIO GPIOE -#define LED_8_GPIO_PIN GPIO15 -#define LED_8_GPIO_ON gpio_set -#define LED_8_GPIO_OFF gpio_clear - - -/* Pint to set Uart2 RX polarity, on PB13, output high inverts, low doesn't */ -#define RC_POLARITY_GPIO_PORT GPIOB -#define RC_POLARITY_GPIO_PIN GPIO13 - -/* - * ADCs - */ -// AUX 1 -#if USE_ADC_1 -#define AD1_1_CHANNEL ADC_CHANNEL_IN9 -#define ADC_1 AD1_1 -#define ADC_1_GPIO_PORT GPIOB -#define ADC_1_GPIO_PIN GPIO1 -#endif - -// AUX 2 -#if USE_ADC_2 -#define AD1_2_CHANNEL ADC_CHANNEL_IN15 -#define ADC_2 AD1_2 -#define ADC_2_GPIO_PORT GPIOC -#define ADC_2_GPIO_PIN GPIO5 -#endif - -// AUX 3 -#if USE_ADC_3 -#define AD1_3_CHANNEL ADC_CHANNEL_IN14 -#define ADC_3 AD1_3 -#define ADC_3_GPIO_PORT GPIOC -#define ADC_3_GPIO_PIN GPIO4 -#endif - -// Internal ADC for battery enabled by default -#ifndef USE_ADC_4 -#define USE_ADC_4 1 -#endif -#if USE_ADC_4 -#define AD1_4_CHANNEL ADC_CHANNEL_IN4 -#define ADC_4 AD1_4 -#define ADC_4_GPIO_PORT GPIOA -#define ADC_4_GPIO_PIN GPIO4 -#endif - -/* allow to define ADC_CHANNEL_VSUPPLY in the airframe file*/ -#ifndef ADC_CHANNEL_VSUPPLY -#define ADC_CHANNEL_VSUPPLY ADC_4 -#endif - -#define DefaultVoltageOfAdc(adc) (0.006185*adc) - -/* - * PWM defines - */ -#ifndef USE_PWM0 -#define USE_PWM0 1 -#endif -#if USE_PWM0 -#define PWM_SERVO_0 0 -#define PWM_SERVO_0_GPIO GPIOB -#define PWM_SERVO_0_PIN GPIO0 -#define PWM_SERVO_0_AF GPIO_AF2 -#define PWM_SERVO_0_DRIVER PWMD3 -#define PWM_SERVO_0_CHANNEL 2 -#define PWM_SERVO_0_ACTIVE PWM_OUTPUT_ACTIVE_HIGH -#else -#define PWM_SERVO_0_ACTIVE PWM_OUTPUT_DISABLED -#endif - -#ifndef USE_PWM1 -#define USE_PWM1 1 -#endif -#if USE_PWM1 -#define PWM_SERVO_1 1 -#define PWM_SERVO_1_GPIO GPIOA -#define PWM_SERVO_1_PIN GPIO2 -#define PWM_SERVO_1_AF GPIO_AF1 -#define PWM_SERVO_1_DRIVER PWMD2 -#define PWM_SERVO_1_CHANNEL 2 -#define PWM_SERVO_1_ACTIVE PWM_OUTPUT_ACTIVE_HIGH -#else -#define PWM_SERVO_1_ACTIVE PWM_OUTPUT_DISABLED -#endif - -#ifndef USE_PWM2 -#define USE_PWM2 1 -#endif -#if USE_PWM2 -#define PWM_SERVO_2 2 -#define PWM_SERVO_2_GPIO GPIOB -#define PWM_SERVO_2_PIN GPIO5 -#define PWM_SERVO_2_AF GPIO_AF2 -#define PWM_SERVO_2_DRIVER PWMD3 -#define PWM_SERVO_2_CHANNEL 1 -#define PWM_SERVO_2_ACTIVE PWM_OUTPUT_ACTIVE_HIGH -#else -#define PWM_SERVO_2_ACTIVE PWM_OUTPUT_DISABLED -#endif - -#ifndef USE_PWM3 -#define USE_PWM3 1 -#endif -#if USE_PWM3 -#define PWM_SERVO_3 3 -#define PWM_SERVO_3_GPIO GPIOB -#define PWM_SERVO_3_PIN GPIO4 -#define PWM_SERVO_3_AF GPIO_AF2 -#define PWM_SERVO_3_DRIVER PWMD3 -#define PWM_SERVO_3_CHANNEL 0 -#define PWM_SERVO_3_ACTIVE PWM_OUTPUT_ACTIVE_HIGH -#else -#define PWM_SERVO_3_ACTIVE PWM_OUTPUT_DISABLED -#endif - -#ifndef USE_PWM4 -#define USE_PWM4 1 -#endif -#if USE_PWM4 -#define PWM_SERVO_4 4 -#define PWM_SERVO_4_GPIO GPIOB -#define PWM_SERVO_4_PIN GPIO3 -#define PWM_SERVO_4_AF GPIO_AF1 -#define PWM_SERVO_4_DRIVER PWMD2 -#define PWM_SERVO_4_CHANNEL 1 -#define PWM_SERVO_4_ACTIVE PWM_OUTPUT_ACTIVE_HIGH -#else -#define PWM_SERVO_4_ACTIVE PWM_OUTPUT_DISABLED -#endif - -#ifndef USE_PWM5 -#define USE_PWM5 1 -#endif -#if USE_PWM5 -#define PWM_SERVO_5 5 -#define PWM_SERVO_5_GPIO GPIOA -#define PWM_SERVO_5_PIN GPIO15 -#define PWM_SERVO_5_AF GPIO_AF1 -#define PWM_SERVO_5_DRIVER PWMD2 -#define PWM_SERVO_5_CHANNEL 0 -#define PWM_SERVO_5_ACTIVE PWM_OUTPUT_ACTIVE_HIGH -#else -#define PWM_SERVO_5_ACTIVE PWM_OUTPUT_DISABLED -#endif - -#if USE_PWM6 -#define PWM_SERVO_6 6 -#define PWM_SERVO_6_GPIO GPIOB -#define PWM_SERVO_6_PIN GPIO1 -#define PWM_SERVO_6_AF GPIO_AF2 -#define PWM_SERVO_6_DRIVER PWMD3 -#define PWM_SERVO_6_CHANNEL 3 -#define PWM_SERVO_6_ACTIVE PWM_OUTPUT_ACTIVE_HIGH -#else -#define PWM_SERVO_6_ACTIVE PWM_OUTPUT_DISABLED -#endif - - -#ifdef STM32_PWM_USE_TIM2 -#define PWM_CONF_TIM2 STM32_PWM_USE_TIM2 -#else -#define PWM_CONF_TIM2 1 -#endif -#define PWM_CONF2_DEF { \ - PWM_FREQUENCY, \ - PWM_FREQUENCY/TIM2_SERVO_HZ, \ - NULL, \ - { \ - { PWM_SERVO_5_ACTIVE, NULL }, \ - { PWM_SERVO_4_ACTIVE, NULL }, \ - { PWM_SERVO_1_ACTIVE, NULL }, \ - { PWM_OUTPUT_DISABLED, NULL }, \ - }, \ - 0, \ - 0 \ - } - -#ifdef STM32_PWM_USE_TIM3 -#define PWM_CONF_TIM3 STM32_PWM_USE_TIM3 -#else -#define PWM_CONF_TIM3 1 -#endif -#define PWM_CONF3_DEF { \ - PWM_FREQUENCY, \ - PWM_FREQUENCY/TIM3_SERVO_HZ, \ - NULL, \ - { \ - { PWM_SERVO_3_ACTIVE, NULL }, \ - { PWM_SERVO_2_ACTIVE, NULL }, \ - { PWM_SERVO_0_ACTIVE, NULL }, \ - { PWM_SERVO_6_ACTIVE, NULL }, \ - }, \ - 0, \ - 0 \ - } - -/** - * PPM radio defines - */ -#define RC_PPM_TICKS_PER_USEC 2 -#define PPM_TIMER_FREQUENCY 2000000 -#define PPM_CHANNEL ICU_CHANNEL_1 -#define PPM_TIMER ICUD1 - -/* - * PWM input - */ -// PWM_INPUT 1 on PA8 (also PPM IN) -#define PWM_INPUT1_ICU ICUD1 -#define PWM_INPUT1_CHANNEL ICU_CHANNEL_1 -// PPM in (aka PA8) is used: not compatible with PPM RC receiver -#define PWM_INPUT1_GPIO_PORT GPIOA -#define PWM_INPUT1_GPIO_PIN GPIO8 -#define PWM_INPUT1_GPIO_AF GPIO_AF1 - -// PWM_INPUT 2 on PA3 (also SERVO 1) -#if (USE_PWM1 && USE_PWM_INPUT2) -#error "PW1 and PWM_INPUT2 are not compatible" -#endif -#define PWM_INPUT2_ICU ICUD9 -#define PWM_INPUT2_CHANNEL ICU_CHANNEL_1 -#define PWM_INPUT2_GPIO_PORT GPIOA -#define PWM_INPUT2_GPIO_PIN GPIO2 -#define PWM_INPUT2_GPIO_AF GPIO_AF3 - -/** - * I2C defines - */ -#ifndef I2C1_CLOCK_SPEED -#define I2C1_CLOCK_SPEED 400000 -#endif -#if I2C1_CLOCK_SPEED == 400000 -#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 -#elif I2C1_CLOCK_SPEED == 100000 -#define I2C1_DUTY_CYCLE STD_DUTY_CYCLE -#else -#error Invalid I2C1 clock speed -#endif -#define I2C1_CFG_DEF { \ - OPMODE_I2C, \ - I2C1_CLOCK_SPEED, \ - I2C1_DUTY_CYCLE, \ - } - -#ifndef I2C2_CLOCK_SPEED -#define I2C2_CLOCK_SPEED 400000 -#endif -#if I2C2_CLOCK_SPEED == 400000 -#define I2C2_DUTY_CYCLE FAST_DUTY_CYCLE_2 -#elif I2C2_CLOCK_SPEED == 100000 -#define I2C2_DUTY_CYCLE STD_DUTY_CYCLE -#else -#error Invalid I2C2 clock speed -#endif -#define I2C2_CFG_DEF { \ - OPMODE_I2C, \ - I2C2_CLOCK_SPEED, \ - I2C2_DUTY_CYCLE, \ - } - -/** - * SPI Config - */ -#define SPI1_GPIO_AF GPIO_AF5 -#define SPI1_GPIO_PORT_MISO GPIOA -#define SPI1_GPIO_MISO GPIO6 -#define SPI1_GPIO_PORT_MOSI GPIOA -#define SPI1_GPIO_MOSI GPIO7 -#define SPI1_GPIO_PORT_SCK GPIOA -#define SPI1_GPIO_SCK GPIO5 - -// SLAVE0 on SPI connector -#define SPI_SELECT_SLAVE0_PORT GPIOB -#define SPI_SELECT_SLAVE0_PIN GPIO9 -// SLAVE1 on AUX1 -#define SPI_SELECT_SLAVE1_PORT GPIOB -#define SPI_SELECT_SLAVE1_PIN GPIO1 -// SLAVE2 on AUX2 -#define SPI_SELECT_SLAVE2_PORT GPIOC -#define SPI_SELECT_SLAVE2_PIN GPIO5 -// SLAVE3 on AUX3 -#define SPI_SELECT_SLAVE3_PORT GPIOC -#define SPI_SELECT_SLAVE3_PIN GPIO4 -// SLAVE4 on AUX4 -#define SPI_SELECT_SLAVE4_PORT GPIOB -#define SPI_SELECT_SLAVE4_PIN GPIO15 - -/** - * Baro - * - * Apparently needed for backwards compatibility - * with the ancient onboard baro boards - */ -// #ifndef USE_BARO_BOARD -// #define USE_BARO_BOARD 1 -// #endif - -/* - * Actuators for fixedwing - */ -/* Default actuators driver */ -#define DEFAULT_ACTUATORS "subsystems/actuators/actuators_pwm.h" -#define ActuatorDefaultSet(_x,_y) ActuatorPwmSet(_x,_y) -#define ActuatorsDefaultInit() ActuatorsPwmInit() -#define ActuatorsDefaultCommit() ActuatorsPwmCommit() - - -/** - * SDIO - */ -#define SDIO_D0_PORT GPIOC -#define SDIO_D0_PIN GPIOC_SDIO_D0 -#define SDIO_D1_PORT GPIOC -#define SDIO_D1_PIN GPIOC_SDIO_D1 -#define SDIO_D2_PORT GPIOC -#define SDIO_D2_PIN GPIOC_SDIO_D2 -#define SDIO_D3_PORT GPIOC -#define SDIO_D3_PIN GPIOC_SDIO_D3 -#define SDIO_CK_PORT GPIOC -#define SDIO_CK_PIN GPIOC_SDIO_CK -#define SDIO_CMD_PORT GPIOD -#define SDIO_CMD_PIN GPIOD_SDIO_CMD -#define SDIO_AF 12 -// bat monitoring for file closing -#define SDLOG_BAT_ADC ADCD1 -#define SDLOG_BAT_CHAN AD1_4_CHANNEL -// usb led status -#define SDLOG_USB_LED 4 -#define SDLOG_USB_VBUS_PORT GPIOA -#define SDLOG_USB_VBUS_PIN GPIO9 - - -//***************************************************************************** -#if !defined(_FROM_ASM_) -#ifdef __cplusplus -extern "C" { -#endif -void boardInit(void); -#ifdef __cplusplus -} -#endif -#endif /* _FROM_ASM_ */ - -#endif /* BOARD_H */ diff --git a/sw/airborne/boards/stm32f3_discovery/chibios/v1.0/board.mk b/sw/airborne/boards/stm32f3_discovery/chibios/v1.0/board.mk deleted file mode 100644 index 8d560f4385..0000000000 --- a/sw/airborne/boards/stm32f3_discovery/chibios/v1.0/board.mk +++ /dev/null @@ -1,24 +0,0 @@ -# -# ChibiOS/RT - Copyright (C) 2006-2013 Giovanni Di Sirio -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Required include directories -BOARDINC = $(CHIBIOS_BOARD_DIR) - -# List of all the board related files. -BOARDSRC = ${BOARDINC}/board.c - -# Shared variables -ALLCSRC += $(BOARDSRC) -ALLINC += $(BOARDINC) diff --git a/sw/airborne/boards/stm32f3_discovery/chibios/v1.0/mcuconf.h b/sw/airborne/boards/stm32f3_discovery/chibios/v1.0/mcuconf.h deleted file mode 100644 index 2a26642a2f..0000000000 --- a/sw/airborne/boards/stm32f3_discovery/chibios/v1.0/mcuconf.h +++ /dev/null @@ -1,301 +0,0 @@ -/* - ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ - -#ifndef MCUCONF_H -#define MCUCONF_H - -/* - * STM32F3xx drivers configuration. - * The following settings override the default settings present in - * the various device driver implementation headers. - * Note that the settings for each driver only have effect if the whole - * driver is enabled in halconf.h. - * - * IRQ priorities: - * 15...0 Lowest...Highest. - * - * DMA priorities: - * 0...3 Lowest...Highest. - */ - -#define STM32F3xx_MCUCONF - -/* - * HAL driver system settings. - */ -#define STM32_NO_INIT FALSE -#define STM32_PVD_ENABLE FALSE -#define STM32_PLS STM32_PLS_LEV0 -#define STM32_HSI_ENABLED TRUE -#define STM32_LSI_ENABLED TRUE -#define STM32_HSE_ENABLED TRUE -#define STM32_LSE_ENABLED FALSE -#define STM32_SW STM32_SW_PLL -#define STM32_PLLSRC STM32_PLLSRC_HSE -#define STM32_PREDIV_VALUE 1 -#define STM32_PLLMUL_VALUE 9 -#define STM32_HPRE STM32_HPRE_DIV1 -#define STM32_PPRE1 STM32_PPRE1_DIV2 -#define STM32_PPRE2 STM32_PPRE2_DIV2 -#define STM32_MCOSEL STM32_MCOSEL_NOCLOCK -#define STM32_ADC12PRES STM32_ADC12PRES_DIV1 -#define STM32_ADC34PRES STM32_ADC34PRES_DIV1 -#define STM32_USART1SW STM32_USART1SW_PCLK -#define STM32_USART2SW STM32_USART2SW_PCLK -#define STM32_USART3SW STM32_USART3SW_PCLK -#define STM32_UART4SW STM32_UART4SW_PCLK -#define STM32_UART5SW STM32_UART5SW_PCLK -#define STM32_I2C1SW STM32_I2C1SW_SYSCLK -#define STM32_I2C2SW STM32_I2C2SW_SYSCLK -#define STM32_TIM1SW STM32_TIM1SW_PCLK2 -#define STM32_TIM8SW STM32_TIM8SW_PCLK2 -#define STM32_RTCSEL STM32_RTCSEL_LSI -#define STM32_USB_CLOCK_REQUIRED TRUE -#define STM32_USBPRE STM32_USBPRE_DIV1P5 - -/* - * ADC driver system settings. - */ -#define STM32_ADC_DUAL_MODE FALSE -#define STM32_ADC_COMPACT_SAMPLES FALSE -#define STM32_ADC_USE_ADC1 TRUE -#define STM32_ADC_USE_ADC2 FALSE -#define STM32_ADC_USE_ADC3 FALSE -#define STM32_ADC_USE_ADC4 FALSE -#define STM32_ADC_ADC1_DMA_STREAM STM32_DMA_STREAM_ID(1, 1) -#define STM32_ADC_ADC2_DMA_STREAM STM32_DMA_STREAM_ID(2, 1) -#define STM32_ADC_ADC3_DMA_STREAM STM32_DMA_STREAM_ID(2, 5) -#define STM32_ADC_ADC4_DMA_STREAM STM32_DMA_STREAM_ID(2, 2) -#define STM32_ADC_ADC1_DMA_PRIORITY 2 -#define STM32_ADC_ADC2_DMA_PRIORITY 2 -#define STM32_ADC_ADC3_DMA_PRIORITY 2 -#define STM32_ADC_ADC4_DMA_PRIORITY 2 -#define STM32_ADC_ADC12_IRQ_PRIORITY 5 -#define STM32_ADC_ADC3_IRQ_PRIORITY 5 -#define STM32_ADC_ADC4_IRQ_PRIORITY 5 -#define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 5 -#define STM32_ADC_ADC2_DMA_IRQ_PRIORITY 5 -#define STM32_ADC_ADC3_DMA_IRQ_PRIORITY 5 -#define STM32_ADC_ADC4_DMA_IRQ_PRIORITY 5 -#define STM32_ADC_ADC12_CLOCK_MODE ADC_CCR_CKMODE_AHB_DIV1 -#define STM32_ADC_ADC34_CLOCK_MODE ADC_CCR_CKMODE_AHB_DIV1 - -/* - * CAN driver system settings. - */ -#if USE_CAN1 -#define STM32_CAN_USE_CAN1 TRUE -#else -#define STM32_CAN_USE_CAN1 FALSE -#endif -#define STM32_CAN_CAN1_IRQ_PRIORITY 11 - -/* - * DAC driver system settings. - */ -#define STM32_DAC_DUAL_MODE FALSE -#define STM32_DAC_USE_DAC1_CH1 TRUE -#define STM32_DAC_USE_DAC1_CH2 TRUE -#define STM32_DAC_DAC1_CH1_IRQ_PRIORITY 10 -#define STM32_DAC_DAC1_CH2_IRQ_PRIORITY 10 -#define STM32_DAC_DAC1_CH1_DMA_PRIORITY 2 -#define STM32_DAC_DAC1_CH2_DMA_PRIORITY 2 - -/* - * EXT driver system settings. - */ -#define STM32_EXT_EXTI0_IRQ_PRIORITY 6 -#define STM32_EXT_EXTI1_IRQ_PRIORITY 6 -#define STM32_EXT_EXTI2_IRQ_PRIORITY 6 -#define STM32_EXT_EXTI3_IRQ_PRIORITY 6 -#define STM32_EXT_EXTI4_IRQ_PRIORITY 6 -#define STM32_EXT_EXTI5_9_IRQ_PRIORITY 6 -#define STM32_EXT_EXTI10_15_IRQ_PRIORITY 6 -#define STM32_EXT_EXTI16_IRQ_PRIORITY 6 -#define STM32_EXT_EXTI17_IRQ_PRIORITY 6 -#define STM32_EXT_EXTI18_IRQ_PRIORITY 6 -#define STM32_EXT_EXTI19_IRQ_PRIORITY 6 -#define STM32_EXT_EXTI20_IRQ_PRIORITY 6 -#define STM32_EXT_EXTI21_22_29_IRQ_PRIORITY 6 -#define STM32_EXT_EXTI30_32_IRQ_PRIORITY 6 -#define STM32_EXT_EXTI33_IRQ_PRIORITY 6 - -/* - * GPT driver system settings. - */ -#define STM32_GPT_USE_TIM1 FALSE -#define STM32_GPT_USE_TIM2 FALSE -#define STM32_GPT_USE_TIM3 FALSE -#define STM32_GPT_USE_TIM4 FALSE -#define STM32_GPT_USE_TIM6 FALSE -#define STM32_GPT_USE_TIM7 FALSE -#define STM32_GPT_USE_TIM8 FALSE -#define STM32_GPT_TIM1_IRQ_PRIORITY 7 -#define STM32_GPT_TIM2_IRQ_PRIORITY 7 -#define STM32_GPT_TIM3_IRQ_PRIORITY 7 -#define STM32_GPT_TIM4_IRQ_PRIORITY 7 -#define STM32_GPT_TIM6_IRQ_PRIORITY 7 -#define STM32_GPT_TIM7_IRQ_PRIORITY 7 -#define STM32_GPT_TIM8_IRQ_PRIORITY 7 - -/* - * I2C driver system settings. - */ -#if USE_I2C1 -#define STM32_I2C_USE_I2C1 TRUE -#else -#define STM32_I2C_USE_I2C1 FALSE -#endif -#if USE_I2C2 -#define STM32_I2C_USE_I2C2 TRUE -#else -#define STM32_I2C_USE_I2C2 FALSE -#endif -#define STM32_I2C_BUSY_TIMEOUT 50 -#define STM32_I2C_I2C1_IRQ_PRIORITY 10 -#define STM32_I2C_I2C2_IRQ_PRIORITY 10 -#define STM32_I2C_USE_DMA TRUE -#define STM32_I2C_I2C1_DMA_PRIORITY 1 -#define STM32_I2C_I2C2_DMA_PRIORITY 1 -#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure") - -/* - * ICU driver system settings. - */ -#define STM32_ICU_USE_TIM1 FALSE -#define STM32_ICU_USE_TIM2 FALSE -#define STM32_ICU_USE_TIM3 FALSE -#define STM32_ICU_USE_TIM4 FALSE -#define STM32_ICU_USE_TIM8 FALSE -#define STM32_ICU_TIM1_IRQ_PRIORITY 7 -#define STM32_ICU_TIM2_IRQ_PRIORITY 7 -#define STM32_ICU_TIM3_IRQ_PRIORITY 7 -#define STM32_ICU_TIM4_IRQ_PRIORITY 7 -#define STM32_ICU_TIM8_IRQ_PRIORITY 7 - -/* - * PWM driver system settings. - */ -#define STM32_PWM_USE_ADVANCED FALSE -#define STM32_PWM_USE_TIM1 FALSE -#ifndef STM32_PWM_USE_TIM2 -#define STM32_PWM_USE_TIM2 TRUE -#endif -#ifndef STM32_PWM_USE_TIM3 -#define STM32_PWM_USE_TIM3 TRUE -#endif -#define STM32_PWM_USE_TIM4 FALSE -#define STM32_PWM_USE_TIM8 FALSE -#define STM32_PWM_TIM1_IRQ_PRIORITY 7 -#define STM32_PWM_TIM2_IRQ_PRIORITY 7 -#define STM32_PWM_TIM3_IRQ_PRIORITY 7 -#define STM32_PWM_TIM4_IRQ_PRIORITY 7 -#define STM32_PWM_TIM8_IRQ_PRIORITY 7 - -/* - * SERIAL driver system settings. - */ -#if USE_UART1 -#define STM32_SERIAL_USE_USART1 TRUE -#else -#define STM32_SERIAL_USE_USART1 FALSE -#endif -#if USE_UART2 -#define STM32_SERIAL_USE_USART2 TRUE -#else -#define STM32_SERIAL_USE_USART2 FALSE -#endif -#if USE_UART3 -#define STM32_SERIAL_USE_USART3 TRUE -#else -#define STM32_SERIAL_USE_USART3 FALSE -#endif -#if USE_UART4 -#define STM32_SERIAL_USE_UART4 TRUE -#else -#define STM32_SERIAL_USE_UART4 FALSE -#endif -#if USE_UART5 -#define STM32_SERIAL_USE_UART5 TRUE -#else -#define STM32_SERIAL_USE_UART5 FALSE -#endif -#define STM32_SERIAL_USART1_PRIORITY 12 -#define STM32_SERIAL_USART2_PRIORITY 12 -#define STM32_SERIAL_USART3_PRIORITY 12 -#define STM32_SERIAL_UART4_PRIORITY 12 -#define STM32_SERIAL_UART5_PRIORITY 12 - -/* - * SPI driver system settings. - */ -#if USE_SPI1 -#define STM32_SPI_USE_SPI1 TRUE -#else -#define STM32_SPI_USE_SPI1 FALSE -#endif -#if USE_SPI2 -#define STM32_SPI_USE_SPI2 TRUE -#else -#define STM32_SPI_USE_SPI2 FALSE -#endif -#if USE_SPI3 -#define STM32_SPI_USE_SPI3 TRUE -#else -#define STM32_SPI_USE_SPI3 FALSE -#endif -#define STM32_SPI_SPI1_DMA_PRIORITY 1 -#define STM32_SPI_SPI2_DMA_PRIORITY 1 -#define STM32_SPI_SPI3_DMA_PRIORITY 1 -#define STM32_SPI_SPI1_IRQ_PRIORITY 10 -#define STM32_SPI_SPI2_IRQ_PRIORITY 10 -#define STM32_SPI_SPI3_IRQ_PRIORITY 10 -#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure") - -/* - * ST driver system settings. - */ -#define STM32_ST_IRQ_PRIORITY 8 -#define STM32_ST_USE_TIMER 2 - -/* - * UART driver system settings. - */ -#define STM32_UART_USE_USART1 FALSE -#define STM32_UART_USE_USART2 FALSE -#define STM32_UART_USE_USART3 FALSE -#define STM32_UART_USART1_IRQ_PRIORITY 12 -#define STM32_UART_USART2_IRQ_PRIORITY 12 -#define STM32_UART_USART3_IRQ_PRIORITY 12 -#define STM32_UART_USART1_DMA_PRIORITY 0 -#define STM32_UART_USART2_DMA_PRIORITY 0 -#define STM32_UART_USART3_DMA_PRIORITY 0 -#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure") - -/* - * USB driver system settings. - */ -#define STM32_USB_USE_USB1 TRUE -#define STM32_USB_LOW_POWER_ON_SUSPEND FALSE -#define STM32_USB_USB1_HP_IRQ_PRIORITY 13 -#define STM32_USB_USB1_LP_IRQ_PRIORITY 14 - -/* - * WDG driver system settings. - */ -#define STM32_WDG_USE_IWDG FALSE - -#endif /* MCUCONF_H */ diff --git a/sw/airborne/boards/stm32f4_discovery.h b/sw/airborne/boards/stm32f4_discovery.h deleted file mode 100644 index bfb66286a5..0000000000 --- a/sw/airborne/boards/stm32f4_discovery.h +++ /dev/null @@ -1,601 +0,0 @@ -/* - * STM32F4 DISCOVERY BOARD DEFINITIONS FOR THE PAPARAZZI AUTOPILOT. - * - * DISCOVERY USED FOR THE AUTOPILOT PINS - * PA0 = PWM9 + user-wake up button switch b1 normaly open. - * PA1 = PWM8 - * PA2 = PWM7 - * PA3 = PWM6 - * PA4 = ADC_4 (ADC12 IN 4)+CS43L22 DAC out, capacitively coupled+100Kohm, should not interfere. - * PA5 = SPI1 SCK if STM32F4_DISCOVERY_SPI1_FOR_LIS302 - * PA6 = SPI1 MISO if STM32F4_DISCOVERY_SPI1_FOR_LIS302 - * PA7 = SPI1 MOSI if STM32F4_DISCOVERY_SPI1_FOR_LIS302 - * PA8 = SPECTRUM BIND - * PA9 = FREE (ONLY if usb is not active during runtime, PC0 must be high or input ) - * PA10 = UART1 RX (Spektrum input) - * PA11 = FREE if usb is not active during runtime - * PA12 = FREE if usb is not active during runtime - * PA13 = FREE - * PA14 = FREE - * PA15 = FREE - * - * PB0 = FREE - * PB1 = ADC_1 (ADC12 IN 9) - * PB2 = FREE - * PB3 = SPI1 SCL - * PB4 = SPI1 MISO - * PB5 = SPI1 MOSI - * PB6 = UART1 TX + 4K7 Ohm pull up resistor normaly used for i2c - * PB7 = UART1 RX - * PB8 = I2C1 SCL - * PB9 = I2C1 SDA + 4K7 Ohm pull up resistor normaly used for i2c - * PB10 = I2C2 SCL + MP45DT02 MEMS MIC clock in - * PB11 = I2C2 SDA - * PB12 = FREE - * PB13 = SPI2 SCL - * PB14 = PWM 10 OR SPI2 MISO - * PB15 = PWM 11 OR SPI2 MOSI - * - * PC0 = CANNOT BE USED, pulled up to 3.3v (10Kohm), low = usb power on directly applied to PA9) - * PC1 = ADC_5 (ADC123 IN 11) - * PC2 = ADC_6 (ADC123 IN 12) - * PC3 = CANNOT BE USED (MEMS microphone output) - * PC4 = ADC_3 (ADC12 IN 14) - * PC5 = ADC_2 (ADC12 IN 15) - * PC6 = UART6 TX - * PC7 = UART6 RX - * PC8 = FREE - * PC9 = PPM INPUT FROM RC RECEIVER - * PC10 = UART4 TX OR SPI3 SCL - * PC11 = UART4 RX OR SPI3 MISO - * PC12 = UART5 TX OR SPI3 MOSI - * PC13 = FREE max 3ma sink - * PC14 = FREE max 3ma sink, short circuit the relevant PCB bridge with solder to activate - * PC15 = FREE max 3ma sink, short circuit the relevant PCB bridge with solder to activate - * - * PD0 = FREE - * PD1 = FREE - * PD2 = UART5 RX - * PD3 = FREE - * PD4 = FREE - * PD5 = UART2 TX (usb power management fault output open drain) - * PD6 = UART2 RX - * PD7 = FREE - * PD8 = UART3 TX - * PD9 = UART3 RX - * PD10 = FREE - * PD11 = FREE - * PD12 = LED_4 - * PD13 = LED_3 - * PD14 = LED_5 - * PD15 = LED_6 - * - * PE0 = CANNOT BE USED (Accel int output) - * PE1 = CANNOT BE USED (Accel int output) - * PE2 = SPI SLAVE 0 - * PE3 = SPI SLAVE 2 (used for the LIS302DL accel spi/i2c select pin) - * PE4 = FREE - * PE5 = PWM4 - * PE6 = PWM5 - * PE7 = SPI SLAVE 1 - * PE8 = FREE - * PE9 = PWM0 - * PE10 = FREE - * PE11 = PWM1 - * PE12 = FREE - * PE13 = PWM2 - * PE14 = PWM3 - * PE15 = FREE - * - * PH0 = CRYSTAL - OSC IN - * PH1 = CRYSTAL - OSC OUT - */ - -#ifndef CONFIG_STM32F4_DISCOVERY_H -#define CONFIG_STM32F4_DISCOVERY_H - -#define BOARD_STM32F4_DISCOVERY - -/* STM32F4_DISCOVERY has a 8MHz external clock and 168MHz internal. */ -#define EXT_CLK 8000000 -#define AHB_CLK 168000000 - -/* - * Onboard LEDs - */ - -/* orange, on PD13 */ -#ifndef USE_LED_3 -#define USE_LED_3 1 -#endif -#define LED_3_GPIO GPIOD -#define LED_3_GPIO_PIN GPIO13 -#define LED_3_AFIO_REMAP ((void)0) -#define LED_3_GPIO_ON gpio_set -#define LED_3_GPIO_OFF gpio_clear - -/* green, on PD12 */ -#ifndef USE_LED_4 -#define USE_LED_4 1 -#endif -#define LED_4_GPIO GPIOD -#define LED_4_GPIO_PIN GPIO12 -#define LED_4_AFIO_REMAP ((void)0) -#define LED_4_GPIO_ON gpio_set -#define LED_4_GPIO_OFF gpio_clear - -/* red, PD14 */ -#ifndef USE_LED_5 -#define USE_LED_5 1 -#endif -#define LED_5_GPIO GPIOD -#define LED_5_GPIO_PIN GPIO14 -#define LED_5_AFIO_REMAP ((void)0) -#define LED_5_GPIO_ON gpio_set -#define LED_5_GPIO_OFF gpio_clear - -/* blue, PD15 */ -#ifndef USE_LED_6 -#define USE_LED_6 1 -#endif -#define LED_6_GPIO GPIOD -#define LED_6_GPIO_PIN GPIO15 -#define LED_6_AFIO_REMAP ((void)0) -#define LED_6_GPIO_ON gpio_set -#define LED_6_GPIO_OFF gpio_clear - - - -/* -// LED 9 (Green) of the STM32F4 discovery board same as USB power (VBUS). -#ifndef USE_LED_9 -#define USE_LED_9 1 -#endif -#define LED_9_GPIO GPIOA -#define LED_9_GPIO_PIN GPIO9 -#define LED_9_AFIO_REMAP ((void)0) -#define LED_9_GPIO_ON gpio_set -#define LED_9_GPIO_OFF gpio_clear -*/ - - -/***************************************************************************************************/ -/************************************** UART *************************************************/ -/***************************************************************************************************/ - -// If you don't need all those uarts comment a uart block out to free pins. -#define UART1_GPIO_AF GPIO_AF7 -#define UART1_GPIO_PORT_TX GPIOB -#define UART1_GPIO_TX GPIO6 -#define UART1_GPIO_PORT_RX GPIOB -#define UART1_GPIO_RX GPIO7 - -// UART2 is used for the Spectrum rx input also -#define UART2_GPIO_AF GPIO_AF7 -#define UART2_GPIO_PORT_TX GPIOD -#define UART2_GPIO_TX GPIO5 -#define UART2_GPIO_PORT_RX GPIOD -#define UART2_GPIO_RX GPIO6 - -#define UART3_GPIO_AF GPIO_AF7 -#define UART3_GPIO_PORT_TX GPIOD -#define UART3_GPIO_TX GPIO8 -#define UART3_GPIO_PORT_RX GPIOD -#define UART3_GPIO_RX GPIO9 - -// UARTS 4 AND 5 CANT BE USED IF SPI3 IS NEEDED -#if !USE_SPI3 -#define UART4_GPIO_AF GPIO_AF8 -#define UART4_GPIO_PORT_TX GPIOC -#define UART4_GPIO_TX GPIO10 -#define UART4_GPIO_PORT_RX GPIOC -#define UART4_GPIO_RX GPIO11 - -#define UART5_GPIO_AF GPIO_AF8 -#define UART5_GPIO_PORT_TX GPIOC -#define UART5_GPIO_TX GPIO12 -#define UART5_GPIO_PORT_RX GPIOD -#define UART5_GPIO_RX GPIO2 -#endif - -#define UART6_GPIO_AF GPIO_AF8 -#define UART6_GPIO_PORT_TX GPIOC -#define UART6_GPIO_TX GPIO6 -#define UART6_GPIO_PORT_RX GPIOC -#define UART6_GPIO_RX GPIO7 - - -/***************************************************************************************************/ -/************************************** SPI *************************************************/ -/***************************************************************************************************/ - -#if STM32F4_DISCOVERY_SPI1_FOR_LIS302 -#define SPI1_GPIO_AF GPIO_AF5 -#define SPI1_GPIO_PORT_SCK GPIOA -#define SPI1_GPIO_SCK GPIO5 -#define SPI1_GPIO_PORT_MISO GPIOA -#define SPI1_GPIO_MISO GPIO6 -#define SPI1_GPIO_PORT_MOSI GPIOA -#define SPI1_GPIO_MOSI GPIO7 -#else -#define SPI1_GPIO_AF GPIO_AF5 -#define SPI1_GPIO_PORT_SCK GPIOB -#define SPI1_GPIO_SCK GPIO3 -#define SPI1_GPIO_PORT_MISO GPIOB -#define SPI1_GPIO_MISO GPIO4 -#define SPI1_GPIO_PORT_MOSI GPIOB -#define SPI1_GPIO_MOSI GPIO5 - -#endif - -/* CANNOT BE USED IF PWM CHANNELS 10 & 11 ARE ACTIVE !!! */ -#define SPI2_GPIO_AF GPIO_AF5 -#define SPI2_GPIO_PORT_SCK GPIOB -#define SPI2_GPIO_SCK GPIO13 -#define SPI2_GPIO_PORT_MISO GPIOB -#define SPI2_GPIO_MISO GPIO14 -#define SPI2_GPIO_PORT_MOSI GPIOB -#define SPI2_GPIO_MOSI GPIO15 - -/* CANNOT BE USED IF UARTS 4 & 5 ARE ACTIVE !!! */ -#define SPI3_GPIO_AF GPIO_AF6 -#define SPI3_GPIO_PORT_SCK GPIOC -#define SPI3_GPIO_SCK GPIO10 -#define SPI3_GPIO_PORT_MISO GPIOC -#define SPI3_GPIO_MISO GPIO11 -#define SPI3_GPIO_PORT_MOSI GPIOC -#define SPI3_GPIO_MOSI GPIO12 - -#define SPI_SELECT_SLAVE0_PORT GPIOE -#define SPI_SELECT_SLAVE0_PIN GPIO2 -#define SPI_SELECT_SLAVE1_PORT GPIOE -#define SPI_SELECT_SLAVE1_PIN GPIO7 -#define SPI_SELECT_SLAVE2_PORT GPIOE -#define SPI_SELECT_SLAVE2_PIN GPIO3 - -#define SPI1_GPIO_PORT_NSS GPIOA -#define SPI1_GPIO_NSS GPIO4 - -#define SPI2_GPIO_PORT_NSS GPIOB -#define SPI2_GPIO_NSS GPIO12 - -#define SPI3_GPIO_PORT_NSS GPIOA -#define SPI3_GPIO_NSS GPIO15 - -/***************************************************************************************************/ -/************************************** I2C *************************************************/ -/***************************************************************************************************/ -#define I2C1_GPIO_PORT GPIOB -#define I2C1_GPIO_SCL GPIO8 -#define I2C1_GPIO_SDA GPIO9 - -#define I2C2_GPIO_PORT GPIOB -#define I2C2_GPIO_SCL GPIO10 -#define I2C2_GPIO_SDA GPIO11 - -//#define I2C3_GPIO_PORT_SCL GPIOA -//#define I2C3_GPIO_SCL GPIO8 -//#define I2C3_GPIO_PORT_SDA GPIOC -//#define I2C3_GPIO_SDA GPIO9 - - -/***************************************************************************************************/ -/************************************** ADC *************************************************/ -/***************************************************************************************************/ - -#define USE_AD_TIM2 1 - -// For experimenting only -#define USE_ADC_1 1 -#define USE_ADC_2 1 -#define USE_ADC_3 1 -#define USE_ADC_4 1 -#define USE_ADC_5 1 -#define USE_ADC_6 1 -//#define USE_ADC_7 1 - -/* allow to define ADC_CHANNEL_VSUPPLY in the airframe file */ -#ifndef ADC_CHANNEL_VSUPPLY -#define ADC_CHANNEL_VSUPPLY ADC_4 -#endif -#if !defined(USE_ADC_4) -#define USE_ADC_4 1 -#endif - -#define DefaultVoltageOfAdc(adc) (0.00485*adc) - -/* provide defines that can be used to access the ADC_x in the code or airframe file - * these directly map to the index number of the 4 adc channels defined above - * 4th (index 3) is used for bat monitoring by default - */ - -// AUX 1 -#if USE_ADC_1 -#define AD1_1_CHANNEL 9 -#define ADC_1 AD1_1 // THIS CHANNEL USES THE ADC 1 CONVERTER -#define ADC_1_GPIO_PORT GPIOB -#define ADC_1_GPIO_PIN GPIO1 -#endif - -// AUX 2 -#if USE_ADC_2 -#define AD1_2_CHANNEL 15 -#define ADC_2 AD1_2 // THIS CHANNEL USES THE ADC 1 CONVERTER -#define ADC_2_GPIO_PORT GPIOC -#define ADC_2_GPIO_PIN GPIO5 -#endif - -// AUX 3 -#if USE_ADC_3 -#define AD2_1_CHANNEL 14 -#define ADC_3 AD2_1 // THIS CHANNEL USES THE ADC 2 CONVERTER -#define ADC_3_GPIO_PORT GPIOC -#define ADC_3_GPIO_PIN GPIO4 -#endif - -// BAT -#if USE_ADC_4 -#define AD2_2_CHANNEL 4 -#define ADC_4 AD2_2 // THIS CHANNEL USES THE ADC 2 CONVERTER -#define ADC_4_GPIO_PORT GPIOA -#define ADC_4_GPIO_PIN GPIO4 -#endif - -#if USE_ADC_5 -#define AD3_1_CHANNEL 11 -#define ADC_5 AD3_1 // THIS CHANNEL USES THE ADC 3 CONVERTER -#define ADC_5_GPIO_PORT GPIOC -#define ADC_5_GPIO_PIN GPIO1 -#endif - -#if USE_ADC_6 -#define AD3_2_CHANNEL 12 -#define ADC_6 AD3_2 // THIS CHANNEL USES THE ADC 3 CONVERTER -#define ADC_6_GPIO_PORT GPIOC -#define ADC_6_GPIO_PIN GPIO2 -#endif - - -/***************************************************************************************************/ -/************************************ ACTUATORS ************************************************/ -/***************************************************************************************************/ - -/* Default actuators driver */ -#define DEFAULT_ACTUATORS "subsystems/actuators/actuators_pwm.h" -#define ActuatorDefaultSet(_x,_y) ActuatorPwmSet(_x,_y) -#define ActuatorsDefaultInit() ActuatorsPwmInit() -#define ActuatorsDefaultCommit() ActuatorsPwmCommit() - - -/***************************************************************************************************/ -/********************************** SERVO PWM *************************************************/ -/***************************************************************************************************/ - -#define PWM_USE_TIM1 1 -//#define PWM_USE_TIM3 1 -#define PWM_USE_TIM5 1 -#define PWM_USE_TIM9 1 -#define PWM_USE_TIM12 1 - -#define USE_PWM0 1 -#define USE_PWM1 1 -#define USE_PWM2 1 -#define USE_PWM3 1 -#define USE_PWM4 1 -#define USE_PWM5 1 -#define USE_PWM6 1 -#define USE_PWM7 1 -#define USE_PWM8 1 -#define USE_PWM9 1 -#if USE_SPI2 -#define USE_PWM10 0 -#define USE_PWM11 0 -#else -#define USE_PWM10 1 -#define USE_PWM11 1 -#endif - -#define ACTUATORS_PWM_NB 12 - -// PWM_SERVO_x is the index of the servo in the actuators_pwm_values array -#if USE_PWM0 -#define PWM_SERVO_0 0 -#define PWM_SERVO_0_TIMER TIM1 -#define PWM_SERVO_0_GPIO GPIOE -#define PWM_SERVO_0_PIN GPIO9 -#define PWM_SERVO_0_AF GPIO_AF1 -#define PWM_SERVO_0_OC TIM_OC1 -#define PWM_SERVO_0_OC_BIT (1<<0) -#else -#define PWM_SERVO_0_OC_BIT 0 -#endif - -#if USE_PWM1 -#define PWM_SERVO_1 1 -#define PWM_SERVO_1_TIMER TIM1 -#define PWM_SERVO_1_GPIO GPIOE -#define PWM_SERVO_1_PIN GPIO11 -#define PWM_SERVO_1_AF GPIO_AF1 -#define PWM_SERVO_1_OC TIM_OC2 -#define PWM_SERVO_1_OC_BIT (1<<1) -#else -#define PWM_SERVO_1_OC_BIT 0 -#endif - -#if USE_PWM2 -#define PWM_SERVO_2 2 -#define PWM_SERVO_2_TIMER TIM1 -#define PWM_SERVO_2_GPIO GPIOE -#define PWM_SERVO_2_PIN GPIO13 -#define PWM_SERVO_2_AF GPIO_AF1 -#define PWM_SERVO_2_OC TIM_OC3 -#define PWM_SERVO_2_OC_BIT (1<<2) -#else -#define PWM_SERVO_2_OC_BIT 0 -#endif - -#if USE_PWM3 -#define PWM_SERVO_3 3 -#define PWM_SERVO_3_TIMER TIM1 -#define PWM_SERVO_3_GPIO GPIOE -#define PWM_SERVO_3_PIN GPIO14 -#define PWM_SERVO_3_AF GPIO_AF1 -#define PWM_SERVO_3_OC TIM_OC4 -#define PWM_SERVO_3_OC_BIT (1<<3) -#else -#define PWM_SERVO_3_OC_BIT 0 -#endif - -#if USE_PWM4 -#define PWM_SERVO_4 4 -#define PWM_SERVO_4_TIMER TIM9 -#define PWM_SERVO_4_GPIO GPIOE -#define PWM_SERVO_4_PIN GPIO5 -#define PWM_SERVO_4_AF GPIO_AF3 -#define PWM_SERVO_4_OC TIM_OC1 -#define PWM_SERVO_4_OC_BIT (1<<0) -#else -#define PWM_SERVO_4_OC_BIT 0 -#endif - -#if USE_PWM5 -#define PWM_SERVO_5 5 -#define PWM_SERVO_5_TIMER TIM9 -#define PWM_SERVO_5_GPIO GPIOE -#define PWM_SERVO_5_PIN GPIO6 -#define PWM_SERVO_5_AF GPIO_AF3 -#define PWM_SERVO_5_OC TIM_OC2 -#define PWM_SERVO_5_OC_BIT (1<<1) -#else -#define PWM_SERVO_5_OC_BIT 0 -#endif - - -#if USE_PWM6 -#define PWM_SERVO_6 6 -#define PWM_SERVO_6_TIMER TIM5 -#define PWM_SERVO_6_GPIO GPIOA -#define PWM_SERVO_6_PIN GPIO3 -#define PWM_SERVO_6_AF GPIO_AF2 -#define PWM_SERVO_6_OC TIM_OC4 -#define PWM_SERVO_6_OC_BIT (1<<3) -#else -#define PWM_SERVO_6_OC_BIT 0 -#endif - -#if USE_PWM7 -#define PWM_SERVO_7 7 -#define PWM_SERVO_7_TIMER TIM5 -#define PWM_SERVO_7_GPIO GPIOA -#define PWM_SERVO_7_PIN GPIO2 -#define PWM_SERVO_7_AF GPIO_AF2 -#define PWM_SERVO_7_OC TIM_OC3 -#define PWM_SERVO_7_OC_BIT (1<<2) -#else -#define PWM_SERVO_7_OC_BIT 0 -#endif - -#if USE_PWM8 -#define PWM_SERVO_8 8 -#define PWM_SERVO_8_TIMER TIM5 -#define PWM_SERVO_8_GPIO GPIOA -#define PWM_SERVO_8_PIN GPIO1 -#define PWM_SERVO_8_AF GPIO_AF2 -#define PWM_SERVO_8_OC TIM_OC2 -#define PWM_SERVO_8_OC_BIT (1<<1) -#else -#define PWM_SERVO_8_OC_BIT 0 -#endif - -#if USE_PWM9 -#define PWM_SERVO_9 9 -#define PWM_SERVO_9_TIMER TIM5 -#define PWM_SERVO_9_GPIO GPIOA -#define PWM_SERVO_9_PIN GPIO0 -#define PWM_SERVO_9_AF GPIO_AF2 -#define PWM_SERVO_9_OC TIM_OC1 -#define PWM_SERVO_9_OC_BIT (1<<0) -#else -#define PWM_SERVO_9_OC_BIT 0 -#endif - -/* PWM10 AND PWM11 cannot be used if SPI2 is active. */ -#if USE_PWM10 -#define PWM_SERVO_10 10 -#define PWM_SERVO_10_TIMER TIM12 -#define PWM_SERVO_10_GPIO GPIOB -#define PWM_SERVO_10_PIN GPIO14 -#define PWM_SERVO_10_AF GPIO_AF9 -#define PWM_SERVO_10_OC TIM_OC1 -#define PWM_SERVO_10_OC_BIT (1<<0) -#else -#define PWM_SERVO_10_OC_BIT 0 -#endif - -#if USE_PWM11 -#define PWM_SERVO_11 11 -#define PWM_SERVO_11_TIMER TIM12 -#define PWM_SERVO_11_GPIO GPIOB -#define PWM_SERVO_11_PIN GPIO15 -#define PWM_SERVO_11_AF GPIO_AF9 -#define PWM_SERVO_11_OC TIM_OC2 -#define PWM_SERVO_11_OC_BIT (1<<1) -#else -#define PWM_SERVO_11_OC_BIT 0 -#endif - -#define PWM_TIM1_CHAN_MASK (PWM_SERVO_0_OC_BIT|PWM_SERVO_1_OC_BIT|PWM_SERVO_2_OC_BIT|PWM_SERVO_3_OC_BIT) -#define PWM_TIM9_CHAN_MASK (PWM_SERVO_4_OC_BIT|PWM_SERVO_5_OC_BIT) -#define PWM_TIM5_CHAN_MASK (PWM_SERVO_6_OC_BIT|PWM_SERVO_7_OC_BIT|PWM_SERVO_8_OC_BIT|PWM_SERVO_9_OC_BIT) -#define PWM_TIM12_CHAN_MASK (PWM_SERVO_10_OC_BIT|PWM_SERVO_11_OC_BIT) - -/***************************************************************************************************/ -/*********************************** PPM INPUT *************************************************/ -/***************************************************************************************************/ - -/* -#define USE_PPM_TIM1 1 - -#define PPM_CHANNEL TIM_IC1 -#define PPM_TIMER_INPUT TIM_IC_IN_TI1 -#define PPM_IRQ NVIC_TIM1_CC_IRQ -#define PPM_IRQ2 NVIC_TIM1_UP_TIM10_IRQ -// Capture/Compare InteruptEnable and InterruptFlag -#define PPM_CC_IE TIM_DIER_CC1IE -#define PPM_CC_IF TIM_SR_CC1IF -#define PPM_GPIO_PORT GPIOA -#define PPM_GPIO_PIN GPIO8 -#define PPM_GPIO_AF GPIO_AF1 -*/ - -#define USE_PPM_TIM8 1 - -#define PPM_CHANNEL TIM_IC4 -#define PPM_TIMER_INPUT TIM_IC_IN_TI4 -#define PPM_IRQ NVIC_TIM8_CC_IRQ -#define PPM_IRQ2 NVIC_TIM8_UP_TIM13_IRQ -// Capture/Compare InteruptEnable and InterruptFlag -#define PPM_CC_IE TIM_DIER_CC4IE -#define PPM_CC_IF TIM_SR_CC4IF -#define PPM_GPIO_PORT GPIOC -#define PPM_GPIO_PIN GPIO9 -#define PPM_GPIO_AF GPIO_AF3 - -/***************************************************************************************************/ -/********************************* SPECTRUM UART *************************************************/ -/***************************************************************************************************/ - -/* The line that is pulled low at power up to initiate the bind process */ -#define SPEKTRUM_BIND_PIN GPIO8 -#define SPEKTRUM_BIND_PIN_PORT GPIOA - -#define SPEKTRUM_UART1_RCC RCC_USART1 -#define SPEKTRUM_UART1_BANK GPIOA -#define SPEKTRUM_UART1_PIN GPIO10 -#define SPEKTRUM_UART1_AF GPIO_AF7 -#define SPEKTRUM_UART1_IRQ NVIC_USART1_IRQ -#define SPEKTRUM_UART1_ISR usart1_isr -#define SPEKTRUM_UART1_DEV USART1 - - -#endif /* CONFIG_STM32F4_DISCOVERY_H */