[stm32] simplifly peripheral clock setup

There is now a convenience function in libopencm3 that makes the clock enable for peripherals easier across different STM families:
e.g.
rcc_periph_clock_enable(RCC_USART1);

closes #642
This commit is contained in:
Felix Ruess
2014-02-14 20:18:55 +01:00
parent e7f7192d29
commit 5c013a1752
30 changed files with 366 additions and 383 deletions
+21 -21
View File
@@ -36,15 +36,15 @@
*/
#ifndef LED_STP08
#define _LED_GPIO_CLK(i) i
#define _LED_GPIO(i) i
#define _LED_GPIO(i) i
#define _LED_GPIO_CLK(i) i
#define _LED_GPIO_PIN(i) i
#define _LED_GPIO_ON(i) i
#define _LED_GPIO_OFF(i) i
#define _LED_AFIO_REMAP(i) i
#define LED_GPIO_CLK(i) _LED_GPIO_CLK(LED_ ## i ## _GPIO_CLK)
#define LED_GPIO(i) _LED_GPIO(LED_ ## i ## _GPIO)
#define LED_GPIO_CLK(i) _LED_GPIO_CLK(LED_ ## i ## _GPIO_CLK)
#define LED_GPIO_PIN(i) _LED_GPIO_PIN(LED_ ## i ## _GPIO_PIN)
#define LED_GPIO_ON(i) _LED_GPIO_ON(LED_ ## i ## _GPIO_ON)
#define LED_GPIO_OFF(i) _LED_GPIO_OFF(LED_ ## i ## _GPIO_OFF)
@@ -52,27 +52,27 @@
/* set pin as output */
#if defined(STM32F1) || defined(STM32F2)
#define LED_INIT(i) { \
rcc_peripheral_enable_clock(&RCC_APB2ENR, \
LED_GPIO_CLK(i)); \
gpio_set_mode(LED_GPIO(i), \
GPIO_MODE_OUTPUT_50_MHZ, \
GPIO_CNF_OUTPUT_PUSHPULL, \
LED_GPIO_PIN(i)); \
LED_AFIO_REMAP(i); \
}
#define LED_GPIO_MODE(i) { \
gpio_set_mode(LED_GPIO(i), \
GPIO_MODE_OUTPUT_50_MHZ, \
GPIO_CNF_OUTPUT_PUSHPULL, \
LED_GPIO_PIN(i)); \
}
#elif defined(STM32F4)
#define LED_INIT(i) { \
rcc_peripheral_enable_clock(&RCC_AHB1ENR, \
LED_GPIO_CLK(i)); \
gpio_mode_setup(LED_GPIO(i), \
GPIO_MODE_OUTPUT, \
GPIO_PUPD_NONE, \
LED_GPIO_PIN(i)); \
LED_AFIO_REMAP(i); \
}
#define LED_GPIO_MODE(i) { \
gpio_mode_setup(LED_GPIO(i), \
GPIO_MODE_OUTPUT, \
GPIO_PUPD_NONE, \
LED_GPIO_PIN(i)); \
}
#endif
#define LED_INIT(i) { \
rcc_periph_clock_enable(LED_GPIO_CLK(i)); \
LED_GPIO_MODE(i); \
LED_AFIO_REMAP(i); \
}
#define LED_ON(i) LED_GPIO_ON(i)(LED_GPIO(i), LED_GPIO_PIN(i))
#define LED_OFF(i) LED_GPIO_OFF(i)(LED_GPIO(i), LED_GPIO_PIN(i))
#define LED_TOGGLE(i) gpio_toggle(LED_GPIO(i), LED_GPIO_PIN(i))
+23 -29
View File
@@ -394,58 +394,52 @@ void register_adc_watchdog(uint32_t adc, uint8_t chan, uint16_t low, uint16_t hi
/*** PRIVATE FUNCTION DEFINITIONS ***/
/**************************************/
#if defined(USE_AD_TIM4)
#define TIM_ADC TIM4
#define RCC_TIM_ADC RCC_TIM4
#elif defined(USE_AD_TIM1)
#define TIM_ADC TIM1
#define RCC_TIM_ADC RCC_TIM1
#else
#define TIM_ADC TIM2
#define RCC_TIM_ADC RCC_TIM2
#endif
/** Configure and enable RCC for peripherals (ADC1, ADC2, Timer) */
static inline void adc_init_rcc( void )
{
#if USE_AD1 || USE_AD2 || USE_AD3
uint32_t timer;
volatile uint32_t *rcc_apbenr;
uint32_t rcc_apb;
#if defined(USE_AD_TIM4)
timer = TIM4;
rcc_apbenr = &RCC_APB1ENR;
rcc_apb = RCC_APB1ENR_TIM4EN;
#elif defined(USE_AD_TIM1)
timer = TIM1;
rcc_apbenr = &RCC_APB2ENR;
rcc_apb = RCC_APB2ENR_TIM1EN;
#else
timer = TIM2;
rcc_apbenr = &RCC_APB1ENR;
rcc_apb = RCC_APB1ENR_TIM2EN;
#endif
/* Timer peripheral clock enable. */
rcc_peripheral_enable_clock(rcc_apbenr, rcc_apb);
rcc_periph_clock_enable(RCC_TIM_ADC);
#if defined(STM32F4)
adc_set_clk_prescale(ADC_CCR_ADCPRE_BY2);
#endif
/* Enable ADC peripheral clocks. */
#if USE_AD1
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_ADC1EN);
rcc_periph_clock_enable(RCC_ADC1);
#endif
#if USE_AD2
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_ADC2EN);
rcc_periph_clock_enable(RCC_ADC2);
#endif
#if USE_AD3
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_ADC3EN);
rcc_periph_clock_enable(RCC_ADC3);
#endif
/* Time Base configuration */
timer_reset(timer);
timer_set_mode(timer, TIM_CR1_CKD_CK_INT,
timer_reset(TIM_ADC);
timer_set_mode(TIM_ADC, TIM_CR1_CKD_CK_INT,
TIM_CR1_CMS_EDGE, TIM_CR1_DIR_UP);
#if defined(STM32F1)
timer_set_period(timer, 0xFF);
timer_set_period(TIM_ADC, 0xFF);
#elif defined(STM32F4)
timer_set_period(timer, 0xFFFF);
timer_set_period(TIM_ADC, 0xFFFF);
#endif
timer_set_prescaler(timer, ADC_TIMER_PRESCALER);
//timer_set_clock_division(timer, 0x0);
timer_set_prescaler(TIM_ADC, ADC_TIMER_PRESCALER);
//timer_set_clock_division(TIM_ADC, 0x0);
/* Generate TRGO on every update. */
timer_set_master_mode(timer, TIM_CR2_MMS_UPDATE);
timer_enable_counter(timer);
timer_set_master_mode(TIM_ADC, TIM_CR2_MMS_UPDATE);
timer_enable_counter(TIM_ADC);
#endif // USE_AD1 || USE_AD2 || USE_AD3
}
+9 -5
View File
@@ -33,13 +33,17 @@
#include "mcu_periph/can_arch.h"
#include "mcu_periph/can.h"
#include <libopencm3/stm32/f1/rcc.h>
#include <libopencm3/stm32/f1/gpio.h>
#include <libopencm3/stm32/rcc.h>
#include <libopencm3/stm32/gpio.h>
#include <libopencm3/stm32/can.h>
#include <libopencm3/cm3/nvic.h>
#include "led.h"
#ifndef STM32F1
#error "CAN is currently only implemented for STM32F1"
#endif
#ifdef RTOS_PRIO
#define NVIC_USB_LP_CAN_RX0_IRQ_PRIO RTOS_PRIO+1
#else
@@ -54,9 +58,9 @@ void can_hw_init(void)
{
/* Enable peripheral clocks. */
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_AFIOEN);
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPBEN);
rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_CAN1EN);
rcc_periph_clock_enable(RCC_AFIO);
rcc_periph_clock_enable(RCC_GPIOB);
rcc_periph_clock_enable(RCC_CAN1);
/* Remap the gpio pin if necessary. */
AFIO_MAPR |= AFIO_MAPR_CAN1_REMAP_PORTB;
+31 -39
View File
@@ -31,26 +31,51 @@
#include <libopencm3/stm32/gpio.h>
#include <libopencm3/stm32/rcc.h>
#ifdef STM32F1
void gpio_enable_clock(uint32_t port) {
switch (port) {
case GPIOA:
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPAEN);
rcc_periph_clock_enable(RCC_GPIOA);
break;
case GPIOB:
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPBEN);
rcc_periph_clock_enable(RCC_GPIOB);
break;
case GPIOC:
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPCEN);
rcc_periph_clock_enable(RCC_GPIOC);
break;
case GPIOD:
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPDEN);
rcc_periph_clock_enable(RCC_GPIOD);
break;
#ifdef GPIOE
case GPIOE:
rcc_periph_clock_enable(RCC_GPIOE);
break;
#endif
#ifdef GPIOF
case GPIOF:
rcc_periph_clock_enable(RCC_GPIOF);
break;
#endif
#ifdef GPIOG
case GPIOG:
rcc_periph_clock_enable(RCC_GPIOG);
break;
#endif
#ifdef GPIOH
case GPIOH:
rcc_periph_clock_enable(RCC_GPIOH);
break;
#endif
#ifdef GPIOI
case GPIOI:
rcc_periph_clock_enable(RCC_GPIOI);
break;
#endif
default:
break;
};
}
#ifdef STM32F1
void gpio_setup_output(uint32_t port, uint16_t pin) {
gpio_enable_clock(port);
gpio_set_mode(port, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, pin);
@@ -65,7 +90,7 @@ void gpio_setup_pin_af(uint32_t port, uint16_t pin, uint8_t af, bool_t is_output
gpio_enable_clock(port);
/* remap alternate function if needed */
if (af) {
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_AFIOEN);
rcc_periph_clock_enable(RCC_AFIO);
AFIO_MAPR |= af;
}
if (is_output)
@@ -80,39 +105,6 @@ void gpio_setup_pin_analog(uint32_t port, uint16_t pin) {
}
#elif defined STM32F4
void gpio_enable_clock(uint32_t port) {
switch (port) {
case GPIOA:
rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_IOPAEN);
break;
case GPIOB:
rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_IOPBEN);
break;
case GPIOC:
rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_IOPCEN);
break;
case GPIOD:
rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_IOPDEN);
break;
case GPIOE:
rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_IOPEEN);
break;
case GPIOF:
rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_IOPFEN);
break;
case GPIOG:
rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_IOPGEN);
break;
case GPIOH:
rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_IOPHEN);
break;
case GPIOI:
rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_IOPIEN);
break;
default:
break;
};
}
void gpio_setup_output(uint32_t port, uint16_t pin) {
gpio_enable_clock(port);
+3 -3
View File
@@ -920,7 +920,7 @@ void i2c1_hw_init(void) {
/* Enable peripheral clocks -------------------------------------------------*/
/* Enable I2C1 clock */
rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_I2C1EN);
rcc_periph_clock_enable(RCC_I2C1);
/* Enable GPIO clock */
gpio_enable_clock(I2C1_GPIO_PORT);
#if defined(STM32F1)
@@ -1006,7 +1006,7 @@ void i2c2_hw_init(void) {
/* Enable peripheral clocks -------------------------------------------------*/
/* Enable I2C2 clock */
rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_I2C2EN);
rcc_periph_clock_enable(RCC_I2C2);
/* Enable GPIO clock */
gpio_enable_clock(I2C2_GPIO_PORT);
#if defined(STM32F1)
@@ -1093,7 +1093,7 @@ void i2c3_hw_init(void) {
/* Enable peripheral clocks -------------------------------------------------*/
/* Enable I2C3 clock */
rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_I2C3EN);
rcc_periph_clock_enable(RCC_I2C3);
/* Enable GPIO clock */
gpio_enable_clock(I2C3_GPIO_PORT_SCL);
gpio_mode_setup(I2C3_GPIO_PORT_SCL, GPIO_MODE_AF, GPIO_PUPD_NONE, I2C3_GPIO_SCL);
+11 -15
View File
@@ -691,7 +691,7 @@ void spi1_arch_init(void) {
// Enable SPI1 Periph and gpio clocks
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_SPI1EN);
rcc_periph_clock_enable(RCC_SPI1);
// Configure GPIOs: SCK, MISO and MOSI
#ifdef STM32F1
@@ -736,9 +736,9 @@ void spi1_arch_init(void) {
// Enable SPI_1 DMA clock
#ifdef STM32F1
rcc_peripheral_enable_clock(&RCC_AHBENR, RCC_AHBENR_DMA1EN);
rcc_periph_clock_enable(RCC_DMA1);
#elif defined STM32F4
rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_DMA2EN);
rcc_periph_clock_enable(RCC_DMA2);
#endif
// Enable SPI1 periph.
@@ -785,7 +785,7 @@ void spi2_arch_init(void) {
// Enable SPI2 Periph and gpio clocks
rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_SPI2EN);
rcc_periph_clock_enable(RCC_SPI2);
// Configure GPIOs: SCK, MISO and MOSI
#ifdef STM32F1
@@ -828,11 +828,7 @@ void spi2_arch_init(void) {
spi_set_nss_high(SPI2);
// Enable SPI_2 DMA clock
#ifdef STM32F1
rcc_peripheral_enable_clock(&RCC_AHBENR, RCC_AHBENR_DMA1EN);
#elif defined STM32F4
rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_DMA1EN);
#endif
rcc_periph_clock_enable(RCC_DMA1);
// Enable SPI2 periph.
spi_enable(SPI2);
@@ -879,7 +875,7 @@ void spi3_arch_init(void) {
// Enable SPI3 Periph and gpio clocks
rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_SPI3EN);
rcc_periph_clock_enable(RCC_SPI3);
// Configure GPIOs: SCK, MISO and MOSI
#ifdef STM32F1
@@ -925,9 +921,9 @@ void spi3_arch_init(void) {
// Enable SPI_3 DMA clock
#ifdef STM32F1
rcc_peripheral_enable_clock(&RCC_AHBENR, RCC_AHBENR_DMA2EN);
rcc_periph_clock_enable(RCC_DMA2);
#elif defined STM32F4
rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_DMA1EN);
rcc_periph_clock_enable(RCC_DMA1);
#endif
// Enable SPI3 periph.
@@ -1253,7 +1249,7 @@ void spi1_slave_arch_init(void) {
spi1.status = SPIIdle;
// Enable SPI1 Periph and gpio clocks
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_SPI1EN);
rcc_periph_clock_enable(RCC_SPI1);
// Configure GPIOs: SCK, MISO and MOSI
// TODO configure lisa board files to use gpio_setup_pin_af function
@@ -1288,9 +1284,9 @@ void spi1_slave_arch_init(void) {
// Enable SPI_1 DMA clock
#ifdef STM32F1
rcc_peripheral_enable_clock(&RCC_AHBENR, RCC_AHBENR_DMA1EN);
rcc_periph_clock_enable(RCC_DMA1);
#elif defined STM32F4
rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_DMA2EN);
rcc_periph_clock_enable(RCC_DMA2);
#endif
// Enable SPI1 periph.
@@ -215,7 +215,7 @@ void uart1_init( void ) {
uart1.reg_addr = (void *)USART1;
/* init RCC and GPIOs */
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_USART1EN);
rcc_periph_clock_enable(RCC_USART1);
#if USE_UART1_TX
gpio_setup_pin_af(UART1_GPIO_PORT_TX, UART1_GPIO_TX, UART1_GPIO_AF, TRUE);
@@ -279,7 +279,7 @@ void uart2_init( void ) {
uart2.reg_addr = (void *)USART2;
/* init RCC and GPIOs */
rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_USART2EN);
rcc_periph_clock_enable(RCC_USART2);
#if USE_UART2_TX
gpio_setup_pin_af(UART2_GPIO_PORT_TX, UART2_GPIO_TX, UART2_GPIO_AF, TRUE);
@@ -343,7 +343,7 @@ void uart3_init( void ) {
uart3.reg_addr = (void *)USART3;
/* init RCC */
rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_USART3EN);
rcc_periph_clock_enable(RCC_USART3);
#if USE_UART3_TX
gpio_setup_pin_af(UART3_GPIO_PORT_TX, UART3_GPIO_TX, UART3_GPIO_AF, TRUE);
@@ -403,7 +403,7 @@ void uart4_init( void ) {
uart4.reg_addr = (void *)UART4;
/* init RCC and GPIOs */
rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_UART4EN);
rcc_periph_clock_enable(RCC_UART4);
#if USE_UART4_TX
gpio_setup_pin_af(UART4_GPIO_PORT_TX, UART4_GPIO_TX, UART4_GPIO_AF, TRUE);
@@ -454,7 +454,7 @@ void uart5_init( void ) {
uart5.reg_addr = (void *)UART5;
/* init RCC and GPIOs */
rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_UART5EN);
rcc_periph_clock_enable(RCC_UART5);
#if USE_UART5_TX
gpio_setup_pin_af(UART5_GPIO_PORT_TX, UART5_GPIO_TX, UART5_GPIO_AF, TRUE);
@@ -509,7 +509,7 @@ void uart6_init( void ) {
uart6.reg_addr = (void *)USART6;
/* enable uart clock */
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_USART6EN);
rcc_periph_clock_enable(RCC_USART6);
/* init RCC and GPIOs */
#if USE_UART6_TX
+5 -5
View File
@@ -1,8 +1,8 @@
#ifndef MY_DEBUG_SERVO_H
#define MY_DEBUG_SERVO_H
#include <libopencm3/stm32/f1/gpio.h>
#include <libopencm3/stm32/f1/rcc.h>
#include <libopencm3/stm32/gpio.h>
#include <libopencm3/stm32/rcc.h>
/* using servo 2 connector as debug */
@@ -35,7 +35,7 @@
#define DEBUG_SERVO1_INIT() { \
/* S1: PC6 S2: PC7 S3: PC8 */ \
GPIOC_BSRR = GPIO6 | GPIO7 | GPIO8 ; \
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPCEN); \
rcc_periph_clock_enable(RCC_GPIOC); \
gpio_set_mode(GPIOC, GPIO_MODE_OUTPUT_50_MHZ, \
GPIO_CNF_OUTPUT_PUSHPULL, GPIO6 | GPIO7 | GPIO8); \
DEBUG_S1_OFF(); \
@@ -46,12 +46,12 @@
#define DEBUG_SERVO2_INIT() { \
/* S4: PC9 */ \
GPIOC_BSRR = GPIO9; \
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPCEN); \
rcc_periph_clock_enable(RCC_GPIOC); \
gpio_set_mode(GPIOC, GPIO_MODE_OUTPUT_50_MHZ, \
GPIO_CNF_OUTPUT_PUSHPULL, GPIO9); \
/* S5: PB8 and S6: PB9 */ \
GPIOB_BSRR = GPIO8 | GPIO9; \
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPBEN); \
rcc_periph_clock_enable(RCC_GPIOB); \
gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, \
GPIO_CNF_OUTPUT_PUSHPULL, GPIO8 | GPIO9); \
DEBUG_S4_OFF(); \
@@ -20,17 +20,22 @@
*/
#include "peripherals/hmc5843.h"
#include <libopencm3/stm32/f1/gpio.h>
#include <libopencm3/stm32/f1/rcc.h>
#include <libopencm3/stm32/f1/nvic.h>
#include <libopencm3/stm32/gpio.h>
#include <libopencm3/stm32/rcc.h>
#include <libopencm3/stm32/spi.h>
#include <libopencm3/stm32/exti.h>
#include <libopencm3/cm3/nvic.h>
#include "mcu_periph/i2c.h"
#ifndef STM32F1
#error "HMC5843 arch currently only implemented for STM32F1"
#endif
void hmc5843_arch_init( void ) {
/* configure external interrupt exti5 on PB5( mag int ) */
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPBEN | RCC_APB2ENR_AFIOEN);
rcc_periph_clock_enable(RCC_GPIOB);
rcc_periph_clock_enable(RCC_AFIO);
gpio_set_mode(GPIOB, GPIO_MODE_INPUT,
GPIO_CNF_INPUT_FLOAT, GPIO5);
@@ -20,16 +20,21 @@
*/
#include "peripherals/max1168.h"
#include "libopencm3/stm32/f1/rcc.h"
#include "libopencm3/stm32/f1/gpio.h"
#include "libopencm3/stm32/rcc.h"
#include "libopencm3/stm32/gpio.h"
#include "libopencm3/stm32/exti.h"
#include "libopencm3/stm32/f1/nvic.h"
#include <libopencm3/cm3/nvic.h>
#ifndef STM32F1
#error "HMC5843 arch currently only implemented for STM32F1"
#endif
void max1168_arch_init( void ) {
/* configure external interrupt exti2 on PD2( data ready ) v1.0*/
/* PB2( data ready ) v1.1*/
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPBEN | RCC_APB2ENR_AFIOEN);
rcc_periph_clock_enable(RCC_GPIOB);
rcc_periph_clock_enable(RCC_AFIO);
gpio_set_mode(GPIOB, GPIO_MODE_INPUT,
GPIO_CNF_INPUT_FLOAT, GPIO2);
@@ -28,21 +28,26 @@
#include "peripherals/ms2100.h"
#include "mcu_periph/sys_time.h"
#include <libopencm3/stm32/f1/rcc.h>
#include <libopencm3/stm32/f1/nvic.h>
#include <libopencm3/stm32/f1/gpio.h>
#include <libopencm3/stm32/rcc.h>
#include <libopencm3/stm32/gpio.h>
#include <libopencm3/stm32/exti.h>
#include <libopencm3/cm3/nvic.h>
#ifndef STM32F1
#error "MS2100 arch currently only implemented for STM32F1"
#endif
void ms2100_arch_init( void ) {
/* set mag reset as output (reset on PC13) ----*/
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPCEN | RCC_APB2ENR_AFIOEN);
rcc_periph_clock_enable(RCC_GPIOC);
rcc_periph_clock_enable(RCC_AFIO);
gpio_set(GPIOC, GPIO13);
gpio_set_mode(GPIOC, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO13);
Ms2100Reset();
/* configure data ready input on PB5 */
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPBEN | RCC_APB2ENR_AFIOEN);
rcc_periph_clock_enable(RCC_GPIOB);
gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO5);
/* external interrupt for drdy pin */
@@ -120,14 +120,15 @@ static inline void actuators_pwm_arch_channel_init(uint32_t timer_peripheral,
/** Set GPIO configuration
*/
#if defined(STM32F4)
static inline void set_servo_gpio(uint32_t gpioport, uint16_t pin, uint8_t af_num, uint32_t en) {
rcc_peripheral_enable_clock(&RCC_AHB1ENR, en);
static inline void set_servo_gpio(uint32_t gpioport, uint16_t pin, uint8_t af_num, enum rcc_periph_clken clken) {
rcc_periph_clock_enable(clken);
gpio_mode_setup(gpioport, GPIO_MODE_AF, GPIO_PUPD_NONE, pin);
gpio_set_af(gpioport, af_num, pin);
}
#elif defined(STM32F1)
static inline void set_servo_gpio(uint32_t gpioport, uint16_t pin, uint8_t none __attribute__((unused)), uint32_t en) {
rcc_peripheral_enable_clock(&RCC_APB2ENR, en | RCC_APB2ENR_AFIOEN);
static inline void set_servo_gpio(uint32_t gpioport, uint16_t pin, uint8_t none __attribute__((unused)), enum rcc_periph_clken clken) {
rcc_periph_clock_enable(clken);
rcc_periph_clock_enable(RCC_AFIO);
gpio_set_mode(gpioport, GPIO_MODE_OUTPUT_50_MHZ,
GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, pin);
}
@@ -210,31 +211,28 @@ void actuators_pwm_arch_init(void) {
* Configure timer peripheral clocks
*-----------------------------------*/
#if PWM_USE_TIM1
// APB2 runs on double the frequency of APB1.
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_TIM1EN);
rcc_periph_clock_enable(RCC_TIM1);
#endif
#if PWM_USE_TIM2
rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_TIM2EN);
rcc_periph_clock_enable(RCC_TIM2);
#endif
#if PWM_USE_TIM3
rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_TIM3EN);
rcc_periph_clock_enable(RCC_TIM3);
#endif
#if PWM_USE_TIM4
rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_TIM4EN);
rcc_periph_clock_enable(RCC_TIM4);
#endif
#if PWM_USE_TIM5
rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_TIM5EN);
rcc_periph_clock_enable(RCC_TIM5);
#endif
#if PWM_USE_TIM8
// APB2 runs on double the frequency of APB1.
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_TIM8EN);
rcc_periph_clock_enable(RCC_TIM8);
#endif
#if PWM_USE_TIM9
// APB2 runs on double the frequency of APB1.
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_TIM9EN);
rcc_periph_clock_enable(RCC_TIM9);
#endif
#if PWM_USE_TIM12
rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_TIM12EN);
rcc_periph_clock_enable(RCC_TIM12);
#endif
/*----------------
@@ -246,40 +244,40 @@ void actuators_pwm_arch_init(void) {
#endif
#ifdef PWM_SERVO_0
set_servo_gpio(PWM_SERVO_0_GPIO, PWM_SERVO_0_PIN, PWM_SERVO_0_AF, PWM_SERVO_0_RCC_IOP);
set_servo_gpio(PWM_SERVO_0_GPIO, PWM_SERVO_0_PIN, PWM_SERVO_0_AF, PWM_SERVO_0_RCC);
#endif
#ifdef PWM_SERVO_1
set_servo_gpio(PWM_SERVO_1_GPIO, PWM_SERVO_1_PIN, PWM_SERVO_1_AF, PWM_SERVO_1_RCC_IOP);
set_servo_gpio(PWM_SERVO_1_GPIO, PWM_SERVO_1_PIN, PWM_SERVO_1_AF, PWM_SERVO_1_RCC);
#endif
#ifdef PWM_SERVO_2
set_servo_gpio(PWM_SERVO_2_GPIO, PWM_SERVO_2_PIN, PWM_SERVO_2_AF, PWM_SERVO_2_RCC_IOP);
set_servo_gpio(PWM_SERVO_2_GPIO, PWM_SERVO_2_PIN, PWM_SERVO_2_AF, PWM_SERVO_2_RCC);
#endif
#ifdef PWM_SERVO_3
set_servo_gpio(PWM_SERVO_3_GPIO, PWM_SERVO_3_PIN, PWM_SERVO_3_AF, PWM_SERVO_3_RCC_IOP);
set_servo_gpio(PWM_SERVO_3_GPIO, PWM_SERVO_3_PIN, PWM_SERVO_3_AF, PWM_SERVO_3_RCC);
#endif
#ifdef PWM_SERVO_4
set_servo_gpio(PWM_SERVO_4_GPIO, PWM_SERVO_4_PIN, PWM_SERVO_4_AF, PWM_SERVO_4_RCC_IOP);
set_servo_gpio(PWM_SERVO_4_GPIO, PWM_SERVO_4_PIN, PWM_SERVO_4_AF, PWM_SERVO_4_RCC);
#endif
#ifdef PWM_SERVO_5
set_servo_gpio(PWM_SERVO_5_GPIO, PWM_SERVO_5_PIN, PWM_SERVO_5_AF, PWM_SERVO_5_RCC_IOP);
set_servo_gpio(PWM_SERVO_5_GPIO, PWM_SERVO_5_PIN, PWM_SERVO_5_AF, PWM_SERVO_5_RCC);
#endif
#ifdef PWM_SERVO_6
set_servo_gpio(PWM_SERVO_6_GPIO, PWM_SERVO_6_PIN, PWM_SERVO_6_AF, PWM_SERVO_6_RCC_IOP);
set_servo_gpio(PWM_SERVO_6_GPIO, PWM_SERVO_6_PIN, PWM_SERVO_6_AF, PWM_SERVO_6_RCC);
#endif
#ifdef PWM_SERVO_7
set_servo_gpio(PWM_SERVO_7_GPIO, PWM_SERVO_7_PIN, PWM_SERVO_7_AF, PWM_SERVO_7_RCC_IOP);
set_servo_gpio(PWM_SERVO_7_GPIO, PWM_SERVO_7_PIN, PWM_SERVO_7_AF, PWM_SERVO_7_RCC);
#endif
#ifdef PWM_SERVO_8
set_servo_gpio(PWM_SERVO_8_GPIO, PWM_SERVO_8_PIN, PWM_SERVO_8_AF, PWM_SERVO_8_RCC_IOP);
set_servo_gpio(PWM_SERVO_8_GPIO, PWM_SERVO_8_PIN, PWM_SERVO_8_AF, PWM_SERVO_8_RCC);
#endif
#ifdef PWM_SERVO_9
set_servo_gpio(PWM_SERVO_9_GPIO, PWM_SERVO_9_PIN, PWM_SERVO_9_AF, PWM_SERVO_9_RCC_IOP);
set_servo_gpio(PWM_SERVO_9_GPIO, PWM_SERVO_9_PIN, PWM_SERVO_9_AF, PWM_SERVO_9_RCC);
#endif
#ifdef PWM_SERVO_10
set_servo_gpio(PWM_SERVO_10_GPIO, PWM_SERVO_10_PIN, PWM_SERVO_10_AF, PWM_SERVO_10_RCC_IOP);
set_servo_gpio(PWM_SERVO_10_GPIO, PWM_SERVO_10_PIN, PWM_SERVO_10_AF, PWM_SERVO_10_RCC);
#endif
#ifdef PWM_SERVO_11
set_servo_gpio(PWM_SERVO_11_GPIO, PWM_SERVO_11_PIN, PWM_SERVO_11_AF, PWM_SERVO_11_RCC_IOP);
set_servo_gpio(PWM_SERVO_11_GPIO, PWM_SERVO_11_PIN, PWM_SERVO_11_AF, PWM_SERVO_11_RCC);
#endif
@@ -1,14 +1,18 @@
#include "subsystems/imu.h"
#include <libopencm3/stm32/f1/gpio.h>
#include <libopencm3/stm32/f1/rcc.h>
#include <libopencm3/stm32/gpio.h>
#include <libopencm3/stm32/rcc.h>
#include <libopencm3/stm32/exti.h>
#include <libopencm3/stm32/spi.h>
#include <libopencm3/stm32/f1/dma.h>
#include <libopencm3/stm32/f1/nvic.h>
#include <libopencm3/stm32/dma.h>
#include <libopencm3/cm3/nvic.h>
#include "mcu_periph/i2c.h"
#ifndef STM32F1
#error "imu_aspirin_arch arch currently only implemented for STM32F1"
#endif
void imu_aspirin_arch_int_enable(void) {
#ifdef ASPIRIN_USE_GYRO_INT
@@ -49,15 +53,15 @@ void imu_aspirin_arch_init(void) {
/* Set "mag ss" and "mag reset" as floating inputs ------------------------*/
/* "mag ss" (PC12) is shorted to I2C2 SDA */
/* "mag reset" (PC13) is shorted to I2C2 SCL */
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPCEN);
rcc_periph_clock_enable(RCC_GPIOC);
gpio_set_mode(GPIOC, GPIO_MODE_INPUT,
GPIO_CNF_INPUT_FLOAT, GPIO12 | GPIO13);
#endif
/* Gyro --------------------------------------------------------------------*/
/* configure external interrupt exti15_10 on PC14( gyro int ) */
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPCEN |
RCC_APB2ENR_AFIOEN);
rcc_periph_clock_enable(RCC_GPIOC);
rcc_periph_clock_enable(RCC_AFIO);
gpio_set_mode(GPIOC, GPIO_MODE_INPUT,
GPIO_CNF_INPUT_FLOAT, GPIO14);
@@ -68,7 +72,7 @@ void imu_aspirin_arch_init(void) {
#endif
/* configure external interrupt exti2 on PB2( accel int ) */
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPBEN | RCC_APB2ENR_AFIOEN);
rcc_periph_clock_enable(RCC_GPIOB);
gpio_set_mode(GPIOB, GPIO_MODE_INPUT,
GPIO_CNF_INPUT_FLOAT, GPIO2);
exti_select_source(EXTI2, GPIOB);
@@ -1,16 +1,16 @@
#include "subsystems/imu.h"
#include <libopencm3/stm32/f4/rcc.h>
#include <libopencm3/stm32/f4/gpio.h>
#include <libopencm3/stm32/f4/nvic.h>
#include <libopencm3/stm32/rcc.h>
#include <libopencm3/stm32/gpio.h>
#include <libopencm3/stm32/exti.h>
#include <libopencm3/cm3/nvic.h>
#include "subsystems/imu/imu_krooz_sd_arch.h"
void imu_krooz_sd_arch_init(void) {
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_SYSCFGEN);
rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_IOPBEN);
rcc_peripheral_enable_clock(&RCC_AHB1ENR, RCC_AHB1ENR_IOPCEN);
rcc_periph_clock_enable(RCC_SYSCFG);
rcc_periph_clock_enable(RCC_GPIOB);
rcc_periph_clock_enable(RCC_GPIOB);
gpio_mode_setup(GPIOB, GPIO_MODE_INPUT, GPIO_PUPD_NONE, GPIO5);
gpio_mode_setup(GPIOC, GPIO_MODE_INPUT, GPIO_PUPD_NONE, GPIO6);
@@ -75,10 +75,8 @@ static uint32_t timer_rollover_cnt;
#if USE_PPM_TIM2
PRINT_CONFIG_MSG("Using TIM2 for PPM input.")
#define PPM_RCC &RCC_APB1ENR
#define PPM_PERIPHERAL RCC_APB1ENR_TIM2EN
#define PPM_TIMER TIM2
#define RCC_TIM_PPM RCC_TIM2
#ifdef STM32F4
/* Since APB prescaler != 1 :
@@ -91,10 +89,8 @@ PRINT_CONFIG_MSG("Using TIM2 for PPM input.")
#elif USE_PPM_TIM3
PRINT_CONFIG_MSG("Using TIM3 for PPM input.")
#define PPM_RCC &RCC_APB1ENR
#define PPM_PERIPHERAL RCC_APB1ENR_TIM3EN
#define PPM_TIMER TIM3
#define RCC_TIM_PPM RCC_TIM3
#ifdef STM32F4
/* Since APB prescaler != 1 :
@@ -107,10 +103,8 @@ PRINT_CONFIG_MSG("Using TIM3 for PPM input.")
#elif USE_PPM_TIM4
PRINT_CONFIG_MSG("Using TIM4 for PPM input.")
#define PPM_RCC &RCC_APB1ENR
#define PPM_PERIPHERAL RCC_APB1ENR_TIM4EN
#define PPM_TIMER TIM4
#define RCC_TIM_PPM RCC_TIM4
#ifdef STM32F4
/* Since APB prescaler != 1 :
@@ -123,10 +117,8 @@ PRINT_CONFIG_MSG("Using TIM4 for PPM input.")
#elif USE_PPM_TIM5
PRINT_CONFIG_MSG("Using TIM5 for PPM input.")
#define PPM_RCC &RCC_APB1ENR
#define PPM_PERIPHERAL RCC_APB1ENR_TIM5EN
#define PPM_TIMER TIM5
#define RCC_TIM_PPM RCC_TIM5
#ifdef STM32F4
/* Since APB prescaler != 1 :
@@ -139,10 +131,8 @@ PRINT_CONFIG_MSG("Using TIM5 for PPM input.")
#elif USE_PPM_TIM1
PRINT_CONFIG_MSG("Using TIM1 for PPM input.")
#define PPM_RCC &RCC_APB2ENR
#define PPM_PERIPHERAL RCC_APB2ENR_TIM1EN
#define PPM_TIMER TIM1
#define RCC_TIM_PPM RCC_TIM1
#ifdef STM32F4
#define PPM_TIMER_CLK (rcc_ppre2_frequency * 2)
@@ -151,16 +141,13 @@ PRINT_CONFIG_MSG("Using TIM1 for PPM input.")
#elif USE_PPM_TIM8
PRINT_CONFIG_MSG("Using TIM8 for PPM input.")
#define PPM_RCC &RCC_APB2ENR
#define PPM_PERIPHERAL RCC_APB2ENR_TIM8EN
#define PPM_TIMER TIM8
#define RCC_TIM_PPM RCC_TIM8
#ifdef STM32F4
#define PPM_TIMER_CLK (rcc_ppre2_frequency * 2)
#endif
#else
#error Unknown PPM input timer configuration.
#endif
@@ -168,7 +155,7 @@ PRINT_CONFIG_MSG("Using TIM8 for PPM input.")
void ppm_arch_init ( void ) {
/* timer clock enable */
rcc_peripheral_enable_clock(PPM_RCC, PPM_PERIPHERAL);
rcc_periph_clock_enable(RCC_TIM_PPM);
/* GPIO clock enable */
gpio_enable_clock(PPM_GPIO_PORT);
@@ -486,7 +486,7 @@ void RadioControlEventImp(void (*frame_handler)(void)) {
void SpektrumTimerInit( void ) {
/* enable TIM6 clock */
rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_TIM6EN);
rcc_periph_clock_enable(RCC_TIM6);
/* TIM6 configuration */
timer_set_mode(TIM6, TIM_CR1_CKD_CK_INT,
@@ -542,7 +542,7 @@ void tim6_dac_isr( void ) {
void SpektrumUartInit(void) {
/* init RCC */
gpio_enable_clock(PrimaryUart(_BANK));
rcc_peripheral_enable_clock(PrimaryUart(_RCC_REG), PrimaryUart(_RCC_DEV));
rcc_periph_clock_enable(PrimaryUart(_RCC));
/* Enable USART interrupts */
nvic_set_priority(PrimaryUart(_IRQ), NVIC_PRIMARY_UART_PRIO);
@@ -569,7 +569,7 @@ void SpektrumUartInit(void) {
#ifdef RADIO_CONTROL_SPEKTRUM_SECONDARY_PORT
/* init RCC */
gpio_enable_clock(SecondaryUart(_BANK));
rcc_peripheral_enable_clock(SecondaryUart(_RCC_REG), SecondaryUart(_RCC_DEV));
rcc_periph_clock_enable(SecondaryUart(_RCC));
/* Enable USART interrupts */
nvic_set_priority(SecondaryUart(_IRQ), NVIC_PRIMARY_UART_PRIO+1);
@@ -722,7 +722,7 @@ void radio_control_spektrum_try_bind(void) {
static void SpektrumDelayInit( void ) {
/* Enable timer clock */
rcc_peripheral_enable_clock(&RCC_APB1ENR, RCC_APB1ENR_TIM6EN);
rcc_periph_clock_enable(RCC_TIM6);
/* Make sure the timer is reset to default values. */
timer_reset(TIM6);
+9 -10
View File
@@ -16,7 +16,7 @@
#define USE_LED_1 1
#endif
#define LED_1_GPIO GPIOC
#define LED_1_GPIO_CLK RCC_AHB1ENR_IOPCEN
#define LED_1_GPIO_CLK RCC_GPIOC
#define LED_1_GPIO_PIN GPIO0
#define LED_1_GPIO_ON gpio_clear
#define LED_1_GPIO_OFF gpio_set
@@ -27,7 +27,7 @@
#define USE_LED_2 1
#endif
#define LED_2_GPIO GPIOC
#define LED_2_GPIO_CLK RCC_AHB1ENR_IOPCEN
#define LED_2_GPIO_CLK RCC_GPIOC
#define LED_2_GPIO_PIN GPIO13
#define LED_2_GPIO_ON gpio_clear
#define LED_2_GPIO_OFF gpio_set
@@ -167,7 +167,7 @@
#if USE_PWM0
#define PWM_SERVO_0 0
#define PWM_SERVO_0_TIMER TIM2
#define PWM_SERVO_0_RCC_IOP RCC_AHB1ENR_IOPAEN
#define PWM_SERVO_0_RCC RCC_GPIOA
#define PWM_SERVO_0_GPIO GPIOA
#define PWM_SERVO_0_PIN GPIO3
#define PWM_SERVO_0_AF GPIO_AF1
@@ -180,7 +180,7 @@
#if USE_PWM1
#define PWM_SERVO_1 1
#define PWM_SERVO_1_TIMER TIM2
#define PWM_SERVO_1_RCC_IOP RCC_AHB1ENR_IOPAEN
#define PWM_SERVO_1_RCC RCC_GPIOA
#define PWM_SERVO_1_GPIO GPIOA
#define PWM_SERVO_1_PIN GPIO2
#define PWM_SERVO_1_AF GPIO_AF1
@@ -193,7 +193,7 @@
#if USE_PWM2
#define PWM_SERVO_2 2
#define PWM_SERVO_2_TIMER TIM3
#define PWM_SERVO_2_RCC_IOP RCC_AHB1ENR_IOPBEN
#define PWM_SERVO_2_RCC RCC_GPIOB
#define PWM_SERVO_2_GPIO GPIOB
#define PWM_SERVO_2_PIN GPIO5
#define PWM_SERVO_2_AF GPIO_AF2
@@ -206,7 +206,7 @@
#if USE_PWM3
#define PWM_SERVO_3_IDX 3
#define PWM_SERVO_3_TIMER TIM3
#define PWM_SERVO_3_RCC_IOP RCC_AHB1ENR_IOPBEN
#define PWM_SERVO_3_RCC RCC_GPIOB
#define PWM_SERVO_3_GPIO GPIOB
#define PWM_SERVO_3_PIN GPIO4
#define PWM_SERVO_3_AF GPIO_AF2
@@ -219,7 +219,7 @@
#if USE_PWM4
#define PWM_SERVO_4 4
#define PWM_SERVO_4_TIMER TIM2
#define PWM_SERVO_4_RCC_IOP RCC_AHB1ENR_IOPBEN
#define PWM_SERVO_4_RCC RCC_GPIOB
#define PWM_SERVO_4_GPIO GPIOB
#define PWM_SERVO_4_PIN GPIO3
#define PWM_SERVO_4_AF GPIO_AF1
@@ -232,7 +232,7 @@
#if USE_PWM5
#define PWM_SERVO_5 5
#define PWM_SERVO_5_TIMER TIM2
#define PWM_SERVO_5_RCC_IOP RCC_AHB1ENR_IOPAEN
#define PWM_SERVO_5_RCC RCC_GPIOA
#define PWM_SERVO_5_GPIO GPIOA
#define PWM_SERVO_5_PIN GPIO15
#define PWM_SERVO_5_AF GPIO_AF1
@@ -270,8 +270,7 @@
#define SPEKTRUM_BIND_PIN GPIO8
#define SPEKTRUM_BIND_PIN_PORT GPIOA
#define SPEKTRUM_UART2_RCC_REG &RCC_APB1ENR
#define SPEKTRUM_UART2_RCC_DEV RCC_APB1ENR_USART2EN
#define SPEKTRUM_UART2_RCC RCC_USART2
#define SPEKTRUM_UART2_BANK GPIOA
#define SPEKTRUM_UART2_PIN GPIO3
#define SPEKTRUM_UART2_AF GPIO_AF7
+17 -18
View File
@@ -16,7 +16,7 @@
#define USE_LED_1 1
#endif
#define LED_1_GPIO GPIOC
#define LED_1_GPIO_CLK RCC_AHB1ENR_IOPCEN
#define LED_1_GPIO_CLK RCC_GPIOC
#define LED_1_GPIO_PIN GPIO0
#define LED_1_GPIO_ON gpio_clear
#define LED_1_GPIO_OFF gpio_set
@@ -27,7 +27,7 @@
#define USE_LED_2 1
#endif
#define LED_2_GPIO GPIOC
#define LED_2_GPIO_CLK RCC_AHB1ENR_IOPCEN
#define LED_2_GPIO_CLK RCC_GPIOC
#define LED_2_GPIO_PIN GPIO13
#define LED_2_GPIO_ON gpio_clear
#define LED_2_GPIO_OFF gpio_set
@@ -38,7 +38,7 @@
#define USE_LED_3 1
#endif
#define LED_3_GPIO GPIOC
#define LED_3_GPIO_CLK RCC_AHB1ENR_IOPCEN
#define LED_3_GPIO_CLK RCC_GPIOC
#define LED_3_GPIO_PIN GPIO1
#define LED_3_GPIO_ON gpio_clear
#define LED_3_GPIO_OFF gpio_set
@@ -49,7 +49,7 @@
#define USE_LED_4 1
#endif
#define LED_4_GPIO GPIOC
#define LED_4_GPIO_CLK RCC_AHB1ENR_IOPCEN
#define LED_4_GPIO_CLK RCC_GPIOC
#define LED_4_GPIO_PIN GPIO3
#define LED_4_GPIO_ON gpio_clear
#define LED_4_GPIO_OFF gpio_set
@@ -60,7 +60,7 @@
#define USE_LED_5 0
#endif
#define LED_5_GPIO GPIOB
#define LED_5_GPIO_CLK RCC_AHB1ENR_IOPBEN
#define LED_5_GPIO_CLK RCC_GPIOB
#define LED_5_GPIO_PIN GPIO1
#define LED_5_GPIO_ON gpio_set
#define LED_5_GPIO_OFF gpio_clear
@@ -71,7 +71,7 @@
#define USE_LED_6 0
#endif
#define LED_6_GPIO GPIOC
#define LED_6_GPIO_CLK RCC_AHB1ENR_IOPCEN
#define LED_6_GPIO_CLK RCC_GPIOC
#define LED_6_GPIO_PIN GPIO5
#define LED_6_GPIO_ON gpio_set
#define LED_6_GPIO_OFF gpio_clear
@@ -82,7 +82,7 @@
#define USE_LED_7 0
#endif
#define LED_7_GPIO GPIOC
#define LED_7_GPIO_CLK RCC_AHB1ENR_IOPCEN
#define LED_7_GPIO_CLK RCC_GPIOC
#define LED_7_GPIO_PIN GPIO4
#define LED_7_GPIO_ON gpio_set
#define LED_7_GPIO_OFF gpio_clear
@@ -93,7 +93,7 @@
#define USE_LED_8 0
#endif
#define LED_8_GPIO GPIOB
#define LED_8_GPIO_CLK RCC_AHB1ENR_IOPBEN
#define LED_8_GPIO_CLK RCC_GPIOB
#define LED_8_GPIO_PIN GPIO15
#define LED_8_GPIO_ON gpio_set
#define LED_8_GPIO_OFF gpio_clear
@@ -104,7 +104,7 @@
#define USE_LED_9 1
#endif
#define LED_9_GPIO GPIOB
#define LED_9_GPIO_CLK RCC_AHB1ENR_IOPBEN
#define LED_9_GPIO_CLK RCC_GPIOB
#define LED_9_GPIO_PIN GPIO12
#define LED_9_GPIO_ON gpio_set
#define LED_9_GPIO_OFF gpio_clear
@@ -242,7 +242,7 @@
#if USE_PWM0
#define PWM_SERVO_0 0
#define PWM_SERVO_0_TIMER TIM3
#define PWM_SERVO_0_RCC_IOP RCC_AHB1ENR_IOPBEN
#define PWM_SERVO_0_RCC RCC_GPIOB
#define PWM_SERVO_0_GPIO GPIOB
#define PWM_SERVO_0_PIN GPIO0
#define PWM_SERVO_0_AF GPIO_AF2
@@ -255,7 +255,7 @@
#if USE_PWM1
#define PWM_SERVO_1 1
#define PWM_SERVO_1_TIMER TIM2
#define PWM_SERVO_1_RCC_IOP RCC_AHB1ENR_IOPAEN
#define PWM_SERVO_1_RCC RCC_GPIOA
#define PWM_SERVO_1_GPIO GPIOA
#define PWM_SERVO_1_PIN GPIO2
#define PWM_SERVO_1_AF GPIO_AF1
@@ -268,7 +268,7 @@
#if USE_PWM2
#define PWM_SERVO_2 2
#define PWM_SERVO_2_TIMER TIM3
#define PWM_SERVO_2_RCC_IOP RCC_AHB1ENR_IOPBEN
#define PWM_SERVO_2_RCC RCC_GPIOB
#define PWM_SERVO_2_GPIO GPIOB
#define PWM_SERVO_2_PIN GPIO5
#define PWM_SERVO_2_AF GPIO_AF2
@@ -281,7 +281,7 @@
#if USE_PWM3
#define PWM_SERVO_3 3
#define PWM_SERVO_3_TIMER TIM3
#define PWM_SERVO_3_RCC_IOP RCC_AHB1ENR_IOPBEN
#define PWM_SERVO_3_RCC RCC_GPIOB
#define PWM_SERVO_3_GPIO GPIOB
#define PWM_SERVO_3_PIN GPIO4
#define PWM_SERVO_3_AF GPIO_AF2
@@ -294,7 +294,7 @@
#if USE_PWM4
#define PWM_SERVO_4 4
#define PWM_SERVO_4_TIMER TIM2
#define PWM_SERVO_4_RCC_IOP RCC_AHB1ENR_IOPBEN
#define PWM_SERVO_4_RCC RCC_GPIOB
#define PWM_SERVO_4_GPIO GPIOB
#define PWM_SERVO_4_PIN GPIO3
#define PWM_SERVO_4_AF GPIO_AF1
@@ -307,7 +307,7 @@
#if USE_PWM5
#define PWM_SERVO_5 5
#define PWM_SERVO_5_TIMER TIM2
#define PWM_SERVO_5_RCC_IOP RCC_AHB1ENR_IOPAEN
#define PWM_SERVO_5_RCC RCC_GPIOA
#define PWM_SERVO_5_GPIO GPIOA
#define PWM_SERVO_5_PIN GPIO15
#define PWM_SERVO_5_AF GPIO_AF1
@@ -321,7 +321,7 @@
#if USE_PWM6
#define PWM_SERVO_6 6
#define PWM_SERVO_6_TIMER TIM3
#define PWM_SERVO_6_RCC_IOP RCC_AHB1ENR_IOPBEN
#define PWM_SERVO_6_RCC RCC_GPIOB
#define PWM_SERVO_6_GPIO GPIOB
#define PWM_SERVO_6_PIN GPIO1
#define PWM_SERVO_6_AF GPIO_AF2
@@ -358,8 +358,7 @@
#define SPEKTRUM_BIND_PIN GPIO8
#define SPEKTRUM_BIND_PIN_PORT GPIOA
#define SPEKTRUM_UART2_RCC_REG &RCC_APB1ENR
#define SPEKTRUM_UART2_RCC_DEV RCC_APB1ENR_USART2EN
#define SPEKTRUM_UART2_RCC RCC_USART2
#define SPEKTRUM_UART2_BANK GPIOA
#define SPEKTRUM_UART2_PIN GPIO3
#define SPEKTRUM_UART2_AF GPIO_AF7
+5 -5
View File
@@ -11,35 +11,35 @@
#define USE_LED_1 1
#endif
#define LED_1_GPIO GPIOC
#define LED_1_GPIO_CLK RCC_APB2Periph_GPIOC
#define LED_1_GPIO_CLK RCC_GPIOC
#define LED_1_GPIO_PIN GPIO_Pin_12
#ifndef USE_LED_4
#define USE_LED_4 1
#endif
#define LED_4_GPIO GPIOA
#define LED_4_GPIO_CLK RCC_APB2Periph_GPIOA
#define LED_4_GPIO_CLK RCC_GPIOA
#define LED_4_GPIO_PIN GPIO_Pin_6
#ifndef USE_LED_5
#define USE_LED_5 1
#endif
#define LED_5_GPIO GPIOA
#define LED_5_GPIO_CLK RCC_APB2Periph_GPIOA
#define LED_5_GPIO_CLK RCC_GPIOA
#define LED_5_GPIO_PIN GPIO_Pin_7
#ifndef USE_LED_6
#define USE_LED_6 1
#endif
#define LED_6_GPIO GPIOB
#define LED_6_GPIO_CLK RCC_APB2Periph_GPIOB
#define LED_6_GPIO_CLK RCC_GPIOB
#define LED_6_GPIO_PIN GPIO_Pin_0
#ifndef USE_LED_7
#define USE_LED_7 1
#endif
#define LED_7_GPIO GPIOB
#define LED_7_GPIO_CLK RCC_APB2Periph_GPIOB
#define LED_7_GPIO_CLK RCC_GPIOB
#define LED_7_GPIO_PIN GPIO_Pin_1
#endif /* CONFIG_BETH_H */
+19 -19
View File
@@ -16,7 +16,7 @@
#define USE_LED_1 1
#endif
#define LED_1_GPIO GPIOA
#define LED_1_GPIO_CLK RCC_AHB1ENR_IOPAEN
#define LED_1_GPIO_CLK RCC_GPIOA
#define LED_1_GPIO_PIN GPIO13
#define LED_1_GPIO_ON gpio_clear
#define LED_1_GPIO_OFF gpio_set
@@ -27,7 +27,7 @@
#define USE_LED_2 1
#endif
#define LED_2_GPIO GPIOA
#define LED_2_GPIO_CLK RCC_AHB1ENR_IOPAEN
#define LED_2_GPIO_CLK RCC_GPIOA
#define LED_2_GPIO_PIN GPIO14
#define LED_2_GPIO_ON gpio_clear
#define LED_2_GPIO_OFF gpio_set
@@ -38,7 +38,7 @@
#define USE_LED_3 1
#endif
#define LED_3_GPIO GPIOA
#define LED_3_GPIO_CLK RCC_AHB1ENR_IOPAEN
#define LED_3_GPIO_CLK RCC_GPIOA
#define LED_3_GPIO_PIN GPIO15
#define LED_3_GPIO_ON gpio_clear
#define LED_3_GPIO_OFF gpio_set
@@ -50,24 +50,24 @@
/* PB4, Camera power On/Off */
#define CAM_SW_GPIO GPIOB
#define CAM_SW_GPIO_CLK RCC_AHB1ENR_IOPBEN
#define CAM_SW_GPIO_CLK RCC_GPIOB
#define CAM_SW_GPIO_PIN GPIO4
#define CAM_SW_AFIO_REMAP ((void)0)
/* PC2, Camera shot */
#define CAM_SH_GPIO GPIOC
#define CAM_SH_GPIO_CLK RCC_AHB1ENR_IOPCEN
#define CAM_SH_GPIO_CLK RCC_GPIOC
#define CAM_SH_GPIO_PIN GPIO2
#define CAM_SH_AFIO_REMAP ((void)0)
/* PC15, Camera video */
#define CAM_V_GPIO GPIOC
#define CAM_V_GPIO_CLK RCC_AHB1ENR_IOPCEN
#define CAM_V_GPIO_CLK RCC_GPIOC
#define CAM_V_GPIO_PIN GPIO15
#define CAM_V_AFIO_REMAP ((void)0)
#define BEEPER_GPIO GPIOC
#define BEEPER_GPIO_CLK RCC_AHB1ENR_IOPCEN
#define BEEPER_GPIO GPIOC
#define BEEPER_GPIO_CLK RCC_GPIOC
#define BEEPER_GPIO_PIN GPIO14
#define BEEPER_AFIO_REMAP ((void)0)
@@ -222,7 +222,7 @@
#if USE_PWM0
#define PWM_SERVO_0 0
#define PWM_SERVO_0_TIMER TIM3
#define PWM_SERVO_0_RCC_IOP RCC_AHB1ENR_IOPBEN
#define PWM_SERVO_0_RCC RCC_GPIOB
#define PWM_SERVO_0_GPIO GPIOB
#define PWM_SERVO_0_PIN GPIO1
#define PWM_SERVO_0_AF GPIO_AF2
@@ -235,7 +235,7 @@
#if USE_PWM1
#define PWM_SERVO_1 1
#define PWM_SERVO_1_TIMER TIM3
#define PWM_SERVO_1_RCC_IOP RCC_AHB1ENR_IOPCEN
#define PWM_SERVO_1_RCC RCC_GPIOC
#define PWM_SERVO_1_GPIO GPIOC
#define PWM_SERVO_1_PIN GPIO8
#define PWM_SERVO_1_AF GPIO_AF2
@@ -248,7 +248,7 @@
#if USE_PWM2
#define PWM_SERVO_2 2
#define PWM_SERVO_2_TIMER TIM3
#define PWM_SERVO_2_RCC_IOP RCC_AHB1ENR_IOPCEN
#define PWM_SERVO_2_RCC RCC_GPIOC
#define PWM_SERVO_2_GPIO GPIOC
#define PWM_SERVO_2_PIN GPIO7
#define PWM_SERVO_2_AF GPIO_AF2
@@ -261,7 +261,7 @@
#if USE_PWM3
#define PWM_SERVO_3 3
#define PWM_SERVO_3_TIMER TIM3
#define PWM_SERVO_3_RCC_IOP RCC_AHB1ENR_IOPBEN
#define PWM_SERVO_3_RCC RCC_GPIOB
#define PWM_SERVO_3_GPIO GPIOB
#define PWM_SERVO_3_PIN GPIO4
#define PWM_SERVO_3_AF GPIO_AF2
@@ -274,7 +274,7 @@
#if USE_PWM4
#define PWM_SERVO_4 4
#define PWM_SERVO_4_TIMER TIM4
#define PWM_SERVO_4_RCC_IOP RCC_AHB1ENR_IOPBEN
#define PWM_SERVO_4_RCC RCC_GPIOB
#define PWM_SERVO_4_GPIO GPIOB
#define PWM_SERVO_4_PIN GPIO7
#define PWM_SERVO_4_AF GPIO_AF2
@@ -287,7 +287,7 @@
#if USE_PWM5
#define PWM_SERVO_5 5
#define PWM_SERVO_5_TIMER TIM4
#define PWM_SERVO_5_RCC_IOP RCC_AHB1ENR_IOPBEN
#define PWM_SERVO_5_RCC RCC_GPIOB
#define PWM_SERVO_5_GPIO GPIOB
#define PWM_SERVO_5_PIN GPIO6
#define PWM_SERVO_5_AF GPIO_AF2
@@ -300,7 +300,7 @@
#if USE_PWM6
#define PWM_SERVO_6 6
#define PWM_SERVO_6_TIMER TIM5
#define PWM_SERVO_6_RCC_IOP RCC_AHB1ENR_IOPAEN
#define PWM_SERVO_6_RCC RCC_GPIOA
#define PWM_SERVO_6_GPIO GPIOA
#define PWM_SERVO_6_PIN GPIO3
#define PWM_SERVO_6_AF GPIO_AF2
@@ -313,7 +313,7 @@
#if USE_PWM7
#define PWM_SERVO_7 7
#define PWM_SERVO_7_TIMER TIM5
#define PWM_SERVO_7_RCC_IOP RCC_AHB1ENR_IOPAEN
#define PWM_SERVO_7_RCC RCC_GPIOA
#define PWM_SERVO_7_GPIO GPIOA
#define PWM_SERVO_7_PIN GPIO2
#define PWM_SERVO_7_AF GPIO_AF2
@@ -326,7 +326,7 @@
#if USE_PWM8
#define PWM_SERVO_8 8
#define PWM_SERVO_8_TIMER TIM5
#define PWM_SERVO_8_RCC_IOP RCC_AHB1ENR_IOPAEN
#define PWM_SERVO_8_RCC RCC_GPIOA
#define PWM_SERVO_8_GPIO GPIOA
#define PWM_SERVO_8_PIN GPIO1
#define PWM_SERVO_8_AF GPIO_AF2
@@ -339,7 +339,7 @@
#if USE_PWM9
#define PWM_SERVO_9 9
#define PWM_SERVO_9_TIMER TIM5
#define PWM_SERVO_9_RCC_IOP RCC_AHB1ENR_IOPAEN
#define PWM_SERVO_9_RCC RCC_GPIOA
#define PWM_SERVO_9_GPIO GPIOA
#define PWM_SERVO_9_PIN GPIO0
#define PWM_SERVO_9_AF GPIO_AF2
@@ -352,7 +352,7 @@
#if USE_PWM10
#define PWM_SERVO_10 10
#define PWM_SERVO_10_TIMER TIM2
#define PWM_SERVO_10_RCC_IOP RCC_AHB1ENR_IOPBEN
#define PWM_SERVO_10_RCC RCC_GPIOB
#define PWM_SERVO_10_GPIO GPIOB
#define PWM_SERVO_10_PIN GPIO3
#define PWM_SERVO_10_AF GPIO_AF1
+14 -11
View File
@@ -18,7 +18,7 @@
#define USE_LED_1 1
#endif
#define LED_1_GPIO GPIOA
#define LED_1_GPIO_CLK RCC_APB2ENR_IOPAEN
#define LED_1_GPIO_CLK RCC_GPIOA
#define LED_1_GPIO_PIN GPIO8
#define LED_1_GPIO_ON gpio_clear
#define LED_1_GPIO_OFF gpio_set
@@ -29,18 +29,21 @@
#define USE_LED_2 1
#endif
#define LED_2_GPIO GPIOB
#define LED_2_GPIO_CLK RCC_APB2ENR_IOPBEN | RCC_APB2ENR_AFIOEN
#define LED_2_GPIO_CLK RCC_GPIOB
#define LED_2_GPIO_PIN GPIO4
#define LED_2_GPIO_ON gpio_clear
#define LED_2_GPIO_OFF gpio_set
#define LED_2_AFIO_REMAP AFIO_MAPR |= AFIO_MAPR_SWJ_CFG_FULL_SWJ_NO_JNTRST
#define LED_2_AFIO_REMAP { \
rcc_periph_clock_enable(RCC_AFIO); \
AFIO_MAPR |= AFIO_MAPR_SWJ_CFG_FULL_SWJ_NO_JNTRST; \
}
/* green, shared with ADC12 (ADC_6 on connector ANALOG2) */
#ifndef USE_LED_3
#define USE_LED_3 1
#endif
#define LED_3_GPIO GPIOC
#define LED_3_GPIO_CLK RCC_APB2ENR_IOPCEN
#define LED_3_GPIO_CLK RCC_GPIOC
#define LED_3_GPIO_PIN GPIO2
#define LED_3_GPIO_ON gpio_clear
#define LED_3_GPIO_OFF gpio_set
@@ -51,7 +54,7 @@
#define USE_LED_4 1
#endif
#define LED_4_GPIO GPIOC
#define LED_4_GPIO_CLK RCC_APB2ENR_IOPCEN
#define LED_4_GPIO_CLK RCC_GPIOC
#define LED_4_GPIO_PIN GPIO5
#define LED_4_GPIO_ON gpio_clear
#define LED_4_GPIO_OFF gpio_set
@@ -62,7 +65,7 @@
#define USE_LED_5 1
#endif
#define LED_5_GPIO GPIOC
#define LED_5_GPIO_CLK RCC_APB2ENR_IOPCEN
#define LED_5_GPIO_CLK RCC_GPIOC
#define LED_5_GPIO_PIN GPIO15
#define LED_5_GPIO_ON gpio_clear
#define LED_5_GPIO_OFF gpio_set
@@ -73,7 +76,7 @@
*/
/* PC3, ADC13 on ADC_1 */
#define LED_6_GPIO GPIOC
#define LED_6_GPIO_CLK RCC_APB2ENR_IOPCEN
#define LED_6_GPIO_CLK RCC_GPIOC
#define LED_6_GPIO_PIN GPIO3
#define LED_6_GPIO_ON gpio_clear
#define LED_6_GPIO_OFF gpio_set
@@ -81,7 +84,7 @@
/* PC0, ADC10 on ADC_2 */
#define LED_7_GPIO GPIOC
#define LED_7_GPIO_CLK RCC_APB2ENR_IOPCEN
#define LED_7_GPIO_CLK RCC_GPIOC
#define LED_7_GPIO_PIN GPIO0
#define LED_7_GPIO_ON gpio_clear
#define LED_7_GPIO_OFF gpio_set
@@ -89,7 +92,7 @@
/* PC1, ADC11 on ADC_3 */
#define LED_8_GPIO GPIOC
#define LED_8_GPIO_CLK RCC_APB2ENR_IOPCEN
#define LED_8_GPIO_CLK RCC_GPIOC
#define LED_8_GPIO_PIN GPIO1
#define LED_8_GPIO_ON gpio_clear
#define LED_8_GPIO_OFF gpio_set
@@ -102,7 +105,7 @@
/* PB1, DRDY on EXT SPI connector*/
#define LED_BODY_GPIO GPIOB
#define LED_BODY_GPIO_CLK RCC_APB2ENR_IOPBEN
#define LED_BODY_GPIO_CLK RCC_GPIOB
#define LED_BODY_GPIO_PIN GPIO1
#define LED_BODY_GPIO_ON gpio_set
#define LED_BODY_GPIO_OFF gpio_clear
@@ -110,7 +113,7 @@
/* PC12, on GPIO connector*/
#define LED_12_GPIO GPIOC
#define LED_12_GPIO_CLK RCC_APB2ENR_IOPCEN
#define LED_12_GPIO_CLK RCC_GPIOC
#define LED_12_GPIO_PIN GPIO12
#define LED_12_GPIO_ON gpio_clear
#define LED_12_GPIO_OFF gpio_set
+14 -17
View File
@@ -18,23 +18,23 @@
/* SPI slave mapping */
#define SPI_SELECT_SLAVE0_PERIPH RCC_APB2ENR_IOPAEN
#define SPI_SELECT_SLAVE0_PERIPH RCC_GPIOA
#define SPI_SELECT_SLAVE0_PORT GPIOA
#define SPI_SELECT_SLAVE0_PIN GPIO15
#define SPI_SELECT_SLAVE1_PERIPH RCC_APB2ENR_IOPAEN
#define SPI_SELECT_SLAVE1_PERIPH RCC_GPIOA
#define SPI_SELECT_SLAVE1_PORT GPIOA
#define SPI_SELECT_SLAVE1_PIN GPIO4
#define SPI_SELECT_SLAVE2_PERIPH RCC_APB2ENR_IOPBEN
#define SPI_SELECT_SLAVE2_PERIPH RCC_GPIOB
#define SPI_SELECT_SLAVE2_PORT GPIOB
#define SPI_SELECT_SLAVE2_PIN GPIO12
#define SPI_SELECT_SLAVE3_PERIPH RCC_APB2ENR_IOPCEN
#define SPI_SELECT_SLAVE3_PERIPH RCC_GPIOC
#define SPI_SELECT_SLAVE3_PORT GPIOC
#define SPI_SELECT_SLAVE3_PIN GPIO13
#define SPI_SELECT_SLAVE4_PERIPH RCC_APB2ENR_IOPCEN
#define SPI_SELECT_SLAVE4_PERIPH RCC_GPIOC
#define SPI_SELECT_SLAVE4_PORT GPIOC
#define SPI_SELECT_SLAVE4_PIN GPIO12
@@ -89,8 +89,7 @@
#define SPEKTRUM_BIND_PIN GPIO3
#define SPEKTRUM_BIND_PIN_PORT GPIOC
#define SPEKTRUM_UART1_RCC_REG &RCC_APB2ENR
#define SPEKTRUM_UART1_RCC_DEV RCC_APB2ENR_USART1EN
#define SPEKTRUM_UART1_RCC RCC_USART1
#define SPEKTRUM_UART1_BANK GPIO_BANK_USART1_RX
#define SPEKTRUM_UART1_PIN GPIO_USART1_RX
#define SPEKTRUM_UART1_AF 0
@@ -98,8 +97,7 @@
#define SPEKTRUM_UART1_ISR usart1_isr
#define SPEKTRUM_UART1_DEV USART1
#define SPEKTRUM_UART3_RCC_REG &RCC_APB1ENR
#define SPEKTRUM_UART3_RCC_DEV RCC_APB1ENR_USART3EN
#define SPEKTRUM_UART3_RCC RCC_USART3
#define SPEKTRUM_UART3_BANK GPIO_BANK_USART3_PR_RX
#define SPEKTRUM_UART3_PIN GPIO_USART3_PR_RX
#define SPEKTRUM_UART3_AF AFIO_MAPR_USART3_REMAP_PARTIAL_REMAP
@@ -107,8 +105,7 @@
#define SPEKTRUM_UART3_ISR usart3_isr
#define SPEKTRUM_UART3_DEV USART3
#define SPEKTRUM_UART5_RCC_REG &RCC_APB1ENR
#define SPEKTRUM_UART5_RCC_DEV RCC_APB1ENR_UART5EN
#define SPEKTRUM_UART5_RCC RCC_UART5
#define SPEKTRUM_UART5_BANK GPIO_BANK_UART5_RX
#define SPEKTRUM_UART5_PIN GPIO_UART5_RX
#define SPEKTRUM_UART5_AF 0
@@ -209,7 +206,7 @@
#if USE_PWM1
#define PWM_SERVO_1 0
#define PWM_SERVO_1_TIMER TIM3
#define PWM_SERVO_1_RCC_IOP RCC_APB2ENR_IOPCEN
#define PWM_SERVO_1_RCC RCC_GPIOC
#define PWM_SERVO_1_GPIO GPIOC
#define PWM_SERVO_1_PIN GPIO6
#define PWM_SERVO_1_AF 0
@@ -222,7 +219,7 @@
#if USE_PWM2
#define PWM_SERVO_2 1
#define PWM_SERVO_2_TIMER TIM3
#define PWM_SERVO_2_RCC_IOP RCC_APB2ENR_IOPCEN
#define PWM_SERVO_2_RCC RCC_GPIOC
#define PWM_SERVO_2_GPIO GPIOC
#define PWM_SERVO_2_PIN GPIO7
#define PWM_SERVO_2_AF 0
@@ -235,7 +232,7 @@
#if USE_PWM3
#define PWM_SERVO_3 2
#define PWM_SERVO_3_TIMER TIM3
#define PWM_SERVO_3_RCC_IOP RCC_APB2ENR_IOPCEN
#define PWM_SERVO_3_RCC RCC_GPIOC
#define PWM_SERVO_3_GPIO GPIOC
#define PWM_SERVO_3_PIN GPIO8
#define PWM_SERVO_3_AF 0
@@ -248,7 +245,7 @@
#if USE_PWM4
#define PWM_SERVO_4 3
#define PWM_SERVO_4_TIMER TIM3
#define PWM_SERVO_4_RCC_IOP RCC_APB2ENR_IOPCEN
#define PWM_SERVO_4_RCC RCC_GPIOC
#define PWM_SERVO_4_GPIO GPIOC
#define PWM_SERVO_4_PIN GPIO9
#define PWM_SERVO_4_AF 0
@@ -261,7 +258,7 @@
#if USE_PWM5
#define PWM_SERVO_5 4
#define PWM_SERVO_5_TIMER TIM4
#define PWM_SERVO_5_RCC_IOP RCC_APB2ENR_IOPBEN
#define PWM_SERVO_5_RCC RCC_GPIOB
#define PWM_SERVO_5_GPIO GPIOB
#define PWM_SERVO_5_PIN GPIO8
#define PWM_SERVO_5_AF 0
@@ -274,7 +271,7 @@
#if USE_PWM6
#define PWM_SERVO_6 5
#define PWM_SERVO_6_TIMER TIM4
#define PWM_SERVO_6_RCC_IOP RCC_APB2ENR_IOPBEN
#define PWM_SERVO_6_RCC RCC_GPIOB
#define PWM_SERVO_6_GPIO GPIOB
#define PWM_SERVO_6_PIN GPIO9
#define PWM_SERVO_6_AF 0
+10 -7
View File
@@ -15,18 +15,21 @@
#define USE_LED_1 1
#endif
#define LED_1_GPIO GPIOB
#define LED_1_GPIO_CLK RCC_APB2ENR_IOPBEN | RCC_APB2ENR_AFIOEN
#define LED_1_GPIO_CLK RCC_GPIOB
#define LED_1_GPIO_PIN GPIO4
#define LED_1_GPIO_ON gpio_clear
#define LED_1_GPIO_OFF gpio_set
#define LED_1_AFIO_REMAP AFIO_MAPR |= AFIO_MAPR_SWJ_CFG_FULL_SWJ_NO_JNTRST
#define LED_1_AFIO_REMAP { \
rcc_periph_clock_enable(RCC_AFIO); \
AFIO_MAPR |= AFIO_MAPR_SWJ_CFG_FULL_SWJ_NO_JNTRST; \
}
/* blue */
#ifndef USE_LED_2
#define USE_LED_2 1
#endif
#define LED_2_GPIO GPIOC
#define LED_2_GPIO_CLK RCC_APB2ENR_IOPCEN
#define LED_2_GPIO_CLK RCC_GPIOC
#define LED_2_GPIO_PIN GPIO5
#define LED_2_GPIO_ON gpio_clear
#define LED_2_GPIO_OFF gpio_set
@@ -37,7 +40,7 @@
#define USE_LED_3 1
#endif
#define LED_3_GPIO GPIOC
#define LED_3_GPIO_CLK RCC_APB2ENR_IOPCEN
#define LED_3_GPIO_CLK RCC_GPIOC
#define LED_3_GPIO_PIN GPIO2
#define LED_3_GPIO_ON gpio_clear
#define LED_3_GPIO_OFF gpio_set
@@ -48,7 +51,7 @@
#define USE_LED_4 1
#endif
#define LED_4_GPIO GPIOC
#define LED_4_GPIO_CLK RCC_APB2ENR_IOPCEN
#define LED_4_GPIO_CLK RCC_GPIOC
#define LED_4_GPIO_PIN GPIO12
#define LED_4_GPIO_ON gpio_clear
#define LED_4_GPIO_OFF gpio_set
@@ -58,7 +61,7 @@
#define USE_LED_5 1
#endif
#define LED_5_GPIO GPIOC
#define LED_5_GPIO_CLK RCC_APB2ENR_IOPCEN
#define LED_5_GPIO_CLK RCC_GPIOC
#define LED_5_GPIO_PIN GPIO10
#define LED_5_GPIO_ON gpio_clear
#define LED_5_GPIO_OFF gpio_set
@@ -66,7 +69,7 @@
/* PB1, DRDY on EXT SPI connector*/
#define LED_BODY_GPIO GPIOB
#define LED_BODY_GPIO_CLK RCC_APB2ENR_IOPBEN
#define LED_BODY_GPIO_CLK RCC_GPIOB
#define LED_BODY_GPIO_PIN GPIO1
#define LED_BODY_GPIO_ON gpio_set
#define LED_BODY_GPIO_OFF gpio_clear
+14 -11
View File
@@ -18,7 +18,7 @@
#define USE_LED_1 1
#endif
#define LED_1_GPIO GPIOA
#define LED_1_GPIO_CLK RCC_APB2ENR_IOPAEN
#define LED_1_GPIO_CLK RCC_GPIOA
#define LED_1_GPIO_PIN GPIO8
#define LED_1_GPIO_ON gpio_clear
#define LED_1_GPIO_OFF gpio_set
@@ -29,18 +29,21 @@
#define USE_LED_2 1
#endif
#define LED_2_GPIO GPIOB
#define LED_2_GPIO_CLK RCC_APB2ENR_IOPBEN | RCC_APB2ENR_AFIOEN
#define LED_2_GPIO_CLK RCC_GPIOB
#define LED_2_GPIO_PIN GPIO4
#define LED_2_GPIO_ON gpio_clear
#define LED_2_GPIO_OFF gpio_set
#define LED_2_AFIO_REMAP AFIO_MAPR |= AFIO_MAPR_SWJ_CFG_FULL_SWJ_NO_JNTRST
#define LED_2_AFIO_REMAP { \
rcc_periph_clock_enable(RCC_AFIO); \
AFIO_MAPR |= AFIO_MAPR_SWJ_CFG_FULL_SWJ_NO_JNTRST; \
}
/* green, shared with ADC12 (ADC_6 on connector ANALOG2) */
#ifndef USE_LED_3
#define USE_LED_3 1
#endif
#define LED_3_GPIO GPIOC
#define LED_3_GPIO_CLK RCC_APB2ENR_IOPCEN
#define LED_3_GPIO_CLK RCC_GPIOC
#define LED_3_GPIO_PIN GPIO2
#define LED_3_GPIO_ON gpio_clear
#define LED_3_GPIO_OFF gpio_set
@@ -51,7 +54,7 @@
#define USE_LED_4 1
#endif
#define LED_4_GPIO GPIOC
#define LED_4_GPIO_CLK RCC_APB2ENR_IOPCEN
#define LED_4_GPIO_CLK RCC_GPIOC
#define LED_4_GPIO_PIN GPIO5
#define LED_4_GPIO_ON gpio_clear
#define LED_4_GPIO_OFF gpio_set
@@ -62,7 +65,7 @@
#define USE_LED_5 1
#endif
#define LED_5_GPIO GPIOC
#define LED_5_GPIO_CLK RCC_APB2ENR_IOPCEN
#define LED_5_GPIO_CLK RCC_GPIOC
#define LED_5_GPIO_PIN GPIO15
#define LED_5_GPIO_ON gpio_clear
#define LED_5_GPIO_OFF gpio_set
@@ -73,7 +76,7 @@
*/
/* PC3, ADC13 on ADC_1 */
#define LED_6_GPIO GPIOC
#define LED_6_GPIO_CLK RCC_APB2ENR_IOPCEN
#define LED_6_GPIO_CLK RCC_GPIOC
#define LED_6_GPIO_PIN GPIO3
#define LED_6_GPIO_ON gpio_clear
#define LED_6_GPIO_OFF gpio_set
@@ -81,7 +84,7 @@
/* PC0, ADC10 on ADC_2 */
#define LED_7_GPIO GPIOC
#define LED_7_GPIO_CLK RCC_APB2ENR_IOPCEN
#define LED_7_GPIO_CLK RCC_GPIOC
#define LED_7_GPIO_PIN GPIO0
#define LED_7_GPIO_ON gpio_clear
#define LED_7_GPIO_OFF gpio_set
@@ -89,7 +92,7 @@
/* PC1, ADC11 on ADC_3 */
#define LED_8_GPIO GPIOC
#define LED_8_GPIO_CLK RCC_APB2ENR_IOPCEN
#define LED_8_GPIO_CLK RCC_GPIOC
#define LED_8_GPIO_PIN GPIO1
#define LED_8_GPIO_ON gpio_clear
#define LED_8_GPIO_OFF gpio_set
@@ -102,7 +105,7 @@
/* PB1, DRDY on EXT SPI connector*/
#define LED_BODY_GPIO GPIOB
#define LED_BODY_GPIO_CLK RCC_APB2ENR_IOPBEN
#define LED_BODY_GPIO_CLK RCC_GPIOB
#define LED_BODY_GPIO_PIN GPIO1
#define LED_BODY_GPIO_ON gpio_set
#define LED_BODY_GPIO_OFF gpio_clear
@@ -110,7 +113,7 @@
/* PC12, on GPIO connector*/
#define LED_12_GPIO GPIOC
#define LED_12_GPIO_CLK RCC_APB2ENR_IOPCEN
#define LED_12_GPIO_CLK RCC_GPIOC
#define LED_12_GPIO_PIN GPIO12
#define LED_12_GPIO_ON gpio_clear
#define LED_12_GPIO_OFF gpio_set
+11 -14
View File
@@ -59,8 +59,7 @@
#define SPEKTRUM_BIND_PIN GPIO3
#define SPEKTRUM_BIND_PIN_PORT GPIOC
#define SPEKTRUM_UART1_RCC_REG &RCC_APB2ENR
#define SPEKTRUM_UART1_RCC_DEV RCC_APB2ENR_USART1EN
#define SPEKTRUM_UART1_RCC RCC_USART1
#define SPEKTRUM_UART1_BANK GPIO_BANK_USART1_RX
#define SPEKTRUM_UART1_PIN GPIO_USART1_RX
#define SPEKTRUM_UART1_AF 0
@@ -68,8 +67,7 @@
#define SPEKTRUM_UART1_ISR usart1_isr
#define SPEKTRUM_UART1_DEV USART1
#define SPEKTRUM_UART3_RCC_REG &RCC_APB1ENR
#define SPEKTRUM_UART3_RCC_DEV RCC_APB1ENR_USART3EN
#define SPEKTRUM_UART3_RCC RCC_USART3
#define SPEKTRUM_UART3_BANK GPIO_BANK_USART3_PR_RX
#define SPEKTRUM_UART3_PIN GPIO_USART3_PR_RX
#define SPEKTRUM_UART3_AF AFIO_MAPR_USART3_REMAP_PARTIAL_REMAP
@@ -77,8 +75,7 @@
#define SPEKTRUM_UART3_ISR usart3_isr
#define SPEKTRUM_UART3_DEV USART3
#define SPEKTRUM_UART5_RCC_REG &RCC_APB1ENR
#define SPEKTRUM_UART5_RCC_DEV RCC_APB1ENR_UART5EN
#define SPEKTRUM_UART5_RCC RCC_UART5
#define SPEKTRUM_UART5_BANK GPIO_BANK_UART5_RX
#define SPEKTRUM_UART5_PIN GPIO_UART5_RX
#define SPEKTRUM_UART5_AF 0
@@ -249,7 +246,7 @@
#if USE_PWM1
#define PWM_SERVO_1 0
#define PWM_SERVO_1_TIMER TIM3
#define PWM_SERVO_1_RCC_IOP RCC_APB2ENR_IOPCEN
#define PWM_SERVO_1_RCC RCC_GPIOC
#define PWM_SERVO_1_GPIO GPIOC
#define PWM_SERVO_1_PIN GPIO6
#define PWM_SERVO_1_AF 0
@@ -262,7 +259,7 @@
#if USE_PWM2
#define PWM_SERVO_2 1
#define PWM_SERVO_2_TIMER TIM3
#define PWM_SERVO_2_RCC_IOP RCC_APB2ENR_IOPCEN
#define PWM_SERVO_2_RCC RCC_GPIOC
#define PWM_SERVO_2_GPIO GPIOC
#define PWM_SERVO_2_PIN GPIO7
#define PWM_SERVO_2_AF 0
@@ -275,7 +272,7 @@
#if USE_PWM3
#define PWM_SERVO_3 2
#define PWM_SERVO_3_TIMER TIM3
#define PWM_SERVO_3_RCC_IOP RCC_APB2ENR_IOPCEN
#define PWM_SERVO_3_RCC RCC_GPIOC
#define PWM_SERVO_3_GPIO GPIOC
#define PWM_SERVO_3_PIN GPIO8
#define PWM_SERVO_3_AF 0
@@ -288,7 +285,7 @@
#if USE_PWM4
#define PWM_SERVO_4 3
#define PWM_SERVO_4_TIMER TIM3
#define PWM_SERVO_4_RCC_IOP RCC_APB2ENR_IOPCEN
#define PWM_SERVO_4_RCC RCC_GPIOC
#define PWM_SERVO_4_GPIO GPIOC
#define PWM_SERVO_4_PIN GPIO9
#define PWM_SERVO_4_AF 0
@@ -301,7 +298,7 @@
#if USE_PWM5
#define PWM_SERVO_5 4
#define PWM_SERVO_5_TIMER TIM5
#define PWM_SERVO_5_RCC_IOP RCC_APB2ENR_IOPAEN
#define PWM_SERVO_5_RCC RCC_GPIOA
#define PWM_SERVO_5_GPIO GPIOA
#define PWM_SERVO_5_PIN GPIO0
#define PWM_SERVO_5_AF 0
@@ -314,7 +311,7 @@
#if USE_PWM6
#define PWM_SERVO_6 5
#define PWM_SERVO_6_TIMER TIM5
#define PWM_SERVO_6_RCC_IOP RCC_APB2ENR_IOPAEN
#define PWM_SERVO_6_RCC RCC_GPIOA
#define PWM_SERVO_6_GPIO GPIOA
#define PWM_SERVO_6_PIN GPIO1
#define PWM_SERVO_6_AF 0
@@ -327,7 +324,7 @@
#if USE_PWM7
#define PWM_SERVO_7 6
#define PWM_SERVO_7_TIMER TIM4
#define PWM_SERVO_7_RCC_IOP RCC_APB2ENR_IOPBEN
#define PWM_SERVO_7_RCC RCC_GPIOB
#define PWM_SERVO_7_GPIO GPIOB
#define PWM_SERVO_7_PIN GPIO6
#define PWM_SERVO_7_AF 0
@@ -340,7 +337,7 @@
#if USE_PWM8
#define PWM_SERVO_8 7
#define PWM_SERVO_8_TIMER TIM4
#define PWM_SERVO_8_RCC_IOP RCC_APB2ENR_IOPBEN
#define PWM_SERVO_8_RCC RCC_GPIOB
#define PWM_SERVO_8_GPIO GPIOB
#define PWM_SERVO_8_PIN GPIO7
#define PWM_SERVO_8_AF 0
+20 -22
View File
@@ -40,7 +40,7 @@
#define USE_LED_1 1
#endif
#define LED_1_GPIO GPIOA
#define LED_1_GPIO_CLK RCC_AHB1ENR_IOPAEN
#define LED_1_GPIO_CLK RCC_GPIOA
#define LED_1_GPIO_PIN GPIO8
#define LED_1_GPIO_ON gpio_clear
#define LED_1_GPIO_OFF gpio_set
@@ -51,7 +51,7 @@
#define USE_LED_2 1
#endif
#define LED_2_GPIO GPIOB
#define LED_2_GPIO_CLK RCC_AHB1ENR_IOPBEN
#define LED_2_GPIO_CLK RCC_GPIOB
#define LED_2_GPIO_PIN GPIO4
#define LED_2_GPIO_ON gpio_clear
#define LED_2_GPIO_OFF gpio_set
@@ -62,7 +62,7 @@
#define USE_LED_3 1
#endif
#define LED_3_GPIO GPIOC
#define LED_3_GPIO_CLK RCC_AHB1ENR_IOPCEN
#define LED_3_GPIO_CLK RCC_GPIOC
#define LED_3_GPIO_PIN GPIO2
#define LED_3_GPIO_ON gpio_clear
#define LED_3_GPIO_OFF gpio_set
@@ -73,7 +73,7 @@
#define USE_LED_4 1
#endif
#define LED_4_GPIO GPIOC
#define LED_4_GPIO_CLK RCC_AHB1ENR_IOPCEN
#define LED_4_GPIO_CLK RCC_GPIOC
#define LED_4_GPIO_PIN GPIO5
#define LED_4_GPIO_ON gpio_clear
#define LED_4_GPIO_OFF gpio_set
@@ -84,7 +84,7 @@
#define USE_LED_5 1
#endif
#define LED_5_GPIO GPIOC
#define LED_5_GPIO_CLK RCC_AHB1ENR_IOPCEN
#define LED_5_GPIO_CLK RCC_GPIOC
#define LED_5_GPIO_PIN GPIO15
#define LED_5_GPIO_ON gpio_clear
#define LED_5_GPIO_OFF gpio_set
@@ -95,7 +95,7 @@
*/
/* PC3, ADC13 on ADC_1 */
#define LED_6_GPIO GPIOC
#define LED_6_GPIO_CLK RCC_AHB1ENR_IOPCEN
#define LED_6_GPIO_CLK RCC_GPIOC
#define LED_6_GPIO_PIN GPIO3
#define LED_6_GPIO_ON gpio_clear
#define LED_6_GPIO_OFF gpio_set
@@ -103,7 +103,7 @@
/* PC0, ADC10 on ADC_2 */
#define LED_7_GPIO GPIOC
#define LED_7_GPIO_CLK RCC_AHB1ENR_IOPCEN
#define LED_7_GPIO_CLK RCC_GPIOC
#define LED_7_GPIO_PIN GPIO0
#define LED_7_GPIO_ON gpio_clear
#define LED_7_GPIO_OFF gpio_set
@@ -111,7 +111,7 @@
/* PC1, ADC11 on ADC_3 */
#define LED_8_GPIO GPIOC
#define LED_8_GPIO_CLK RCC_AHB1ENR_IOPCEN
#define LED_8_GPIO_CLK RCC_GPIOC
#define LED_8_GPIO_PIN GPIO1
#define LED_8_GPIO_ON gpio_clear
#define LED_8_GPIO_OFF gpio_set
@@ -124,7 +124,7 @@
/* PB1, DRDY on EXT SPI connector*/
#define LED_BODY_GPIO GPIOB
#define LED_BODY_GPIO_CLK RCC_AHB1ENR_IOPBEN
#define LED_BODY_GPIO_CLK RCC_GPIOB
#define LED_BODY_GPIO_PIN GPIO1
#define LED_BODY_GPIO_ON gpio_set
#define LED_BODY_GPIO_OFF gpio_clear
@@ -132,7 +132,7 @@
/* PC12, on GPIO connector*/
#define LED_12_GPIO GPIOC
#define LED_12_GPIO_CLK RCC_AHB1ENR_IOPCEN
#define LED_12_GPIO_CLK RCC_GPIOC
#define LED_12_GPIO_PIN GPIO12
#define LED_12_GPIO_ON gpio_clear
#define LED_12_GPIO_OFF gpio_set
@@ -178,8 +178,7 @@
#define SPEKTRUM_BIND_PIN GPIO3
#define SPEKTRUM_BIND_PIN_PORT GPIOC
#define SPEKTRUM_UART1_RCC_REG &RCC_APB2ENR
#define SPEKTRUM_UART1_RCC_DEV RCC_APB2ENR_USART1EN
#define SPEKTRUM_UART1_RCC RCC_USART1
#define SPEKTRUM_UART1_BANK GPIOA
#define SPEKTRUM_UART1_PIN GPIO10
#define SPEKTRUM_UART1_AF GPIO_AF7
@@ -187,8 +186,7 @@
#define SPEKTRUM_UART1_ISR usart1_isr
#define SPEKTRUM_UART1_DEV USART1
#define SPEKTRUM_UART5_RCC_REG &RCC_APB1ENR
#define SPEKTRUM_UART5_RCC_DEV RCC_APB1ENR_UART5EN
#define SPEKTRUM_UART5_RCC RCC_UART5
#define SPEKTRUM_UART5_BANK GPIOD
#define SPEKTRUM_UART5_PIN GPIO2
#define SPEKTRUM_UART5_AF GPIO_AF7
@@ -394,7 +392,7 @@
#if USE_PWM1
#define PWM_SERVO_1 0
#define PWM_SERVO_1_TIMER TIM3
#define PWM_SERVO_1_RCC_IOP RCC_AHB1ENR_IOPCEN
#define PWM_SERVO_1_RCC RCC_GPIOC
#define PWM_SERVO_1_GPIO GPIOC
#define PWM_SERVO_1_PIN GPIO6
#define PWM_SERVO_1_AF GPIO_AF2
@@ -407,7 +405,7 @@
#if USE_PWM2
#define PWM_SERVO_2 1
#define PWM_SERVO_2_TIMER TIM3
#define PWM_SERVO_2_RCC_IOP RCC_AHB1ENR_IOPCEN
#define PWM_SERVO_2_RCC RCC_GPIOC
#define PWM_SERVO_2_GPIO GPIOC
#define PWM_SERVO_2_PIN GPIO7
#define PWM_SERVO_2_AF GPIO_AF2
@@ -420,7 +418,7 @@
#if USE_PWM3
#define PWM_SERVO_3 2
#define PWM_SERVO_3_TIMER TIM3
#define PWM_SERVO_3_RCC_IOP RCC_AHB1ENR_IOPCEN
#define PWM_SERVO_3_RCC RCC_GPIOC
#define PWM_SERVO_3_GPIO GPIOC
#define PWM_SERVO_3_PIN GPIO8
#define PWM_SERVO_3_AF GPIO_AF2
@@ -433,7 +431,7 @@
#if USE_PWM4
#define PWM_SERVO_4 3
#define PWM_SERVO_4_TIMER TIM3
#define PWM_SERVO_4_RCC_IOP RCC_AHB1ENR_IOPCEN
#define PWM_SERVO_4_RCC RCC_GPIOC
#define PWM_SERVO_4_GPIO GPIOC
#define PWM_SERVO_4_PIN GPIO9
#define PWM_SERVO_4_AF GPIO_AF2
@@ -446,7 +444,7 @@
#if USE_PWM5
#define PWM_SERVO_5 4
#define PWM_SERVO_5_TIMER TIM5
#define PWM_SERVO_5_RCC_IOP RCC_AHB1ENR_IOPAEN
#define PWM_SERVO_5_RCC RCC_GPIOA
#define PWM_SERVO_5_GPIO GPIOA
#define PWM_SERVO_5_PIN GPIO0
#define PWM_SERVO_5_AF GPIO_AF2
@@ -459,7 +457,7 @@
#if USE_PWM6
#define PWM_SERVO_6 5
#define PWM_SERVO_6_TIMER TIM5
#define PWM_SERVO_6_RCC_IOP RCC_AHB1ENR_IOPAEN
#define PWM_SERVO_6_RCC RCC_GPIOA
#define PWM_SERVO_6_GPIO GPIOA
#define PWM_SERVO_6_PIN GPIO1
#define PWM_SERVO_6_AF GPIO_AF2
@@ -472,7 +470,7 @@
#if USE_PWM7
#define PWM_SERVO_7 6
#define PWM_SERVO_7_TIMER TIM4
#define PWM_SERVO_7_RCC_IOP RCC_AHB1ENR_IOPBEN
#define PWM_SERVO_7_RCC RCC_GPIOB
#define PWM_SERVO_7_GPIO GPIOB
#define PWM_SERVO_7_PIN GPIO6
#define PWM_SERVO_7_AF GPIO_AF2
@@ -485,7 +483,7 @@
#if USE_PWM8
#define PWM_SERVO_8 7
#define PWM_SERVO_8_TIMER TIM4
#define PWM_SERVO_8_RCC_IOP RCC_AHB1ENR_IOPBEN
#define PWM_SERVO_8_RCC RCC_GPIOB
#define PWM_SERVO_8_GPIO GPIOB
#define PWM_SERVO_8_PIN GPIO7
#define PWM_SERVO_8_AF GPIO_AF2
+15 -19
View File
@@ -16,7 +16,7 @@
#define USE_LED_1 1
#endif
#define LED_1_GPIO GPIOC
#define LED_1_GPIO_CLK RCC_APB2ENR_IOPCEN
#define LED_1_GPIO_CLK RCC_GPIOC
#define LED_1_GPIO_PIN GPIO10
#define LED_1_GPIO_ON gpio_clear
#define LED_1_GPIO_OFF gpio_set
@@ -27,7 +27,7 @@
#define USE_LED_2 1
#endif
#define LED_2_GPIO GPIOC
#define LED_2_GPIO_CLK RCC_APB2ENR_IOPCEN
#define LED_2_GPIO_CLK RCC_GPIOC
#define LED_2_GPIO_PIN GPIO11
#define LED_2_GPIO_ON gpio_clear
#define LED_2_GPIO_OFF gpio_set
@@ -38,7 +38,7 @@
#define USE_LED_3 1
#endif
#define LED_3_GPIO GPIOD
#define LED_3_GPIO_CLK RCC_APB2ENR_IOPDEN
#define LED_3_GPIO_CLK RCC_GPIOD
#define LED_3_GPIO_PIN GPIO2
#define LED_3_GPIO_ON gpio_clear
#define LED_3_GPIO_OFF gpio_set
@@ -50,7 +50,7 @@
/* PB1, DRDY on EXT SPI connector*/
#define LED_BODY_GPIO GPIOB
#define LED_BODY_GPIO_CLK RCC_APB2ENR_IOPBEN
#define LED_BODY_GPIO_CLK RCC_GPIOB
#define LED_BODY_GPIO_PIN GPIO1
#define LED_BODY_GPIO_ON gpio_set
#define LED_BODY_GPIO_OFF gpio_clear
@@ -58,7 +58,7 @@
/* PC12, on GPIO connector*/
#define LED_12_GPIO GPIOC
#define LED_12_GPIO_CLK RCC_APB2ENR_IOPCEN
#define LED_12_GPIO_CLK RCC_GPIOC
#define LED_12_GPIO_PIN GPIO12
#define LED_12_GPIO_ON gpio_clear
#define LED_12_GPIO_OFF gpio_set
@@ -147,8 +147,7 @@
#define SPEKTRUM_BIND_PIN_PORT GPIOB
/* Diag Port RX */
#define SPEKTRUM_UART1_RCC_REG &RCC_APB2ENR
#define SPEKTRUM_UART1_RCC_DEV RCC_APB2ENR_USART1EN
#define SPEKTRUM_UART1_RCC RCC_USART1
#define SPEKTRUM_UART1_BANK GPIO_BANK_USART1_RX
#define SPEKTRUM_UART1_PIN GPIO_USART1_RX
#define SPEKTRUM_UART1_AF 0
@@ -157,8 +156,7 @@
#define SPEKTRUM_UART1_DEV USART1
/* AUX Radio RX */
#define SPEKTRUM_UART2_RCC_REG &RCC_APB1ENR
#define SPEKTRUM_UART2_RCC_DEV RCC_APB1ENR_USART2EN
#define SPEKTRUM_UART2_RCC RCC_USART2
#define SPEKTRUM_UART2_BANK GPIO_BANK_USART2_RX
#define SPEKTRUM_UART2_PIN GPIO_USART2_RX
#define SPEKTRUM_UART2_AF 0
@@ -167,8 +165,7 @@
#define SPEKTRUM_UART2_DEV USART2
/* LED2 */
#define SPEKTRUM_UART3_RCC_REG &RCC_APB1ENR
#define SPEKTRUM_UART3_RCC_DEV RCC_APB1ENR_USART3EN
#define SPEKTRUM_UART3_RCC RCC_USART3
#define SPEKTRUM_UART3_BANK GPIO_BANK_USART3_PR_RX
#define SPEKTRUM_UART3_PIN GPIO_USART3_PR_RX
#define SPEKTRUM_UART3_AF AFIO_MAPR_USART3_REMAP_PARTIAL_REMAP
@@ -177,8 +174,7 @@
#define SPEKTRUM_UART3_DEV USART3
/* LED3 */
#define SPEKTRUM_UART5_RCC_REG &RCC_APB1ENR
#define SPEKTRUM_UART5_RCC_DEV RCC_APB1ENR_UART5EN
#define SPEKTRUM_UART5_RCC RCC_UART5
#define SPEKTRUM_UART5_BANK GPIO_BANK_UART5_RX
#define SPEKTRUM_UART5_PIN GPIO_UART5_RX
#define SPEKTRUM_UART5_AF 0
@@ -311,7 +307,7 @@
#if USE_PWM1
#define PWM_SERVO_1 4
#define PWM_SERVO_1_TIMER TIM4
#define PWM_SERVO_1_RCC_IOP RCC_APB2ENR_IOPBEN
#define PWM_SERVO_1_RCC RCC_GPIOB
#define PWM_SERVO_1_GPIO GPIOB
#define PWM_SERVO_1_PIN GPIO6
#define PWM_SERVO_1_AF 0
@@ -324,7 +320,7 @@
#if USE_PWM2
#define PWM_SERVO_2 5
#define PWM_SERVO_2_TIMER TIM4
#define PWM_SERVO_2_RCC_IOP RCC_APB2ENR_IOPBEN
#define PWM_SERVO_2_RCC RCC_GPIOB
#define PWM_SERVO_2_GPIO GPIOB
#define PWM_SERVO_2_PIN GPIO7
#define PWM_SERVO_2_AF 0
@@ -337,7 +333,7 @@
#if USE_PWM3
#define PWM_SERVO_3 0
#define PWM_SERVO_3_TIMER TIM4
#define PWM_SERVO_3_RCC_IOP RCC_APB2ENR_IOPBEN
#define PWM_SERVO_3_RCC RCC_GPIOB
#define PWM_SERVO_3_GPIO GPIOB
#define PWM_SERVO_3_PIN GPIO8
#define PWM_SERVO_3_AF 0
@@ -350,7 +346,7 @@
#if USE_PWM4
#define PWM_SERVO_4 1
#define PWM_SERVO_4_TIMER TIM4
#define PWM_SERVO_4_RCC_IOP RCC_APB2ENR_IOPBEN
#define PWM_SERVO_4_RCC RCC_GPIOB
#define PWM_SERVO_4_GPIO GPIOB
#define PWM_SERVO_4_PIN GPIO9
#define PWM_SERVO_4_AF 0
@@ -363,7 +359,7 @@
#if USE_PWM5
#define PWM_SERVO_5 2
#define PWM_SERVO_5_TIMER TIM5
#define PWM_SERVO_5_RCC_IOP RCC_APB2ENR_IOPAEN
#define PWM_SERVO_5_RCC RCC_GPIOA
#define PWM_SERVO_5_GPIO GPIOA
#define PWM_SERVO_5_PIN GPIO0
#define PWM_SERVO_5_AF 0
@@ -376,7 +372,7 @@
#if USE_PWM6
#define PWM_SERVO_6 3
#define PWM_SERVO_6_TIMER TIM5
#define PWM_SERVO_6_RCC_IOP RCC_APB2ENR_IOPAEN
#define PWM_SERVO_6_RCC RCC_GPIOA
#define PWM_SERVO_6_GPIO GPIOA
#define PWM_SERVO_6_PIN GPIO1
#define PWM_SERVO_6_AF 0
+1 -1
View File
@@ -10,7 +10,7 @@
#define USE_LED_1 1
#endif
#define LED_1_GPIO GPIOC
#define LED_1_GPIO_CLK RCC_APB2Periph_GPIOC
#define LED_1_GPIO_CLK RCC_GPIOC
#define LED_1_GPIO_PIN GPIO_Pin_12
#endif /* CONFIG_OLIMEX_STM32_H103_H */
+7 -8
View File
@@ -16,7 +16,7 @@
#define USE_LED_1 1
#endif
#define LED_1_GPIO GPIOB
#define LED_1_GPIO_CLK RCC_AHB1ENR_IOPBEN
#define LED_1_GPIO_CLK RCC_GPIOB
#define LED_1_GPIO_PIN GPIO14
#define LED_1_GPIO_ON gpio_clear
#define LED_1_GPIO_OFF gpio_set
@@ -27,7 +27,7 @@
#define USE_LED_2 1
#endif
#define LED_2_GPIO GPIOB
#define LED_2_GPIO_CLK RCC_AHB1ENR_IOPBEN
#define LED_2_GPIO_CLK RCC_GPIOB
#define LED_2_GPIO_PIN GPIO15
#define LED_2_GPIO_ON gpio_clear
#define LED_2_GPIO_OFF gpio_set
@@ -191,8 +191,7 @@
#define SPEKTRUM_BIND_PIN GPIO4
#define SPEKTRUM_BIND_PIN_PORT GPIOC
#define SPEKTRUM_UART2_RCC_REG &RCC_APB1ENR
#define SPEKTRUM_UART2_RCC_DEV RCC_APB1ENR_USART2EN
#define SPEKTRUM_UART2_RCC RCC_USART2
#define SPEKTRUM_UART2_BANK GPIOA
#define SPEKTRUM_UART2_PIN GPIO3
#define SPEKTRUM_UART2_AF GPIO_AF7
@@ -228,7 +227,7 @@
#if USE_PWM1
#define PWM_SERVO_1 0
#define PWM_SERVO_1_TIMER TIM2
#define PWM_SERVO_1_RCC_IOP RCC_AHB1ENR_IOPAEN
#define PWM_SERVO_1_RCC RCC_GPIOA
#define PWM_SERVO_1_GPIO GPIOA
#define PWM_SERVO_1_PIN GPIO0
#define PWM_SERVO_1_AF GPIO_AF1
@@ -242,7 +241,7 @@
#if USE_PWM2
#define PWM_SERVO_2 1
#define PWM_SERVO_2_TIMER TIM2
#define PWM_SERVO_2_RCC_IOP RCC_AHB1ENR_IOPAEN
#define PWM_SERVO_2_RCC RCC_GPIOA
#define PWM_SERVO_2_GPIO GPIOA
#define PWM_SERVO_2_PIN GPIO1
#define PWM_SERVO_2_AF GPIO_AF1
@@ -256,7 +255,7 @@
#if USE_PWM3
#define PWM_SERVO_3_IDX 2
#define PWM_SERVO_3_TIMER TIM2
#define PWM_SERVO_3_RCC_IOP RCC_AHB1ENR_IOPAEN
#define PWM_SERVO_3_RCC RCC_GPIOA
#define PWM_SERVO_3_GPIO GPIOA
#define PWM_SERVO_3_PIN GPIO2
#define PWM_SERVO_3_AF GPIO_AF1
@@ -270,7 +269,7 @@
#if USE_PWM4
#define PWM_SERVO_4 3
#define PWM_SERVO_4_TIMER TIM2
#define PWM_SERVO_4_RCC_IOP RCC_AHB1ENR_IOPAEN
#define PWM_SERVO_4_RCC RCC_GPIOA
#define PWM_SERVO_4_GPIO GPIOA
#define PWM_SERVO_4_PIN GPIO3
#define PWM_SERVO_4_AF GPIO_AF1
+18 -19
View File
@@ -109,7 +109,7 @@
#define USE_LED_3 1
#endif
#define LED_3_GPIO GPIOD
#define LED_3_GPIO_CLK RCC_AHB1ENR_IOPDEN
#define LED_3_GPIO_CLK RCC_GPIOD
#define LED_3_GPIO_PIN GPIO13
#define LED_3_AFIO_REMAP ((void)0)
#define LED_3_GPIO_ON gpio_set
@@ -120,7 +120,7 @@
#define USE_LED_4 1
#endif
#define LED_4_GPIO GPIOD
#define LED_4_GPIO_CLK RCC_AHB1ENR_IOPDEN
#define LED_4_GPIO_CLK RCC_GPIOD
#define LED_4_GPIO_PIN GPIO12
#define LED_4_AFIO_REMAP ((void)0)
#define LED_4_GPIO_ON gpio_set
@@ -131,7 +131,7 @@
#define USE_LED_5 1
#endif
#define LED_5_GPIO GPIOD
#define LED_5_GPIO_CLK RCC_AHB1ENR_IOPDEN
#define LED_5_GPIO_CLK RCC_GPIOD
#define LED_5_GPIO_PIN GPIO14
#define LED_5_AFIO_REMAP ((void)0)
#define LED_5_GPIO_ON gpio_set
@@ -142,7 +142,7 @@
#define USE_LED_6 1
#endif
#define LED_6_GPIO GPIOD
#define LED_6_GPIO_CLK RCC_AHB1ENR_IOPDEN
#define LED_6_GPIO_CLK RCC_GPIOD
#define LED_6_GPIO_PIN GPIO15
#define LED_6_AFIO_REMAP ((void)0)
#define LED_6_GPIO_ON gpio_set
@@ -156,7 +156,7 @@
#define USE_LED_9 1
#endif
#define LED_9_GPIO GPIOA
#define LED_9_GPIO_CLK RCC_AHB1ENR_IOPAEN
#define LED_9_GPIO_CLK RCC_GPIOA
#define LED_9_GPIO_PIN GPIO9
#define LED_9_AFIO_REMAP ((void)0)
#define LED_9_GPIO_ON gpio_set
@@ -398,7 +398,7 @@
#if USE_PWM0
#define PWM_SERVO_0 0
#define PWM_SERVO_0_TIMER TIM1
#define PWM_SERVO_0_RCC_IOP RCC_AHB1ENR_IOPEEN
#define PWM_SERVO_0_RCC RCC_GPIOE
#define PWM_SERVO_0_GPIO GPIOE
#define PWM_SERVO_0_PIN GPIO9
#define PWM_SERVO_0_AF GPIO_AF1
@@ -411,7 +411,7 @@
#if USE_PWM1
#define PWM_SERVO_1 1
#define PWM_SERVO_1_TIMER TIM1
#define PWM_SERVO_1_RCC_IOP RCC_AHB1ENR_IOPEEN
#define PWM_SERVO_1_RCC RCC_GPIOE
#define PWM_SERVO_1_GPIO GPIOE
#define PWM_SERVO_1_PIN GPIO11
#define PWM_SERVO_1_AF GPIO_AF1
@@ -424,7 +424,7 @@
#if USE_PWM2
#define PWM_SERVO_2 2
#define PWM_SERVO_2_TIMER TIM1
#define PWM_SERVO_2_RCC_IOP RCC_AHB1ENR_IOPEEN
#define PWM_SERVO_2_RCC RCC_GPIOE
#define PWM_SERVO_2_GPIO GPIOE
#define PWM_SERVO_2_PIN GPIO13
#define PWM_SERVO_2_AF GPIO_AF1
@@ -437,7 +437,7 @@
#if USE_PWM3
#define PWM_SERVO_3 3
#define PWM_SERVO_3_TIMER TIM1
#define PWM_SERVO_3_RCC_IOP RCC_AHB1ENR_IOPEEN
#define PWM_SERVO_3_RCC RCC_GPIOE
#define PWM_SERVO_3_GPIO GPIOE
#define PWM_SERVO_3_PIN GPIO14
#define PWM_SERVO_3_AF GPIO_AF1
@@ -450,7 +450,7 @@
#if USE_PWM4
#define PWM_SERVO_4 4
#define PWM_SERVO_4_TIMER TIM9
#define PWM_SERVO_4_RCC_IOP RCC_AHB1ENR_IOPEEN
#define PWM_SERVO_4_RCC RCC_GPIOE
#define PWM_SERVO_4_GPIO GPIOE
#define PWM_SERVO_4_PIN GPIO5
#define PWM_SERVO_4_AF GPIO_AF3
@@ -463,7 +463,7 @@
#if USE_PWM5
#define PWM_SERVO_5 5
#define PWM_SERVO_5_TIMER TIM9
#define PWM_SERVO_5_RCC_IOP RCC_AHB1ENR_IOPEEN
#define PWM_SERVO_5_RCC RCC_GPIOE
#define PWM_SERVO_5_GPIO GPIOE
#define PWM_SERVO_5_PIN GPIO6
#define PWM_SERVO_5_AF GPIO_AF3
@@ -477,7 +477,7 @@
#if USE_PWM6
#define PWM_SERVO_6 6
#define PWM_SERVO_6_TIMER TIM5
#define PWM_SERVO_6_RCC_IOP RCC_AHB1ENR_IOPAEN
#define PWM_SERVO_6_RCC RCC_GPIOA
#define PWM_SERVO_6_GPIO GPIOA
#define PWM_SERVO_6_PIN GPIO3
#define PWM_SERVO_6_AF GPIO_AF2
@@ -490,7 +490,7 @@
#if USE_PWM7
#define PWM_SERVO_7 7
#define PWM_SERVO_7_TIMER TIM5
#define PWM_SERVO_7_RCC_IOP RCC_AHB1ENR_IOPAEN
#define PWM_SERVO_7_RCC RCC_GPIOA
#define PWM_SERVO_7_GPIO GPIOA
#define PWM_SERVO_7_PIN GPIO2
#define PWM_SERVO_7_AF GPIO_AF2
@@ -503,7 +503,7 @@
#if USE_PWM8
#define PWM_SERVO_8 8
#define PWM_SERVO_8_TIMER TIM5
#define PWM_SERVO_8_RCC_IOP RCC_AHB1ENR_IOPAEN
#define PWM_SERVO_8_RCC RCC_GPIOA
#define PWM_SERVO_8_GPIO GPIOA
#define PWM_SERVO_8_PIN GPIO1
#define PWM_SERVO_8_AF GPIO_AF2
@@ -516,7 +516,7 @@
#if USE_PWM9
#define PWM_SERVO_9 9
#define PWM_SERVO_9_TIMER TIM5
#define PWM_SERVO_9_RCC_IOP RCC_AHB1ENR_IOPAEN
#define PWM_SERVO_9_RCC RCC_GPIOA
#define PWM_SERVO_9_GPIO GPIOA
#define PWM_SERVO_9_PIN GPIO0
#define PWM_SERVO_9_AF GPIO_AF2
@@ -530,7 +530,7 @@
#if USE_PWM10
#define PWM_SERVO_10 10
#define PWM_SERVO_10_TIMER TIM12
#define PWM_SERVO_10_RCC_IOP RCC_AHB1ENR_IOPBEN
#define PWM_SERVO_10_RCC RCC_GPIOB
#define PWM_SERVO_10_GPIO GPIOB
#define PWM_SERVO_10_PIN GPIO14
#define PWM_SERVO_10_AF GPIO_AF9
@@ -543,7 +543,7 @@
#if USE_PWM11
#define PWM_SERVO_11 11
#define PWM_SERVO_11_TIMER TIM12
#define PWM_SERVO_11_RCC_IOP RCC_AHB1ENR_IOPBEN
#define PWM_SERVO_11_RCC RCC_GPIOB
#define PWM_SERVO_11_GPIO GPIOB
#define PWM_SERVO_11_PIN GPIO15
#define PWM_SERVO_11_AF GPIO_AF9
@@ -598,8 +598,7 @@
#define SPEKTRUM_BIND_PIN GPIO8
#define SPEKTRUM_BIND_PIN_PORT GPIOA
#define SPEKTRUM_UART2_RCC_REG &RCC_APB2ENR
#define SPEKTRUM_UART2_RCC_DEV RCC_APB2ENR_USART1EN
#define SPEKTRUM_UART2_RCC RCC_USART1
#define SPEKTRUM_UART2_BANK GPIOA
#define SPEKTRUM_UART2_PIN GPIO10
#define SPEKTRUM_UART2_AF GPIO_AF7