Skip to content

Conversation

@haslinghuis
Copy link
Member

@haslinghuis haslinghuis commented Jun 23, 2025

Checklist

  • passed schematics review
  • passed hardware samples testing
  • follows guidelines
  • follows connector standards
  • flight tested
  • comments/issues resolved

Summary by CodeRabbit

  • New Features
    • Added support for the AXISFLYINGH7MINI flight controller board with full hardware mapping.
    • Enabled sensors and peripherals: accelerometer, gyroscope, barometer, flash logging, and OSD.
    • Configured motor outputs (up to 8), LEDs, UARTs, I2C/SPI buses, ADC inputs for voltage/current, beeper, and general-purpose I/O.
  • Defaults
    • Enabled blackbox logging, voltage/current monitoring, and bitbanged ESC protocol by default.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jun 23, 2025

Walkthrough

Adds a new board configuration header for the AXISFLYINGH7MINI flight controller, declaring MCU/board identifiers and exhaustively mapping sensors, peripherals, pins, timers, DMA, UART/I2C/SPI instances, default device settings, beeper and pin-IO configurations.

Changes

Cohort / File(s) Change Summary
Board config
configs/AXISFLYINGH7MINI/config.h
New configuration header for AXISFLYINGH7MINI: sets FC_TARGET_MCU, BOARD_NAME, MANUFACTURER_ID; enables sensors/peripherals (dual ICM42688P gyros/accel, BMP280 baro, W25Q128FV flash, MAX7456 OSD); defines motor/LED/UART/I2C/SPI/ADC/GPIO pin mappings, timer-pin mapping, ADC DMA options, I2C/UART/SPI instance assignments, default devices and beeper inversion, and pin IO/box IDs.

Sequence Diagram(s)

sequenceDiagram
    autonumber
    participant Build as Build System
    participant Firmware as Firmware Core
    participant Config as configs/AXISFLYINGH7MINI/config.h

    Build->>Firmware: target=AXISFLYINGH7MINI
    Firmware->>Config: #include board config
    Note right of Config: Provides MCU, pins,\nperipherals, timers, DMA, defaults
    Config-->>Firmware: compile-time macros & pin defines
    Firmware->>Hardware: initialize drivers using defines
    Hardware-->>Firmware: peripherals ready
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • ot0tot
  • nerdCopter

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description Check ⚠️ Warning The pull request description is largely incomplete compared to the required template. The description contains only a bare checklist with six unchecked items but is entirely missing the mandatory sections specified in the template, including the mandatory review explanation, hardware compliance requirements section, housekeeping notes, and any contextual information about the new flight controller. While the checklist structure itself is present, it lacks all the surrounding required content and explanatory sections that make up the core of the template. The description should be rewritten to include all required template sections: add the mandatory review for new flight controllers explanation, include the hardware compliance requirements and links to guidelines, include the housekeeping note about branching from a custom branch rather than master, and then provide the full checklist. All six checklist items should remain but be accompanied by the complete contextual information specified in the template.
✅ Passed checks (2 passed)
Check name Status Explanation
Title Check ✅ Passed The title "Add AXISFLYINGH7MINI" clearly and specifically describes the main change in the pull request—the introduction of a new configuration header file for the AXISFLYINGH7MINI flight controller board. The title is concise, directly related to the changeset, and provides enough clarity that a teammate reviewing git history would understand the primary change without ambiguity.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4d5afcd and 2f9d83b.

📒 Files selected for processing (1)
  • configs/AXISFLYINGH7MINI/config.h (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • configs/AXISFLYINGH7MINI/config.h

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@haslinghuis haslinghuis marked this pull request as draft June 23, 2025 18:35
Copy link
Contributor

@coderabbitai coderabbitai bot left a 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

🧹 Nitpick comments (3)
configs/AXISFLYINGH7MINI/config.h (3)

68-71: Document I2C bus usage.

Add inline comments indicating which sensors use I2C1 vs. I2C2 (e.g., barometer vs. external magnetometer) to aid future maintainers.


130-133: Reconsider default DSHOT implementation.

Hardware DSHOT support is available on STM32H7—using bitbang by default may underutilize built-in timers. Consider defaulting to hardware DSHOT or document why bitbang is preferred.


143-143: Add trailing newline.

Ensure the file ends with a newline to comply with POSIX text file conventions.

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 96eebb9 and 4d5afcd.

📒 Files selected for processing (1)
  • configs/AXISFLYINGH7MINI/config.h (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
configs/AXISFLYINGH7MINI/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 (8)
configs/AXISFLYINGH7MINI/config.h (8)

1-20: Skip license header review.

Standard GPL header appears consistent with other Betaflight configs.


22-28: Verify BOARD_NAME and MANUFACTURER_ID formatting.

Ensure these macros use the same literal style (e.g., quoted strings) as existing board configs for consistency in build scripts and UI display.


39-50: Validate motor & LED pin mappings against schematic.

Double-check that MOTOR1_PINMOTOR8_PIN and LED_STRIP_PIN assignments match the physical PCB silk-screen and that no GPIO remapping conflicts exist.


52-67: Missing UART5 pin assignments?

You specify TX/RX for USART1–4 and UART6–8 but skip USART5. Verify if USART5 is unavailable on STM32H743 or if its pins were overlooked.


103-112: Validate timer pin mapping against DMA streams.

Per retrieved learnings, confirm that the timers for motors (channels 0–7) and the LED strip (channel 8) do not share DMA streams used by SPI (flash, gyros, OSD) to avoid runtime collisions.


114-117: Confirm ADC DMA channel selections.

Ensure ADC1_DMA_OPT = 9, ADC2_DMA_OPT = 10, and ADC3_DMA_OPT = 11 correspond to the correct stream/channel mapping on STM32H743 so ADC sampling isn’t lost.


135-138: Verify PINIO box IDs.

Confirm that PINIO1_BOX = 40 and PINIO2_BOX = 41 align with the Betaflight UI/config schema for these configurable pins.


139-142: SPI instance assignments look correct.

GYRO_1_SPI_INSTANCE = SPI1 (PA5), GYRO_2_SPI_INSTANCE = SPI4 (PE12), FLASH_SPI_INSTANCE = SPI3 (PB3), and MAX7456_SPI_INSTANCE = SPI2 (PB13) align with the SCK pin definitions.

@haslinghuis haslinghuis marked this pull request as ready for review October 22, 2025 10:47
@haslinghuis haslinghuis requested a review from ot0tot October 31, 2025 18:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants