-
Notifications
You must be signed in to change notification settings - Fork 161
Add AXISFLYING ARGUS ECO F4 #780
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?
Conversation
Co-authored-by: Mark Haslinghuis <[email protected]>
WalkthroughA new configuration header file for the AXISFLYINGECOF4 flight controller board has been introduced. This file defines the board's MCU, sensor support, peripheral pin assignments, timer mappings, ADC and I2C settings, default system parameters, and hardware abstraction macros for use in firmware development. Changes
Sequence Diagram(s)sequenceDiagram
participant Firmware
participant ConfigHeader
participant Hardware
Firmware->>ConfigHeader: Read board and peripheral macros
ConfigHeader-->>Firmware: Provide pin mappings and settings
Firmware->>Hardware: Initialize peripherals (sensors, UART, SPI, etc.) using config
Hardware-->>Firmware: Peripherals ready for use
Poem
Note ⚡️ AI Code Reviews for VS Code, Cursor, WindsurfCodeRabbit now has a plugin for VS Code, Cursor and Windsurf. This brings AI code reviews directly in the code editor. Each commit is reviewed immediately, finding bugs before the PR is raised. Seamless context handoff to your AI code agent ensures that you can easily incorporate review feedback. Note ⚡️ Faster reviews with cachingCodeRabbit now supports caching for code and dependencies, helping speed up reviews. This means quicker feedback, reduced wait times, and a smoother review experience overall. Cached data is encrypted and stored securely. This feature will be automatically enabled for all accounts on May 16th. To opt out, configure ✨ 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
CodeRabbit Configuration File (
|
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: 0
🧹 Nitpick comments (4)
configs/AXISFLYINGECOF4/config.h (4)
1-21
: Include SPDX license identifier
Adding an SPDX tag (// SPDX-License-Identifier: GPL-3.0-or-later
) at the top complements the existing GPL header and helps automated tooling recognize the license.
28-37
: Clarify barometer support and sensor grouping
You’ve enabled both BMP280 and DPS310 barometer macros—confirm that the board has two separate barometers or a shared bus. If only one is populated, remove the unusedUSE_BARO_*
macro. Also consider adding comment headers to group ACC, GYRO, BARO, FLASH, and OSD feature macros.
39-76
: Group related pin definitions with comments
For readability and maintainability, add comment headers (e.g.,// Motors
,// Servos
,// UART
,// I2C
) above each block of pin definitions so others can quickly locate and modify sections.
102-102
: Remove or document commented-out alignment macro
The//#define GYRO_1_ALIGN CW180_DEG
line is left in but inactive. Either delete it or add a TODO explaining when/why it should be enabled.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge Base: Disabled due to data retention organization setting
📒 Files selected for processing (1)
configs/AXISFLYINGECOF4/config.h
(1 hunks)
🔇 Additional comments (7)
configs/AXISFLYINGECOF4/config.h (7)
22-22
: Verify include-guard style consistency
This file uses#pragma once
. Please confirm that existing Betaflight config headers adopt#pragma once
rather than traditional#ifndef/#define/#endif
guards to maintain consistency.
24-26
: Validate target MCU and board identifiers
Ensure thatFC_TARGET_MCU = STM32F405
,BOARD_NAME = AXISFLYINGECOF4
, andMANUFACTURER_ID = AXFL
match the naming conventions and exact device part numbers used across the codebase (e.g., STM32F405RG vs. generic STM32F405).
77-85
: Validate timer-to-pin mapping accuracy
Please confirm that eachTIMER_PIN_MAP
entry correctly maps the chosen pin to the intended timer instance and channel on the STM32F405. A mis-map here could disable PWM outputs.
87-96
: Verify ADC and I²C instance selections
Double-check thatADC3
supports channels on PC1/PC2 (VBAT/CURR) and that both barometer and magnetometer can shareI2CDEV_1
without bus conflicts.
97-100
: Confirm pin-IO box configuration and user name
Ensure thatPINIO1_BOX = 40
,PINIO1_CONFIG = 129
, andBOX_USER1_NAME = "VTX PWR"
correctly represent the hardware wiring and UI label.
104-104
: FLASH_SPI_INSTANCE defined correctly
DefiningFLASH_SPI_INSTANCE
asSPI3
satisfies the earlier suggestion and matches the hardware wiring for the M25P16 flash chip.
39-76
:✅ Verification successful
Verify unique and conflict-free pin assignments
Conflicting pin definitions can cause hardware collisions. Run this script to detect duplicate_PIN
values in this file:
🏁 Script executed:
#!/bin/bash # Detect duplicate pin assignments awk '/#define .*_PIN/ {print $2, $3}' configs/AXISFLYINGECOF4/config.h | sort | uniq -dLength of output: 89
No duplicate pin assignments detected
Verified with the provided script—there are no conflicting_PIN
definitions in configs/AXISFLYINGECOF4/config.h.
Summary by CodeRabbit