Cleanup SPI on STM32F3 targets.
This commit is contained in:
parent
2f09b7d1d9
commit
5d49451916
|
@ -68,39 +68,12 @@ extern int16_t debug[4];
|
||||||
|
|
||||||
#define BOOT ((uint8_t)0x80)
|
#define BOOT ((uint8_t)0x80)
|
||||||
|
|
||||||
#define SPI1_GPIO GPIOA
|
|
||||||
#define SPI1_SCK_PIN GPIO_Pin_5
|
|
||||||
#define SPI1_SCK_PIN_SOURCE GPIO_PinSource5
|
|
||||||
#define SPI1_SCK_CLK RCC_AHBPeriph_GPIOA
|
|
||||||
#define SPI1_MISO_PIN GPIO_Pin_6
|
|
||||||
#define SPI1_MISO_PIN_SOURCE GPIO_PinSource6
|
|
||||||
#define SPI1_MISO_CLK RCC_AHBPeriph_GPIOA
|
|
||||||
#define SPI1_MOSI_PIN GPIO_Pin_7
|
|
||||||
#define SPI1_MOSI_PIN_SOURCE GPIO_PinSource7
|
|
||||||
#define SPI1_MOSI_CLK RCC_AHBPeriph_GPIOA
|
|
||||||
|
|
||||||
static void l3gd20SpiInit(SPI_TypeDef *SPIx)
|
static void l3gd20SpiInit(SPI_TypeDef *SPIx)
|
||||||
{
|
{
|
||||||
GPIO_InitTypeDef GPIO_InitStructure;
|
GPIO_InitTypeDef GPIO_InitStructure;
|
||||||
SPI_InitTypeDef SPI_InitStructure;
|
SPI_InitTypeDef SPI_InitStructure;
|
||||||
|
|
||||||
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE);
|
RCC_AHBPeriphClockCmd(L3GD20_CS_GPIO_CLK_PERIPHERAL, ENABLE);
|
||||||
RCC_AHBPeriphClockCmd(SPI1_SCK_CLK | SPI1_MISO_CLK | SPI1_MOSI_CLK, ENABLE);
|
|
||||||
|
|
||||||
GPIO_PinAFConfig(SPI1_GPIO, SPI1_SCK_PIN_SOURCE, GPIO_AF_5);
|
|
||||||
GPIO_PinAFConfig(SPI1_GPIO, SPI1_MISO_PIN_SOURCE, GPIO_AF_5);
|
|
||||||
GPIO_PinAFConfig(SPI1_GPIO, SPI1_MOSI_PIN_SOURCE, GPIO_AF_5);
|
|
||||||
|
|
||||||
// Init pins
|
|
||||||
GPIO_InitStructure.GPIO_Pin = SPI1_SCK_PIN | SPI1_MISO_PIN | SPI1_MOSI_PIN;
|
|
||||||
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
|
|
||||||
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
|
||||||
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
|
|
||||||
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
|
|
||||||
|
|
||||||
GPIO_Init(SPI1_GPIO, &GPIO_InitStructure);
|
|
||||||
|
|
||||||
RCC_AHBPeriphClockCmd(L3GD20_CS_GPIO_CLK, ENABLE);
|
|
||||||
|
|
||||||
GPIO_InitStructure.GPIO_Pin = L3GD20_CS_PIN;
|
GPIO_InitStructure.GPIO_Pin = L3GD20_CS_PIN;
|
||||||
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
|
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
|
||||||
|
@ -112,28 +85,11 @@ static void l3gd20SpiInit(SPI_TypeDef *SPIx)
|
||||||
|
|
||||||
GPIO_SetBits(L3GD20_CS_GPIO, L3GD20_CS_PIN);
|
GPIO_SetBits(L3GD20_CS_GPIO, L3GD20_CS_PIN);
|
||||||
|
|
||||||
SPI_I2S_DeInit(SPIx);
|
spiSetDivisor(L3GD20_SPI, SPI_9MHZ_CLOCK_DIVIDER);
|
||||||
|
|
||||||
SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
|
|
||||||
SPI_InitStructure.SPI_Mode = SPI_Mode_Master;
|
|
||||||
SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;
|
|
||||||
SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;
|
|
||||||
SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;
|
|
||||||
SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
|
|
||||||
SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_4; // 36/4 = 9 MHz SPI Clock
|
|
||||||
SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;
|
|
||||||
SPI_InitStructure.SPI_CRCPolynomial = 7;
|
|
||||||
|
|
||||||
SPI_Init(SPIx, &SPI_InitStructure);
|
|
||||||
|
|
||||||
SPI_RxFIFOThresholdConfig(SPIx, SPI_RxFIFOThreshold_QF);
|
|
||||||
|
|
||||||
SPI_Cmd(SPIx, ENABLE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void l3gd20GyroInit(void)
|
void l3gd20GyroInit(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
l3gd20SpiInit(L3GD20_SPI);
|
l3gd20SpiInit(L3GD20_SPI);
|
||||||
|
|
||||||
GPIO_ResetBits(L3GD20_CS_GPIO, L3GD20_CS_PIN);
|
GPIO_ResetBits(L3GD20_CS_GPIO, L3GD20_CS_PIN);
|
||||||
|
|
|
@ -17,10 +17,4 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define L3GD20_SPI SPI1
|
|
||||||
|
|
||||||
#define L3GD20_CS_GPIO GPIOE
|
|
||||||
#define L3GD20_CS_PIN GPIO_Pin_3
|
|
||||||
#define L3GD20_CS_GPIO_CLK RCC_AHBPeriph_GPIOE
|
|
||||||
|
|
||||||
bool l3gd20Detect(gyro_t *gyro, uint16_t lpf);
|
bool l3gd20Detect(gyro_t *gyro, uint16_t lpf);
|
||||||
|
|
|
@ -33,22 +33,56 @@ static volatile uint16_t spi3ErrorCount = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef USE_SPI_DEVICE_1
|
#ifdef USE_SPI_DEVICE_1
|
||||||
|
|
||||||
|
#define SPI1_GPIO GPIOA
|
||||||
|
#define SPI1_GPIO_PERIPHERAL RCC_AHBPeriph_GPIOB
|
||||||
|
#define SPI1_SCK_PIN GPIO_Pin_5
|
||||||
|
#define SPI1_SCK_PIN_SOURCE GPIO_PinSource5
|
||||||
|
#define SPI1_SCK_CLK RCC_AHBPeriph_GPIOA
|
||||||
|
#define SPI1_MISO_PIN GPIO_Pin_6
|
||||||
|
#define SPI1_MISO_PIN_SOURCE GPIO_PinSource6
|
||||||
|
#define SPI1_MISO_CLK RCC_AHBPeriph_GPIOA
|
||||||
|
#define SPI1_MOSI_PIN GPIO_Pin_7
|
||||||
|
#define SPI1_MOSI_PIN_SOURCE GPIO_PinSource7
|
||||||
|
#define SPI1_MOSI_CLK RCC_AHBPeriph_GPIOA
|
||||||
|
|
||||||
void initSpi1(void)
|
void initSpi1(void)
|
||||||
{
|
{
|
||||||
// Specific to the STM32F103
|
// Specific to the STM32F103
|
||||||
// SPI1 Driver
|
// SPI1 Driver
|
||||||
// PA7 17 SPI1_MOSI
|
|
||||||
// PA6 16 SPI1_MISO
|
|
||||||
// PA5 15 SPI1_SCK
|
|
||||||
// PA4 14 SPI1_NSS
|
// PA4 14 SPI1_NSS
|
||||||
|
// PA5 15 SPI1_SCK
|
||||||
|
// PA6 16 SPI1_MISO
|
||||||
|
// PA7 17 SPI1_MOSI
|
||||||
|
|
||||||
gpio_config_t gpio;
|
|
||||||
SPI_InitTypeDef spi;
|
SPI_InitTypeDef spi;
|
||||||
|
|
||||||
// Enable SPI1 clock
|
// Enable SPI1 clock
|
||||||
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE);
|
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE);
|
||||||
RCC_APB2PeriphResetCmd(RCC_APB2Periph_SPI1, ENABLE);
|
RCC_APB2PeriphResetCmd(RCC_APB2Periph_SPI1, ENABLE);
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef STM32F303xC
|
||||||
|
GPIO_InitTypeDef GPIO_InitStructure;
|
||||||
|
|
||||||
|
RCC_AHBPeriphClockCmd(SPI1_GPIO_PERIPHERAL, ENABLE);
|
||||||
|
|
||||||
|
GPIO_PinAFConfig(SPI1_GPIO, SPI1_SCK_PIN_SOURCE, GPIO_AF_5);
|
||||||
|
GPIO_PinAFConfig(SPI1_GPIO, SPI1_MISO_PIN_SOURCE, GPIO_AF_5);
|
||||||
|
GPIO_PinAFConfig(SPI1_GPIO, SPI1_MOSI_PIN_SOURCE, GPIO_AF_5);
|
||||||
|
|
||||||
|
// Init pins
|
||||||
|
GPIO_InitStructure.GPIO_Pin = SPI1_SCK_PIN | SPI1_MISO_PIN | SPI1_MOSI_PIN;
|
||||||
|
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
|
||||||
|
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
||||||
|
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
|
||||||
|
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
|
||||||
|
|
||||||
|
GPIO_Init(SPI1_GPIO, &GPIO_InitStructure);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef STM32F10X
|
||||||
|
gpio_config_t gpio;
|
||||||
// MOSI + SCK as output
|
// MOSI + SCK as output
|
||||||
gpio.mode = Mode_AF_PP;
|
gpio.mode = Mode_AF_PP;
|
||||||
gpio.pin = Pin_7 | Pin_5;
|
gpio.pin = Pin_7 | Pin_5;
|
||||||
|
@ -62,8 +96,9 @@ void initSpi1(void)
|
||||||
gpio.pin = Pin_4;
|
gpio.pin = Pin_4;
|
||||||
gpio.mode = Mode_Out_PP;
|
gpio.mode = Mode_Out_PP;
|
||||||
gpioInit(GPIOA, &gpio);
|
gpioInit(GPIOA, &gpio);
|
||||||
|
#endif
|
||||||
|
|
||||||
// Init SPI2 hardware
|
// Init SPI hardware
|
||||||
SPI_I2S_DeInit(SPI1);
|
SPI_I2S_DeInit(SPI1);
|
||||||
|
|
||||||
spi.SPI_Mode = SPI_Mode_Master;
|
spi.SPI_Mode = SPI_Mode_Master;
|
||||||
|
@ -76,60 +111,116 @@ void initSpi1(void)
|
||||||
spi.SPI_CPHA = SPI_CPHA_2Edge;
|
spi.SPI_CPHA = SPI_CPHA_2Edge;
|
||||||
spi.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_8;
|
spi.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_8;
|
||||||
|
|
||||||
|
#ifdef STM32F303xC
|
||||||
|
// Configure for 8-bit reads.
|
||||||
|
SPI_RxFIFOThresholdConfig(SPI1, SPI_RxFIFOThreshold_QF);
|
||||||
|
#endif
|
||||||
|
|
||||||
SPI_Init(SPI1, &spi);
|
SPI_Init(SPI1, &spi);
|
||||||
SPI_Cmd(SPI1, ENABLE);
|
SPI_Cmd(SPI1, ENABLE);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef USE_SPI_DEVICE_2
|
#ifdef USE_SPI_DEVICE_2
|
||||||
|
|
||||||
|
#ifndef SPI2_GPIO
|
||||||
|
#define SPI2_GPIO GPIOB
|
||||||
|
#define SPI2_GPIO_PERIPHERAL RCC_AHBPeriph_GPIOB
|
||||||
|
#define SPI2_NSS_PIN GPIO_Pin_12
|
||||||
|
#define SPI2_NSS_PIN_SOURCE GPIO_PinSource12
|
||||||
|
#define SPI2_SCK_PIN GPIO_Pin_13
|
||||||
|
#define SPI2_SCK_PIN_SOURCE GPIO_PinSource13
|
||||||
|
#define SPI2_MISO_PIN GPIO_Pin_14
|
||||||
|
#define SPI2_MISO_PIN_SOURCE GPIO_PinSource14
|
||||||
|
#define SPI2_MOSI_PIN GPIO_Pin_15
|
||||||
|
#define SPI2_MOSI_PIN_SOURCE GPIO_PinSource15
|
||||||
|
#endif
|
||||||
|
|
||||||
void initSpi2(void)
|
void initSpi2(void)
|
||||||
{
|
{
|
||||||
|
// Specific to the STM32F103 / STM32F303 (AF5)
|
||||||
// Specific to the STM32F103
|
|
||||||
// SPI2 Driver
|
// SPI2 Driver
|
||||||
// PB15 28 SPI2_MOSI
|
|
||||||
// PB14 27 SPI2_MISO
|
|
||||||
// PB13 26 SPI2_SCK
|
|
||||||
// PB12 25 SPI2_NSS
|
// PB12 25 SPI2_NSS
|
||||||
|
// PB13 26 SPI2_SCK
|
||||||
|
// PB14 27 SPI2_MISO
|
||||||
|
// PB15 28 SPI2_MOSI
|
||||||
|
|
||||||
gpio_config_t gpio;
|
|
||||||
SPI_InitTypeDef spi;
|
SPI_InitTypeDef spi;
|
||||||
|
|
||||||
// Enable SPI2 clock
|
// Enable SPI2 clock
|
||||||
RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2, ENABLE);
|
RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2, ENABLE);
|
||||||
RCC_APB1PeriphResetCmd(RCC_APB1Periph_SPI2, ENABLE);
|
RCC_APB1PeriphResetCmd(RCC_APB1Periph_SPI2, ENABLE);
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef STM32F303xC
|
||||||
|
GPIO_InitTypeDef GPIO_InitStructure;
|
||||||
|
|
||||||
|
RCC_AHBPeriphClockCmd(SPI2_GPIO_PERIPHERAL, ENABLE);
|
||||||
|
|
||||||
|
GPIO_PinAFConfig(SPI2_GPIO, SPI2_SCK_PIN_SOURCE, GPIO_AF_5);
|
||||||
|
GPIO_PinAFConfig(SPI2_GPIO, SPI2_MISO_PIN_SOURCE, GPIO_AF_5);
|
||||||
|
GPIO_PinAFConfig(SPI2_GPIO, SPI2_MOSI_PIN_SOURCE, GPIO_AF_5);
|
||||||
|
|
||||||
|
GPIO_InitStructure.GPIO_Pin = SPI2_SCK_PIN | SPI2_MISO_PIN | SPI2_MOSI_PIN;
|
||||||
|
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
|
||||||
|
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
||||||
|
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
|
||||||
|
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
|
||||||
|
GPIO_Init(SPI2_GPIO, &GPIO_InitStructure);
|
||||||
|
|
||||||
|
GPIO_InitStructure.GPIO_Pin = SPI2_NSS_PIN;
|
||||||
|
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
|
||||||
|
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
||||||
|
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
|
||||||
|
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
|
||||||
|
|
||||||
|
GPIO_Init(SPI2_GPIO, &GPIO_InitStructure);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef STM32F10X
|
||||||
|
gpio_config_t gpio;
|
||||||
|
|
||||||
// MOSI + SCK as output
|
// MOSI + SCK as output
|
||||||
gpio.mode = Mode_AF_PP;
|
gpio.mode = Mode_AF_PP;
|
||||||
gpio.pin = Pin_13 | Pin_15;
|
gpio.pin = SPI2_SCK_PIN | SPI2_MOSI_PIN;
|
||||||
gpio.speed = Speed_50MHz;
|
gpio.speed = Speed_50MHz;
|
||||||
gpioInit(GPIOB, &gpio);
|
gpioInit(SPI2_GPIO, &gpio);
|
||||||
// MISO as input
|
// MISO as input
|
||||||
gpio.pin = Pin_14;
|
gpio.pin = SPI2_MISO_PIN;
|
||||||
gpio.mode = Mode_IN_FLOATING;
|
gpio.mode = Mode_IN_FLOATING;
|
||||||
gpioInit(GPIOB, &gpio);
|
gpioInit(SPI2_GPIO, &gpio);
|
||||||
// NSS as gpio slave select
|
|
||||||
gpio.pin = Pin_12;
|
|
||||||
gpio.mode = Mode_Out_PP;
|
|
||||||
gpioInit(GPIOB, &gpio);
|
|
||||||
|
|
||||||
GPIO_SetBits(GPIOB, GPIO_Pin_12);
|
// NSS as gpio slave select
|
||||||
|
gpio.pin = SPI2_NSS_PIN;
|
||||||
|
gpio.mode = Mode_Out_PP;
|
||||||
|
gpioInit(SPI2_GPIO, &gpio);
|
||||||
|
#endif
|
||||||
|
|
||||||
// Init SPI2 hardware
|
// Init SPI2 hardware
|
||||||
SPI_I2S_DeInit(SPI2);
|
SPI_I2S_DeInit(SPI2);
|
||||||
|
|
||||||
spi.SPI_Mode = SPI_Mode_Master;
|
|
||||||
spi.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
|
spi.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
|
||||||
|
spi.SPI_Mode = SPI_Mode_Master;
|
||||||
spi.SPI_DataSize = SPI_DataSize_8b;
|
spi.SPI_DataSize = SPI_DataSize_8b;
|
||||||
spi.SPI_NSS = SPI_NSS_Soft;
|
|
||||||
spi.SPI_FirstBit = SPI_FirstBit_MSB;
|
|
||||||
spi.SPI_CRCPolynomial = 7;
|
|
||||||
spi.SPI_CPOL = SPI_CPOL_High;
|
spi.SPI_CPOL = SPI_CPOL_High;
|
||||||
spi.SPI_CPHA = SPI_CPHA_2Edge;
|
spi.SPI_CPHA = SPI_CPHA_2Edge;
|
||||||
|
spi.SPI_NSS = SPI_NSS_Soft;
|
||||||
spi.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_8;
|
spi.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_8;
|
||||||
|
spi.SPI_FirstBit = SPI_FirstBit_MSB;
|
||||||
|
spi.SPI_CRCPolynomial = 7;
|
||||||
|
|
||||||
|
#ifdef STM32F303xC
|
||||||
|
// Configure for 8-bit reads.
|
||||||
|
SPI_RxFIFOThresholdConfig(SPI2, SPI_RxFIFOThreshold_QF);
|
||||||
|
#endif
|
||||||
SPI_Init(SPI2, &spi);
|
SPI_Init(SPI2, &spi);
|
||||||
SPI_Cmd(SPI2, ENABLE);
|
SPI_Cmd(SPI2, ENABLE);
|
||||||
|
|
||||||
|
// Drive NSS high to disable connected SPI device.
|
||||||
|
GPIO_SetBits(SPI2_GPIO, SPI2_NSS_PIN);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -210,8 +301,9 @@ bool spiTransfer(SPI_TypeDef *instance, uint8_t *out, const uint8_t *in, int len
|
||||||
if ((spiTimeout--) == 0)
|
if ((spiTimeout--) == 0)
|
||||||
return spiTimeoutUserCallback(instance);
|
return spiTimeoutUserCallback(instance);
|
||||||
}
|
}
|
||||||
#ifdef STM32F303
|
#ifdef STM32F303xC
|
||||||
SPI_I2S_SendData16(instance, b);
|
SPI_SendData8(instance, b);
|
||||||
|
//SPI_I2S_SendData16(instance, b);
|
||||||
#endif
|
#endif
|
||||||
#ifdef STM32F10X
|
#ifdef STM32F10X
|
||||||
SPI_I2S_SendData(instance, b);
|
SPI_I2S_SendData(instance, b);
|
||||||
|
@ -220,8 +312,9 @@ bool spiTransfer(SPI_TypeDef *instance, uint8_t *out, const uint8_t *in, int len
|
||||||
if ((spiTimeout--) == 0)
|
if ((spiTimeout--) == 0)
|
||||||
return spiTimeoutUserCallback(instance);
|
return spiTimeoutUserCallback(instance);
|
||||||
}
|
}
|
||||||
#ifdef STM32F303
|
#ifdef STM32F303xC
|
||||||
b = SPI_I2S_ReceiveData16(instance);
|
b = SPI_ReceiveData8(instance);
|
||||||
|
//b = SPI_I2S_ReceiveData16(instance);
|
||||||
#endif
|
#endif
|
||||||
#ifdef STM32F10X
|
#ifdef STM32F10X
|
||||||
b = SPI_I2S_ReceiveData(instance);
|
b = SPI_I2S_ReceiveData(instance);
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
|
|
||||||
#define SPI_0_5625MHZ_CLOCK_DIVIDER 128
|
#define SPI_0_5625MHZ_CLOCK_DIVIDER 128
|
||||||
#define SPI_18MHZ_CLOCK_DIVIDER 2
|
#define SPI_18MHZ_CLOCK_DIVIDER 2
|
||||||
|
#define SPI_9MHZ_CLOCK_DIVIDER 4
|
||||||
|
|
||||||
bool spiInit(SPI_TypeDef *instance);
|
bool spiInit(SPI_TypeDef *instance);
|
||||||
void spiSetDivisor(SPI_TypeDef *instance, uint16_t divisor);
|
void spiSetDivisor(SPI_TypeDef *instance, uint16_t divisor);
|
||||||
|
|
|
@ -35,10 +35,18 @@
|
||||||
|
|
||||||
#define USABLE_TIMER_CHANNEL_COUNT 18
|
#define USABLE_TIMER_CHANNEL_COUNT 18
|
||||||
|
|
||||||
|
#define USE_SPI
|
||||||
|
#define USE_SPI_DEVICE_1
|
||||||
|
|
||||||
#define GYRO
|
#define GYRO
|
||||||
#define USE_GYRO_L3GD20
|
#define USE_GYRO_L3GD20
|
||||||
#define USE_GYRO_MPU6050
|
#define USE_GYRO_MPU6050
|
||||||
|
|
||||||
|
#define L3GD20_SPI SPI1
|
||||||
|
#define L3GD20_CS_GPIO_CLK_PERIPHERAL RCC_AHBPeriph_GPIOE
|
||||||
|
#define L3GD20_CS_GPIO GPIOE
|
||||||
|
#define L3GD20_CS_PIN GPIO_Pin_3
|
||||||
|
|
||||||
#define GYRO_L3GD20_ALIGN CW90_DEG
|
#define GYRO_L3GD20_ALIGN CW90_DEG
|
||||||
#define GYRO_MPU6050_ALIGN CW0_DEG
|
#define GYRO_MPU6050_ALIGN CW0_DEG
|
||||||
|
|
||||||
|
|
|
@ -36,9 +36,17 @@
|
||||||
|
|
||||||
#define BEEPER_INVERTED
|
#define BEEPER_INVERTED
|
||||||
|
|
||||||
|
#define USE_SPI
|
||||||
|
#define USE_SPI_DEVICE_1
|
||||||
|
|
||||||
#define GYRO
|
#define GYRO
|
||||||
#define USE_GYRO_L3GD20
|
#define USE_GYRO_L3GD20
|
||||||
|
|
||||||
|
#define L3GD20_SPI SPI1
|
||||||
|
#define L3GD20_CS_GPIO_CLK_PERIPHERAL RCC_AHBPeriph_GPIOE
|
||||||
|
#define L3GD20_CS_GPIO GPIOE
|
||||||
|
#define L3GD20_CS_PIN GPIO_Pin_3
|
||||||
|
|
||||||
#define GYRO_L3GD20_ALIGN CW90_DEG
|
#define GYRO_L3GD20_ALIGN CW90_DEG
|
||||||
|
|
||||||
#define ACC
|
#define ACC
|
||||||
|
|
Loading…
Reference in New Issue