Browse Source

AP_HAL_ChibiOS: hwdef for KakuteF4Mini

c415-sdk
Andy Piper 4 years ago committed by Andrew Tridgell
parent
commit
f0ff4a2cd4
  1. 93
      libraries/AP_HAL_ChibiOS/hwdef/KakuteF4Mini/README.md
  2. 8
      libraries/AP_HAL_ChibiOS/hwdef/KakuteF4Mini/defaults.parm
  3. 7
      libraries/AP_HAL_ChibiOS/hwdef/KakuteF4Mini/hwdef-bl.dat
  4. 51
      libraries/AP_HAL_ChibiOS/hwdef/KakuteF4Mini/hwdef.dat
  5. BIN
      libraries/AP_HAL_ChibiOS/hwdef/KakuteF4Mini/kakutef4mini.jpg

93
libraries/AP_HAL_ChibiOS/hwdef/KakuteF4Mini/README.md

@ -0,0 +1,93 @@ @@ -0,0 +1,93 @@
# KakuteF4 Mini Flight Controller
http://www.holybro.com/product/kakute-f4-v2-mini/
The KakuteF7 Mini is a flight controller produced by [Holybro](http://www.holybro.com/product/kakute-f4-v2-mini/).
## Features
- STM32F405 microcontroller
- MPU6000 IMU
- BMP280 barometer
- 128Mbit dataflash
- MAX7456 OSD
- 5 UARTs
- 7 PWM outputs (2 unallocated)
### KakuteF4 Mini Pinout
![KakuteF4 Mini Board](kakutef4mini.jpg "KakuteF4 Mini")
## UART Mapping
The UARTs are marked Rn and Tn in the above pinouts. The Rn pin is the
receive pin for UARTn. The Tn pin is the transmit pin for UARTn.
- SERIAL0 -> USB
- SERIAL1 -> UART1 (Transmit only, FrSky)
- SERIAL3 -> UART3 (RC Input)
- SERIAL4 -> UART4 (GPS/Telem1)
- SERIAL5 -> UART5 (Receive only, ESC Telemetry)
- SERIAL6 -> UART6 (GPS2/Telem2)
## ESC Telemetry
The SERIAL5 port (UART5) is for ESC telemetry. It is connected through the
motor connector and works out of the box with the [Tekko32 F3 Mini](https://shop.holybro.com/tekko32-f3-4in1-45a-mini-esc_p1132.html) which is commonly paired with this flight controller
## RC Input
RC input is configured on the R3 (UART3_RX) pin. It supports all serial RC protocols.
## FrSky Telemetry
FrSky Telemetry is supported using the T1 pin (UART1 transmit). You need to set the following parameters to enable support for FrSky S.PORT
## OSD Support
The KakuteF7 Mini supports OSD using OSD_TYPE 1 (MAX7456 driver).
## PWM Output
The KakuteF4 supports up to 7 PWM outputs, but only 5 can currently be used. M1 to M4 are accessed via the connector. PWM5 is used for LED output. M1-M4 support bi-directional dshot.
The PWM is in 3 groups:
- PWM 1 and 2 in group1
- PWM 3 and 4 in group2
- PWM 5 in group3
Channels within the same group need to use the same output rate. If
any channel in a group uses DShot then all channels in the group need
to use DShot.
## Battery Monitoring
The board has a builting voltage and current sensor. The current
sensor can read up to 130 Amps. The voltage sensor can handle up to 6S
LiPo batteries.
The correct battery setting parameters are:
- BATT_MONITOR 4
- BATT_VOLT_PIN 13
- BATT_CURR_PIN 12
- BATT_VOLT_MULT 10.9
- BATT_AMP_PERVLT 28.5
## Compass
The KakuteF7 Mini does not have a builtin compass, but you can attach an external compass using I2C on the SDA and SCL pads.
## Loading Firmware
Initial firmware load can be done with DFU by plugging in USB with the
bootloader button pressed. Then you should load the "with_bl.hex"
firmware, using your favourite DFU loading tool.
Note that this hardware has problems going into DFU mode if a GPS is connected and powered - please disconnect your GPS when flashing for the first time.
Once the initial firmware is loaded you can update the firmware using
any ArduPilot ground station software. Updates should be done with the
*.apj firmware files.

8
libraries/AP_HAL_ChibiOS/hwdef/KakuteF4Mini/defaults.parm

@ -0,0 +1,8 @@ @@ -0,0 +1,8 @@
# setup for LEDs on chan5
SERVO5_FUNCTION 120
NTF_LED_TYPES 257
SERIAL3_BAUD 115
SERIAL5_BAUD 115
# default Serial1 to FrSky telemetry
SERIAL1_PROTOCOL 10
SERIAL1_OPTIONS 7

7
libraries/AP_HAL_ChibiOS/hwdef/KakuteF4Mini/hwdef-bl.dat

@ -0,0 +1,7 @@ @@ -0,0 +1,7 @@
# hw definition file for processing by chibios_pins.py
# for Holybro KakuteF4 Mini bootloader
include ../KakuteF4/hwdef-bl.dat
undef APJ_BOARD_ID
APJ_BOARD_ID 146

51
libraries/AP_HAL_ChibiOS/hwdef/KakuteF4Mini/hwdef.dat

@ -0,0 +1,51 @@ @@ -0,0 +1,51 @@
# hw definition file for processing by chibios_pins.py
# for Holybro KakuteF4 v2 Mini hardware.
@ thanks to betaflight for pin information
include ../KakuteF4/hwdef.dat
undef APJ_BOARD_ID
undef PB0 PB1 PA3 PA2 PB11 PB10 PD2 PC8
undef BOARD_PWM_COUNT_DEFAULT
undef SERIAL_ORDER
undef CH_CFG_ST_RESOLUTION
undef STM32_ST_USE_TIMER
undef HAL_SERIAL2_PROTOCOL
APJ_BOARD_ID 146
# use natural UART order to align with docs
SERIAL_ORDER OTG1 USART1 EMPTY EMPTY USART3 UART4 UART5 USART6
# RC input defaults to UART to allow for bi-dir dshot
# also frees up 32-bit TIM2 for system timer
PB11 USART3_RX USART3
PB10 USART3_TX USART3
define HAL_SERIAL3_PROTOCOL SerialProtocol_RCIN
define HAL_SERIAL5_PROTOCOL SerialProtocol_ESCTelemetry
q
# UART5 (ESC telemetry sensor), SERIAL5, NODMA for bi-dir dshot
PD2 UART5_RX UART5 NODMA
# Motors, bi-directional dshot capable
PB0 TIM3_CH3 TIM3 PWM(1) GPIO(50) BIDIR
PB1 TIM3_CH4 TIM3 PWM(2) GPIO(51)
PA3 TIM5_CH4 TIM5 PWM(3) GPIO(52) BIDIR
PA2 TIM5_CH3 TIM5 PWM(4) GPIO(53)
PC8 TIM8_CH3 TIM8 PWM(5) GPIO(56) # LED strip
DMA_PRIORITY ADC* USART3* TIM3* TIM5* SPI3* SPI1*
DMA_NOSHARE SPI3_RX
define BOARD_PWM_COUNT_DEFAULT 5
define STM32_PWM_USE_ADVANCED TRUE
# save some flash
define HAL_BATTMON_SMBUS_ENABLE 0
define HAL_BATTMON_FUEL_ENABLE 0
define HAL_PARACHUTE_ENABLED 0
define HAL_SPRAYER_ENABLED 0
define HAL_MOUNT_ENABLED 0
define GENERATOR_ENABLED 0
define AC_OAPATHPLANNER_ENABLED 0
define PRECISION_LANDING 0

BIN
libraries/AP_HAL_ChibiOS/hwdef/KakuteF4Mini/kakutef4mini.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Loading…
Cancel
Save