Add GEETAC591_V1 target#1129
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
WalkthroughAdds a new board configuration header ChangesGEETAC591_V1 Board Configuration
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Suggested reviewers
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 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.
Warning
CodeRabbit couldn't request changes on this pull request because it doesn't have sufficient GitHub permissions.
Please grant CodeRabbit Pull requests: Read and write permission and re-run the review.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@configs/GEETAC591_V1/config.h`:
- Around line 37-41: The configuration file contains conflicting references to
the external flash memory type: the comment block at lines 37-41 mentions
W25Q128, the comments at lines 93-96 reference W25Q256JV with JEDEC identifier
0xEF4019, and the macro definition at lines 102-106 enables USE_FLASH_W25Q128FV.
Determine the actual flash part installed on the board, then make all references
consistent by updating the descriptive comments at lines 37-41 and lines 93-96
to correctly name the flash part model and capacity, and ensure the macro
configuration at lines 102-106 (USE_FLASH_W25Q128FV or equivalent) accurately
reflects the actual part in use. This prevents confusion during device bring-up
and maintenance when capacity assumptions must be correct.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 6b22cd17-b003-44e0-a313-2c2b0373d379
📒 Files selected for processing (1)
configs/GEETAC591_V1/config.h
| // Config persists in the C591 internal flash (CONFIG_IN_FLASH, the default | ||
| // backend -- __config_start = 0x080FC000, a 16 KB region in the last two 8 KB | ||
| // pages of the 1 MB part). This avoids the early boot-time SPI3 read that the | ||
| // external flash (W25Q128) needs, which the C5 polled-SPI path corrupts before | ||
| // DMA is up. The W25Q128 still serves the blackbox. |
There was a problem hiding this comment.
Resolve conflicting external-flash identity (W25Q128 vs W25Q256).
Line 40 describes W25Q128, while Lines 93–96 describe W25Q256JV (JEDEC 0xEF4019), and Line 104 enables USE_FLASH_W25Q128FV. Please make the part/capacity declaration consistent across comments and macros to prevent bring-up confusion and incorrect capacity assumptions during maintenance.
Also applies to: 93-96, 102-106
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@configs/GEETAC591_V1/config.h` around lines 37 - 41, The configuration file
contains conflicting references to the external flash memory type: the comment
block at lines 37-41 mentions W25Q128, the comments at lines 93-96 reference
W25Q256JV with JEDEC identifier 0xEF4019, and the macro definition at lines
102-106 enables USE_FLASH_W25Q128FV. Determine the actual flash part installed
on the board, then make all references consistent by updating the descriptive
comments at lines 37-41 and lines 93-96 to correctly name the flash part model
and capacity, and ensure the macro configuration at lines 102-106
(USE_FLASH_W25Q128FV or equivalent) accurately reflects the actual part in use.
This prevents confusion during device bring-up and maintenance when capacity
assumptions must be correct.
There was a problem hiding this comment.
Pull request overview
Adds a new Betaflight target configuration for the GEETAC591_V1 flight controller (STM32C591), defining the board’s MCU, peripherals, and pin mappings so it can be built and used within the Betaflight target-config system.
Changes:
- Introduces a new target config header for GEETAC591_V1.
- Defines peripheral buses/devices (SPI IMU + OSD + flash, I2C baro/mag) and core IO (UARTs, ADC, beeper, LED strip, PINIO).
- Adds timer pin mapping intended for TIM8 motor outputs and LED strip output.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| #define BOARD_NAME GEETAC591_V1 | ||
| #define MANUFACTURER_ID GEET |
| // GEETAC591_V1 -- GEETA STM32C591 FC. Silkscreen reads "C593" but the placed | ||
| // part is an STM32C591RGT6 (LQFP64). C593 and C591 share an identical GPIO/USART | ||
| // alternate-function map, so the C591 platform target applies unchanged. | ||
| // Schematic: ~/src/ref/C591_2/STM32C593RGT6(0505).pdf | ||
|
|
| // Config persists in the C591 internal flash (CONFIG_IN_FLASH, the default | ||
| // backend -- __config_start = 0x080FC000, a 16 KB region in the last two 8 KB | ||
| // pages of the 1 MB part). This avoids the early boot-time SPI3 read that the | ||
| // external flash (W25Q128) needs, which the C5 polled-SPI path corrupts before | ||
| // DMA is up. The W25Q128 still serves the blackbox. |
| #define GYRO_1_EXTI_PIN PC4 | ||
| // Placeholder orientation -- verify against the physical board and adjust. | ||
| #define GYRO_1_ALIGN CW0_DEG |
| #define TIMER_PIN_MAPPING \ | ||
| TIMER_PIN_MAP(0, PC6, 2, -1) \ | ||
| TIMER_PIN_MAP(1, PC7, 2, -1) \ | ||
| TIMER_PIN_MAP(2, PC8, 2, -1) \ | ||
| TIMER_PIN_MAP(3, PC9, 2, -1) \ | ||
| TIMER_PIN_MAP(4, PA9, 1, -1) |
GEETAC591_V1 — GEETA STM32C591 flight controller (LQFP64; silk reads "C593" but the placed part is a C591RGT6).
Peripherals: LSM6DSK320X / ICM-42688P IMU on SPI1 (compile-both auto-detect), AT7456E OSD on SPI2, W25Q flash on SPI3, LPS22DF baro + external mag on I2C1, TIM8 motors, ADC, LED strip, PINIO, beeper. Config persists in internal flash.
Depends on betaflight/betaflight#15335 for the UART1/3/7 pin options on C591.
Summary by CodeRabbit
Release Notes