-
Notifications
You must be signed in to change notification settings - Fork 191
Add DRONEERF722 #818
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Add DRONEERF722 #818
Conversation
WalkthroughA new configuration header file for the DRONEERF722 flight controller board has been added. This file defines the MCU, board name, manufacturer ID, and assigns pins for LEDs, beeper, USB detection, user IO, UARTs, I2C, SPI peripherals, sensors, motor outputs, battery monitoring, OSD, and debug. It also enables relevant features and sets hardware-specific macros for Betaflight firmware integration. Changes
Sequence Diagram(s)sequenceDiagram
participant Betaflight
participant DRONEERF722_Config
participant Hardware
Betaflight->>DRONEERF722_Config: Load board configuration macros
DRONEERF722_Config->>Hardware: Define pin mappings (LEDs, UARTs, SPI, I2C, etc.)
DRONEERF722_Config->>Hardware: Enable peripherals (IMU, Baro, OSD, Blackbox, etc.)
DRONEERF722_Config->>Hardware: Set up motor outputs and timers
Betaflight->>Hardware: Initialize and operate using configured hardware resources
Possibly related PRs
Suggested reviewers
✨ Finishing Touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
configs/DRONEERF722/config.h
(1 hunks)
🧰 Additional context used
🧠 Learnings (1)
configs/DRONEERF722/config.h (1)
Learnt from: haslinghuis
PR: betaflight/config#0
File: :0-0
Timestamp: 2025-06-02T16:16:20.197Z
Learning: In STM32F405-based flight controller configurations, timer pin mappings must be carefully analyzed for DMA stream conflicts, especially between motor timers, LED strip timers, and SPI DMA assignments. Changes to TIMER_PIN_MAPPING should include verification that all required peripherals (motors, LED strip, blackbox SPI) can coexist without DMA conflicts.
🔇 Additional comments (4)
configs/DRONEERF722/config.h (4)
81-83
: Compass is referenced but no sensor is enabled – intentional?
MAG_I2C_INSTANCE
is set, which is only consumed when someUSE_MAG_*
flag is defined (e.g.USE_MAG_HMC5883
,USE_MAG_IST8310
, …).
If this board really has no magnetometer, the line should be removed to avoid dead code; if it does, add the properUSE_MAG_…
define.
140-147
: Timer/DMA mapping deserves a second lookYou neatly avoided CH3 overlap between the gyro CLK-IN (TIM3-CH3 on PB0) and motor outputs by pushing motors 3/4 to TIM8, 👍.
However, all four motors (TIM1 + TIM8) and SPI1 (IMU) share DMA2; add the LED strip (TIM2, DMA1) and ADC (DMA1 opt 1) and you are at the edge of F722 DMA bandwidth.Please run
tools/check-timer-conflicts.py
(or the equivalent CI step) to ensure:• DMA2 stream allocations for TIM1, TIM8 and SPI1 do not collide
• TIM2-CH2 (LED) does not starve TIM1/TIM8 at high DSHOT ratesIf conflicts appear, consider moving the LED strip to a spare TIM3/TIM4 pin or enabling
DSHOT_BITBANG_OFF
.
151-152
: VerifyADC1_DMA_OPT 1
ADC1_DMA_OPT
value “1” selects the second DMA request line on F7.
Double-check that:
- DMA stream 0 isn’t already taken by another peripheral, and
- The board routing actually connects VBAT / CURR to ADC1, not ADC2/3.
Mis-selection leads to silent ADC zeros.
24-27
: ```shell
#!/bin/bash
set -eecho "=== Searching for USE_PINIO references ==="
rg -n "USE_PINIO"echo "=== Searching for PINIO1_PIN in repository ==="
rg -n "PINIO1_PIN"echo "=== Searching for PINIO2_PIN in repository ==="
rg -n "PINIO2_PIN"echo "=== Searching for PINIO subsystem implementation files ==="
rg -n "PINIO" -C2</details> </blockquote></details> </details> <!-- This is an auto-generated comment by CodeRabbit for review status -->
Checklist
Summary by CodeRabbit