Conversation
WalkthroughAdds a new board configuration header Changes
Sequence Diagram(s)(Skipped — change is a single board config header without multi-component runtime control-flow changes.) Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested labels
Suggested reviewers
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
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
📒 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_PIN–MOTOR8_PINandLED_STRIP_PINassignments 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, andADC3_DMA_OPT = 11correspond to the correct stream/channel mapping on STM32H743 so ADC sampling isn’t lost.
135-138: Verify PINIO box IDs.Confirm that
PINIO1_BOX = 40andPINIO2_BOX = 41align 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), andMAX7456_SPI_INSTANCE = SPI2(PB13) align with the SCK pin definitions.
Co-authored-by: Osiris Inferi <github@flut.nl.eu.org>
There was a problem hiding this comment.
🧹 Nitpick comments (1)
configs/AXISFLYINGH7MINI/config.h (1)
140-141: Consider addingDEFAULT_GYRO_TO_USEif dual gyro operation is intended.The config defines
GYRO_2_SPI_INSTANCEon SPI4, similar to the AOCODARCH7DUAL reference board which also definesDEFAULT_GYRO_TO_USE GYRO_CONFIG_USE_GYRO_BOTH. If both gyros are meant to be active by default, add:`#define` DEFAULT_GYRO_TO_USE GYRO_CONFIG_USE_GYRO_BOTHIf only the primary gyro is intended with the second as an optional/alternate, the current config is fine.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@configs/AXISFLYINGH7MINI/config.h` around lines 140 - 141, Add an explicit default gyro selection to match the dual-gyro wiring: if both gyros defined by GYRO_1_SPI_INSTANCE and GYRO_2_SPI_INSTANCE should be active by default, define DEFAULT_GYRO_TO_USE to GYRO_CONFIG_USE_GYRO_BOTH; otherwise leave as-is to keep only the primary active. Locate where GYRO_1_SPI_INSTANCE and GYRO_2_SPI_INSTANCE are declared and add the DEFAULT_GYRO_TO_USE definition nearby using the symbol GYRO_CONFIG_USE_GYRO_BOTH when enabling both.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@configs/AXISFLYINGH7MINI/config.h`:
- Around line 140-141: Add an explicit default gyro selection to match the
dual-gyro wiring: if both gyros defined by GYRO_1_SPI_INSTANCE and
GYRO_2_SPI_INSTANCE should be active by default, define DEFAULT_GYRO_TO_USE to
GYRO_CONFIG_USE_GYRO_BOTH; otherwise leave as-is to keep only the primary
active. Locate where GYRO_1_SPI_INSTANCE and GYRO_2_SPI_INSTANCE are declared
and add the DEFAULT_GYRO_TO_USE definition nearby using the symbol
GYRO_CONFIG_USE_GYRO_BOTH when enabling both.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 7467bb60-a914-4013-b413-1cc961b26011
📒 Files selected for processing (1)
configs/AXISFLYINGH7MINI/config.h
| #define DEFAULT_VOLTAGE_METER_SOURCE VOLTAGE_METER_ADC | ||
| #define BEEPER_INVERTED | ||
| #define LED0_INVERTED | ||
| #define PINIO1_CONFIG 129 |
There was a problem hiding this comment.
Should we add box labels to these user boxes?
| #define USE_FLASH_W25Q128FV | ||
| #define USE_MAX7456 | ||
|
|
||
| #define BEEPER_PIN PA15 |
There was a problem hiding this comment.
TIM2 should be open for passive buzzer support
Checklist
Summary by CodeRabbit