This repository has been archived on 2020-06-14. You can view files and clone it, but cannot push or open issues or pull requests.

231 lines
5.7 KiB
C

/*
* stm32f4xx_revo.h
*
* Created on: 8 sep. 2016
* Author: len12007
*/
#ifndef UTILITIES_STM32F4XX_REVO_STM32F4XX_REVO_H_
#define UTILITIES_STM32F4XX_REVO_STM32F4XX_REVO_H_
#ifdef __cplusplus
extern "C" {
#endif
/* Includes ------------------------------------------- */
#include "stm32f4xx_hal.h"
//Code here
//Leds? (taken from betaflight REVO h file)
#define Led0_PIN GPIO_PIN_5 //blue
#define Led0_GPIO_PORT GPIOB
#define Led1 GPIO_PIN_4 //yellow
#define Led1_GPIO_PORT GPIOB
//Servo out, To be used for motors?
#define SERVO_OUT_1_PIN GPIO_PIN_0
#define SERVO_OUT_1_GPIO_PORT GPIOB
#define SERVO_OUT_2_PIN GPIO_PIN_1
#define SERVO_OUT_2_GPIO_PORT GPIOB
#define SERVO_OUT_3_PIN GPIO_PIN_3
#define SERVO_OUT_3_GPIO_PORT GPIOA
#define SERVO_OUT_4_PIN GPIO_PIN_2
#define SERVO_OUT_4_GPIO_PORT GPIOA
#define SERVO_OUT_5_PIN GPIO_PIN_1
#define SERVO_OUT_5_GPIO_PORT GPIOA
#define SERVO_OUT_6_PIN GPIO_PIN_0
#define SERVO_OUT_6_GPIO_PORT GPIOA
/* Flex I/O 1-10 */
//#define FLEX_IO_1_PIN GND
//#define FLEX_IO_1_PORT GND
//#define FLEX_IO_2_PIN VCC_UNREG
//#define FLEX_IO_2_PORT VCC_UNREG
#define FLEX_IO_3_PIN GPIO_PIN_12
#define FLEX_IO_3_PORT GPIOB
#define FLEX_IO_4_PIN GPIO_PIN_13
#define FLEX_IO_4_PORT GPIOB
#define FLEX_IO_5_PIN GPIO_PIN_14
#define FLEX_IO_5_PORT GPIOB
#define FLEX_IO_6_PIN GPIO_PIN_15
#define FLEX_IO_6_PORT GPIOB
#define FLEX_IO_7_PIN GPIO_PIN_6
#define FLEX_IO_7_PORT GPIOC
#define FLEX_IO_8_PIN GPIO_PIN_7
#define FLEX_IO_8_PORT GPIOC
#define FLEX_IO_9_PIN GPIO_PIN_8
#define FLEX_IO_9_PORT GPIOC
#define FLEX_IO_10_PIN GPIO_PIN_9
#define FLEX_IO_10_PORT GPIOC
/* Communication */
#define USE_USART1
#define USART1_RX_PIN GPIO_PIN_10
#define USART1_RX_PORT GPIOA
#define USART1_TX_PIN GPIO_PIN_9
#define USART1_TX_PORT GPIOA
#define USE_USART3
#define USART3_RX_PIN GPIO_PIN_11
#define USART3_RX_PORT GPIOB
#define USART3_TX_PIN GPIO_PIN_10
#define USART3_TX_PORT GPIOB
#define USE_USART6
#define USART6_RX_PIN GPIO_PIN_7
#define USART6_RX_PORT GPIOC
#define USART6_TX_PIN GPIO_PIN_6
#define USART6_TX_PORT GPIOC
/* I2C */
#define I2C1_SDA_PIN GPIO_PIN_9
#define I2C1_SCL_PIN GPIO_PIN_8
#define I2C1_PORT GPIOB
#define I2C2_SCL_PIN GPIO_PIN_10
#define I2C2_SDA_PIN GPIO_PIN_11
#define I2C2_PORT GPIOB
#define SPI1_MISO GPIO_PIN_6
#define SPI1_MISO_PORT GPIOA
#define SPI1_MOSI GPIO_PIN_7
#define SPI1_MOSI_PORT GPIOA
#define SPI1_SCK GPIO_PIN_5
#define SPI1_SCK_PORT GPIOA
#define SPI3_MISO GPIO_PIN_11
#define SPI3_MISO_PORT GPIOC
#define SPI3_MOSI GPIO_PIN_12
#define SPI3_MOSI_PORT GPIOC
#define SPI3_SCK GPIO_PIN_10
#define SPI3_SCK_PORT GPIOC
#define SPI3_NSS GPIO_PIN_15
#define SPI3_NSS_PORT GPIOA
/* Gyro */
#define GYRO
#define MPU6000_CS_PIN GPIO_PIN_4
#define MPU6000_CS_PORT GPIOA
#define MPU6000_SPI_INSTANCE SPI1 //Dont know if necessary for us to specify
/* Led Warnings */
#define USE_LEDS
//#define USE_LED_WARNINGS
//#define USE_LED_WARNINGS_MISSED_PERIOD
//#define USE_LED_WARNINGS_SYSTEM_LOAD
/* Scheduler */
//#define USE_DEBUG_TASKS //Only to be used when testing scheduler, not when intending to run the whole system
#define USE_TASK_AGE_CYCLE_STATISTICS
/* EEPROM */
//#define USE_DEBUG_EEPROM
/* Baro */
#define BARO
#define BARO_USE_I2C_SOFT
//#define BARO_USE_I2C_HARD //Dont work with DMA right now if fixed should be faster. Otherwise software is faster than hardware I2C
#define MPU6000_NSS_PIN GPIO_PIN_4
#define MPU6000_NSS_PORT GPIOA
/* Compass */
#define COMPASS
/* GPS */
#define GPS
/* Sonar */
//#define SONAR
/* Beeper */
#define BEEPER
#define BEEPER_PIN GPIO_PIN_12
#define BEEPER_PORT GPIOB
/* Define all the moter of the system, servos + extra */
#define MOTOR_1 1
#define MOTOR_1_PIN SERVO_OUT_1_PIN
#define MOTOR_1_PORT SERVO_OUT_1_GPIO_PORT
#define MOTOR_1_TIM TIM3
#define MOTOR_1_CHANNEL TIM_CHANNEL_3
#define MOTOR_2 2
#define MOTOR_2_PIN SERVO_OUT_2_PIN
#define MOTOR_2_PORT SERVO_OUT_2_GPIO_PORT
#define MOTOR_2_TIM TIM3
#define MOTOR_2_CHANNEL TIM_CHANNEL_4
#define MOTOR_3 3
#define MOTOR_3_PIN SERVO_OUT_3_PIN
#define MOTOR_3_PORT SERVO_OUT_3_GPIO_PORT
#define MOTOR_3_TIM TIM9
#define MOTOR_3_CHANNEL TIM_CHANNEL_2
#define MOTOR_4 4
#define MOTOR_4_PIN SERVO_OUT_4_PIN
#define MOTOR_4_PORT SERVO_OUT_4_GPIO_PORT
#define MOTOR_4_TIM TIM2
#define MOTOR_4_CHANNEL TIM_CHANNEL_3
#define MOTOR_5 5
#define MOTOR_5_PIN SERVO_OUT_5_PIN
#define MOTOR_5_PORT SERVO_OUT_5_GPIO_PORT
#define MOTOR_5_TIM TIM5
#define MOTOR_5_CHANNEL TIM_CHANNEL_2
#define MOTOR_6 6
#define MOTOR_6_PIN SERVO_OUT_6_PIN
#define MOTOR_6_PORT SERVO_OUT_6_GPIO_PORT
#define MOTOR_6_TIM TIM5
#define MOTOR_6_CHANNEL TIM_CHANNEL_1
#define MOTOR_7 7
#define MOTOR_7_PIN GPIO_PIN_14
#define MOTOR_7_PORT GPIOB
#define MOTOR_7_TIM TIM12
#define MOTOR_7_CHANNEL TIM_CHANNEL_1
#define MOTOR_8 8
#define MOTOR_8_PIN GPIO_PIN_15
#define MOTOR_8_PORT GPIOB
#define MOTOR_8_TIM TIM12
#define MOTOR_8_CHANNEL TIM_CHANNEL_2
#define MOTOR_9 9
#define MOTOR_9_PIN GPIO_PIN_8
#define MOTOR_9_PORT GPIOC
#define MOTOR_9_TIM TIM8
#define MOTOR_9_CHANNEL TIM_CHANNEL_3
#define MOTOR_10 10
#define MOTOR_10_PIN GPIO_PIN_9
#define MOTOR_10_PORT GPIOC
#define MOTOR_10_TIM TIM8
#define MOTOR_10_CHANNEL TIM_CHANNEL_4
#ifdef __cplusplus
}
#endif
#endif /* UTILITIES_STM32F4XX_REVO_STM32F4XX_REVO_H_ */