Skip to content

Commit

Permalink
Merge pull request #6631 from loopur/baro_t
Browse files Browse the repository at this point in the history
Add new broad -HAKRCF722
  • Loading branch information
mikeller committed Aug 26, 2018
1 parent 788b52b commit 5609760
Show file tree
Hide file tree
Showing 4 changed files with 325 additions and 0 deletions.
122 changes: 122 additions & 0 deletions docs/boards/Board - HAKRCF722.md
@@ -0,0 +1,122 @@
# Board - HAKRCF722


### Hardware and Features

- STM32CubeMX
- MCU STM32F722RET6
- IMU: MPU6000 (SPI)
- VCP: yes
- OSD: Betaflight OSD
- Battery Voltage Sensor: yes
- Stable voltage regulation,9V/2A DCDC BEC for VTX/camera etc.And could select 5v/9v with pad
- Serial LED interface(LED_STRIP)
- 5 UART
- BARO: QMP6988/BMP280(I2C_1)
- GPS
-


PERIPHERALS MODES FUNCTIONS PINS
ADC1 IN10 ADC1_IN10 PC0
ADC1 IN11 ADC1_IN11 PC1
ADC1 IN12 ADC1_IN12 PC2
I2C1 SMBus-two-wire-Interface I2C1_SCL PB8
I2C1 SMBus-two-wire-Interface I2C1_SDA PB9
RCC Crystal/Ceramic Resonator RCC_OSC_IN PH0-OSC_IN
RCC Crystal/Ceramic Resonator RCC_OSC_OUT PH1-OSC_OUT
SPI1 Full-Duplex Master SPI1_MISO PA6
SPI1 Full-Duplex Master SPI1_MOSI PA7
SPI1 Full-Duplex Master SPI1_SCK PB3
SPI1 Hardware NSS Input Signal SPI1_NSS PA4
SPI2 Full-Duplex Master SPI2_MISO PB14
SPI2 Full-Duplex Master SPI2_MOSI PC3
SPI2 Full-Duplex Master SPI2_SCK PB13
SPI2 Hardware NSS Output Signal SPI2_NSS PB12
SPI3 Full-Duplex Master SPI3_MISO PC11
SPI3 Full-Duplex Master SPI3_MOSI PB5
SPI3 Full-Duplex Master SPI3_SCK PC10
SYS SysTick SYS_VS_Systick VP_SYS_VS_Systick
TIM1 Output Compare CH1 TIM1_CH1 PA8
TIM1 Output Compare CH3 TIM1_CH3 PA10
TIM2 Output Compare CH1 TIM2_CH1 PA5
TIM3 Output Compare CH2 TIM3_CH2 PC7
TIM3 Output Compare CH3 TIM3_CH3 PB0
TIM3 Output Compare CH4 TIM3_CH4 PB1
TIM4 Output Compare CH1 TIM4_CH1 PB6
TIM8 Output Compare CH1 TIM8_CH1 PC6
TIM8 Output Compare CH3 TIM8_CH3 PC8
TIM8 Output Compare CH4 TIM8_CH4 PC9
TIM12 Input Capture direct mode TIM12_CH2 PB15
UART4 Multiprocessor Communication UART4_RX PA1
UART4 Multiprocessor Communication UART4_TX PA0-WKUP
UART5 Multiprocessor Communication UART5_RX PD2
UART5 Multiprocessor Communication UART5_TX PC12
USART1 Multiprocessor Communication USART1_RX PB7
USART1 Multiprocessor Communication USART1_TX PA9
USART2 Multiprocessor Communication USART2_RX PA3
USART2 Multiprocessor Communication USART2_TX PA2
USART3 Multiprocessor Communication USART3_RX PB11
USART3 Multiprocessor Communication USART3_TX PB10



Pin Nb PINs FUNCTIONs LABELs
2 PC13-ANTI_TAMP GPIO_Output LED0
3 PC14-OSC32_IN GPIO_Output Beep
5 PH0-OSC_IN RCC_OSC_IN
6 PH1-OSC_OUT RCC_OSC_OUT
8 PC0 ADC1_IN10 RSSI
9 PC1 ADC1_IN11 VBAT
10 PC2 ADC1_IN12 CURR
11 PC3 SPI2_MOSI
14 PA0-WKUP UART4_TX extend/UART4_TX
15 PA1 UART4_RX
16 PA2 USART2_TX
17 PA3 USART2_RX
20 PA4 SPI1_NSS
21 PA5 TIM2_CH1
22 PA6 SPI1_MISO
23 PA7 SPI1_MOSI
24 PC4 GPIO_Output SPI1_CS
26 PB0 TIM3_CH3 OUPUT1
27 PB1 TIM3_CH4 OUPUT6
29 PB10 USART3_TX
30 PB11 USART3_RX
33 PB12 SPI2_NSS
34 PB13 SPI2_SCK
35 PB14 SPI2_MISO
36 PB15 TIM12_CH2 PPM
37 PC6 TIM8_CH1 OUPUT2
38 PC7 TIM3_CH2 OUPUT7
39 PC8 TIM8_CH3 OUPUT5
40 PC9 TIM8_CH4 OUPUT8
41 PA8 TIM1_CH1 OUPUT4
42 PA9 USART1_TX
43 PA10 TIM1_CH3 OUPUT3
46 PA13* SYS_JTMS-SWDIO
49 PA14* SYS_JTCK-SWCLK
50 PA15* SPI3_NSS
51 PC10 SPI3_SCK
52 PC11 SPI3_MISO
53 PC12 UART5_TX
54 PD2 UART5_RX
55 PB3 SPI1_SCK
56 PB4 GPIO_Output Inverter
57 PB5 SPI3_MOSI
58 PB6 TIM4_CH1 LED1
59 PB7 USART1_RX USART1_RX
61 PB8 I2C1_SCL
62 PB9 I2C1_SDA


## Manufacturers and Distributors

HAKRC Loopur


## Designers

HAKRC Loopur


46 changes: 46 additions & 0 deletions src/main/target/HAKRCF722/target.c
@@ -0,0 +1,46 @@
/*
* This file is part of Cleanflight and Betaflight.
*
* Cleanflight and Betaflight are free software. You can redistribute
* this software and/or modify this software under the terms of the
* GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option)
* any later version.
*
* Cleanflight and Betaflight are distributed in the hope that they
* 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 this software.
*
* If not, see <http://www.gnu.org/licenses/>.
*/

#include <stdint.h>

#include "platform.h"
#include "drivers/io.h"

#include "drivers/dma.h"
#include "drivers/timer.h"
#include "drivers/timer_def.h"

const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = {
DEF_TIM(TIM12, CH2, PB15, TIM_USE_PPM, 0, 0), // PPM

DEF_TIM(TIM3, CH3, PB0, TIM_USE_MOTOR, 0, 0), // S1
DEF_TIM(TIM8, CH1, PC6, TIM_USE_MOTOR, 0, 0), // S2
DEF_TIM(TIM1, CH3, PA10, TIM_USE_MOTOR, 0, 0), // S3
DEF_TIM(TIM1, CH1, PA8, TIM_USE_MOTOR, 0, 0), // S4

DEF_TIM(TIM8, CH3, PC8, TIM_USE_MOTOR, 0, 0), // S5
DEF_TIM(TIM3, CH4, PB1, TIM_USE_MOTOR, 0, 0), // S6

DEF_TIM(TIM3, CH2, PC7, TIM_USE_MOTOR, 0, 0), //S7
DEF_TIM(TIM8, CH4, PC9, TIM_USE_MOTOR, 0, 0), //S8

DEF_TIM(TIM4, CH1, PB6, TIM_USE_LED, 0, 0),

};
146 changes: 146 additions & 0 deletions src/main/target/HAKRCF722/target.h
@@ -0,0 +1,146 @@
/*
* This file is part of Cleanflight and Betaflight.
*
* Cleanflight and Betaflight are free software. You can redistribute
* this software and/or modify this software under the terms of the
* GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option)
* any later version.
*
* Cleanflight and Betaflight are distributed in the hope that they
* 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 this software.
*
* If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once

#define TARGET_BOARD_IDENTIFIER "HRF7"

#define USBD_PRODUCT_STRING "HAKRCF722"


#define USE_I2C
#define USE_I2C_DEVICE_1
#define I2C_DEVICE (I2CDEV_1)
#define I2C1_SCL PB8
#define I2C1_SDA PB9
#define USE_I2C_PULLUP

#define USE_BARO
#define USE_BARO_BMP085
#define USE_BARO_BMP280
#define USE_BARO_MS5611
#define USE_BARO_QMP6988
#define BARO_I2C_INSTANCE (I2CDEV_1)
#define DEFAULT_BARO_QMP6988

#define USE_SPI
#define USE_SPI_DEVICE_1

#define SPI1_SCK_PIN PB3
#define SPI1_MISO_PIN PA6
#define SPI1_MOSI_PIN PA7

#define MPU6000_CS_PIN PA4
#define MPU6000_SPI_INSTANCE SPI1

#define USE_EXTI
#define MPU_INT_EXTI PC4
#define USE_MPU_DATA_READY_SIGNAL

#define USE_GYRO
#define USE_GYRO_SPI_MPU6000
#define GYRO_MPU6000_ALIGN CW270_DEG

#define USE_ACC
#define USE_ACC_SPI_MPU6000
#define ACC_MPU6000_ALIGN CW270_DEG


#define LED0_PIN PC14

#define USE_SPI_DEVICE_3
#define SPI3_SCK_PIN PC10
#define SPI3_MISO_PIN PC11
#define SPI3_MOSI_PIN PB5

#define USE_OSD
#define USE_MAX7456
#define MAX7456_SPI_INSTANCE SPI3
#define MAX7456_SPI_CS_PIN PA15

#define USE_SPI_DEVICE_2
#define SPI2_SCK_PIN PB13
#define SPI2_MISO_PIN PB14
#define SPI2_MOSI_PIN PC3

#define ENABLE_BLACKBOX_LOGGING_ON_SPIFLASH_BY_DEFAULT
#define USE_FLASHFS
#define USE_FLASH_M25P16
#define FLASH_CS_PIN PB12
#define FLASH_SPI_INSTANCE SPI2

#define ENABLE_DSHOT_DMAR true

#define USE_VCP

#define USE_UART1
#define UART1_RX_PIN PB7
#define UART1_TX_PIN PA9

#define USE_UART2
#define UART2_RX_PIN PA3
#define UART2_TX_PIN PA2

#define USE_UART3
#define UART3_RX_PIN PB11
#define UART3_TX_PIN PB10

#define USE_UART4
#define UART4_RX_PIN PA1
#define UART4_TX_PIN PA0

#define USE_UART5
#define UART5_RX_PIN PD2
#define UART5_TX_PIN PC12

#define USE_SOFTSERIAL1
#define USE_SOFTSERIAL2

#define SERIAL_PORT_COUNT 8

#define USE_BEEPER
#define BEEPER_PIN PC13
#define BEEPER_INVERTED

#define DEFAULT_RX_FEATURE FEATURE_RX_SERIAL
#define SERIALRX_UART SERIAL_PORT_USART1
#define SERIALRX_PROVIDER SERIALRX_SBUS

#define USE_ADC
#define ADC1_DMA_STREAM DMA2_Stream0
#define VBAT_ADC_PIN PC1
#define CURRENT_METER_ADC_PIN PC2
#define RSSI_ADC_PIN PC0

#define DEFAULT_VOLTAGE_METER_SOURCE VOLTAGE_METER_ADC
#define DEFAULT_CURRENT_METER_SOURCE CURRENT_METER_ADC

#define USE_ESCSERIAL
#define ESCSERIAL_TIMER_TX_PIN PA3
#define USE_SERIAL_4WAY_BLHELI_INTERFACE


#define TARGET_IO_PORTA 0xffff
#define TARGET_IO_PORTB 0xffff
#define TARGET_IO_PORTC 0xffff
#define TARGET_IO_PORTD 0xffff

#define USABLE_TIMER_CHANNEL_COUNT 10
#define USED_TIMERS (TIM_N(1)|TIM_N(2)|TIM_N(3)|TIM_N(4)|TIM_N(8)|TIM_N(12))
11 changes: 11 additions & 0 deletions src/main/target/HAKRCF722/target.mk
@@ -0,0 +1,11 @@
F7X2RE_TARGETS += $(TARGET)
FEATURES += VCP ONBOARDFLASH
TARGET_SRC = \
drivers/accgyro/accgyro_spi_mpu6000.c \
drivers/barometer/barometer_bmp085.c \
drivers/barometer/barometer_bmp280.c \
drivers/barometer/barometer_ms5611.c \
drivers/barometer/barometer_qmp6988.c \
drivers/compass/compass_hmc5883l.c \
drivers/compass/compass_qmc5883l.c \
drivers/max7456.c

0 comments on commit 5609760

Please sign in to comment.