-
Notifications
You must be signed in to change notification settings - Fork 205
add STARTFPVG473 config floder and config.h #892
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,110 @@ | ||
| /* | ||
| * This file is part of Betaflight. | ||
| * | ||
| * Betaflight is free software. You can redistribute this software | ||
| * and/or modify this software under the terms of the GNU General | ||
| * Public License as published by the Free Software Foundation, | ||
| * either version 3 of the License, or (at your option) any later | ||
| * version. | ||
| * | ||
| * Betaflight is distributed in the hope that it will be useful, | ||
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
| * | ||
| * See the GNU General Public License for more details. | ||
| * | ||
| * You should have received a copy of the GNU General Public | ||
| * License along with this software. | ||
| * | ||
| * If not, see <http://www.gnu.org/licenses/>. | ||
| */ | ||
| /*it's test file*/ | ||
|
|
||
| #pragma once | ||
|
|
||
| #define FC_TARGET_MCU STM32G47X | ||
|
|
||
| #define BOARD_NAME STARTFPVG473 | ||
| #define MANUFACTURER_ID ST | ||
|
|
||
| #define USE_ACC | ||
| #define USE_GYRO | ||
| #define USE_ACC_SPI_ICM42688P | ||
| #define USE_GYRO_SPI_ICM42688P | ||
| #define USE_ACCGYRO_BMI270 | ||
| #define USE_BARO | ||
| #define USE_BARO_BMP280 | ||
| #define USE_BARO_DPS310 | ||
| #define USE_FLASH | ||
| #define USE_FLASH_M25P16 | ||
| #define USE_MAX7456 | ||
|
|
||
| #define BEEPER_PIN PA8 | ||
| #define MOTOR1_PIN PB0 | ||
| #define MOTOR2_PIN PB1 | ||
| #define MOTOR3_PIN PB6 | ||
| #define MOTOR4_PIN PC13 | ||
| #define LED_STRIP_PIN PB2 | ||
|
Comment on lines
+42
to
+47
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Verification agent 🧩 Analysis chainMotor/LED/beeper pin sanity check
Please confirm the actual copper routing and intended timers for MOTOR4 and LED_STRIP. If MOTOR4 cannot stay on PC13, reassign to a valid timer pin before hardware freeze. 🏁 Script executed: #!/bin/bash
# Locate timer mapping file
TIMER_FILE=$(fd timer_stm32f4xx.c | head -n1)
echo "Timer mapping file: $TIMER_FILE"
# Check for PC13 mapping (motor4)
echo "=== PC13 mappings ==="
rg -n "PC13" -C2 "$TIMER_FILE" || echo "No mapping for PC13 found"
# Check for PB2 mapping (LED strip)
echo "=== PB2 mappings ==="
rg -n "PB2" -C2 "$TIMER_FILE" || echo "No mapping for PB2 found"
# Show beginning of the STARTFPVG473 config
echo "=== STARTFPVG473/config.h (lines 1–100) ==="
sed -n '1,100p' configs/STARTFPVG473/config.h
# Look for timer pin mapping overrides in this config
echo "=== TIMER_PIN_MAPPING in STARTFPVG473/config.h ==="
rg -n "TIMER_PIN_MAPPING" -C2 configs/STARTFPVG473/config.hLength of output: 4550 🏁 Script executed: #!/bin/bash
# Locate the STM32G4 timer mapping file
TIMER_FILE=$(fd timer_stm32g4xx.c | head -n1)
echo "Timer mapping file: $TIMER_FILE"
# Show DEF_TIM entries for PC13 and PB2 in the STM32G4 mapping
echo "=== DEF_TIM entries for PC13 in $TIMER_FILE ==="
grep -R "DEF_TIM.*PC13" "$TIMER_FILE" || echo "No DEF_TIM for PC13 found"
echo "=== DEF_TIM entries for PB2 in $TIMER_FILE ==="
grep -R "DEF_TIM.*PB2" "$TIMER_FILE" || echo "No DEF_TIM for PB2 found"
# Show the pin-to-timer map (timerPinMap) section
echo "=== timerPinMap array in $TIMER_FILE ==="
grep -R "timerPinMap" -n "$TIMER_FILE" -A5 -B2 || echo "timerPinMap array not found"
# Locate the macro definition for TIMER_PIN_MAP across the repo
echo "=== TIMER_PIN_MAP macro definition in repo ==="
grep -R "#define TIMER_PIN_MAP" -n .Length of output: 37631 🏁 Script executed: #!/bin/bash
echo "Timer files in bf/src/platform/STM32:"
ls -1 bf/src/platform/STM32 | grep timer
echo "Searching DEF_TIM entries for PC13 in timer mapping files:"
grep -R "DEF_TIM.*PC13" bf/src/platform/STM32/timer*.c || echo "No mapping for PC13 found in any timer file"
echo "Searching DEF_TIM entries for PB2 in timer mapping files:"
grep -R "DEF_TIM.*PB2" bf/src/platform/STM32/timer*.c || echo "No mapping for PB2 found in any timer file"Length of output: 1427 Fix invalid TIMER_PIN_MAPPING for MOTOR4 and LED_STRIP
🤖 Prompt for AI Agents |
||
| #define UART1_TX_PIN PA9 | ||
| #define UART2_TX_PIN PA2 | ||
| #define UART3_TX_PIN PB10 | ||
| #define UART4_TX_PIN PC10 | ||
| #define UART1_RX_PIN PA10 | ||
| #define UART2_RX_PIN PA3 | ||
| #define UART3_RX_PIN PB11 | ||
| #define UART4_RX_PIN PC11 | ||
| #define I2C1_SCL_PIN PA15 | ||
| #define I2C1_SDA_PIN PB7 | ||
| #define LED0_PIN PC15 | ||
| #define LED1_PIN PC14 | ||
| #define SPI1_SCK_PIN PA5 | ||
| #define SPI2_SCK_PIN PB13 | ||
| #define SPI3_SCK_PIN PB3 | ||
| #define SPI1_SDI_PIN PA6 | ||
| #define SPI2_SDI_PIN PB14 | ||
| #define SPI3_SDI_PIN PB4 | ||
| #define SPI1_SDO_PIN PA7 | ||
| #define SPI2_SDO_PIN PB15 | ||
| #define SPI3_SDO_PIN PB5 | ||
| #define ADC_VBAT_PIN PA0 | ||
| #define ADC_CURR_PIN PA1 | ||
| #define FLASH_CS_PIN PB9 | ||
| #define MAX7456_SPI_CS_PIN PB12 | ||
| #define GYRO_1_EXTI_PIN PC4 | ||
| #define GYRO_1_CS_PIN PA4 | ||
|
|
||
| #define TIMER_PIN_MAPPING \ | ||
| TIMER_PIN_MAP( 0, PB2, 1, 1 ) \ | ||
| TIMER_PIN_MAP( 1, PB0, 1, 2 ) \ | ||
| TIMER_PIN_MAP( 2, PB1, 1, 3 ) \ | ||
| TIMER_PIN_MAP( 3, PB6, 3, 4 ) \ | ||
| TIMER_PIN_MAP( 4, PC13, 2, 5 ) | ||
|
Comment on lines
+76
to
+81
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Verification agent 🧩 Analysis chainTIMER_PIN_MAPPING contains invalid entries
Please correct the map using g4 backend references. As an example pattern (not a final proposal—use what your PCB supports): #define TIMER_PIN_MAPPING \
/* LED_STRIP: pick a DMA-capable timer channel */ \
TIMER_PIN_MAP( 0, PB2, 3, 4 ) /* e.g., TIM3_CH4 for LED */ \
/* Motors on real timer channels */ \
TIMER_PIN_MAP( 1, PB0, 3, 3 ) /* TIM3_CH3 */ \
TIMER_PIN_MAP( 2, PB1, 3, 4 ) /* TIM3_CH4 */ \
TIMER_PIN_MAP( 3, PB6, 4, 1 ) /* TIM4_CH1 */ \
/* Replace PC13 with a valid pin, e.g., PC6 TIM8_CH1 if routed */ \
/* TIMER_PIN_MAP( 4, PC6, 8, 1 ) */Use serial_uart_stm32g4xx.c and timer_stm32g4xx.c as the source of truth. 🏁 Script executed: #!/bin/bash
# Locate the STARTFPVG473 board config header
fd STARTFPVG473/config.hLength of output: 26 🏁 Script executed: #!/bin/bash
# Find directory or files related to STARTFPVG473
fd -t f -I STARTFPVG473 || true
# Locate any headers mentioning STARTFPVG473
rg -l STARTFPVG473 -g '*.h' || true
# Check TIMER_PIN_MAPPING definitions across configs for similar patterns
rg -n "TIMER_PIN_MAPPING" -g 'configs/**' || trueLength of output: 35339 🏁 Script executed: #!/bin/bash
sed -n '60,100p' configs/STARTFPVG473/config.hLength of output: 1174 🏁 Script executed: #!/bin/bash
# Show initial config including TIMER_PIN_MAPPING
sed -n '1,100p' configs/STARTFPVG473/config.h
# Locate the STM32 G4 timer implementation
fd src/platform/STM32/timer_stm32g4xx.c
# Display the timer pin definitions and mapping function
sed -n '1,200p' src/platform/STM32/timer_stm32g4xx.c
# Check for any mapping entries for PC13
grep -R "PC13" -n src/platform/STM32/timer_stm32g4xx.c || trueLength of output: 3024 🏁 Script executed: #!/bin/bash
# List STM32 platform directories
fd -t d -I 'STM32*' src/platform
# Find any G4 timer implementation files
fd -t f -I 'timer_stm32g4*' .Length of output: 208 🏁 Script executed: #!/bin/bash
# View first 200 lines of the G4 timer implementation
sed -n '1,200p' bf/src/platform/STM32/timer_stm32g4xx.c
# List all DEF_TIM mappings
grep -R "DEF_TIM" -n bf/src/platform/STM32/timer_stm32g4xx.c
# Check for any PC13 entries
grep -R "PC13" -n bf/src/platform/STM32/timer_stm32g4xx.c || trueLength of output: 10841 Fix TIMER_PIN_MAPPING timer instances and pin support
🤖 Prompt for AI Agents |
||
|
|
||
| #define ADC1_DMA_OPT 6 | ||
|
|
||
| #define SPI1_TX_DMA_OPT 14 | ||
| #define SPI2_TX_DMA_OPT 10 | ||
| #define SPI3_TX_DMA_OPT 9 | ||
| #define SPI1_RX_DMA_OPT 13 | ||
| #define SPI2_RX_DMA_OPT 11 | ||
| #define SPI3_RX_DMA_OPT 8 | ||
|
|
||
| #define VTX_SMARTAUDIO_UART SERIAL_PORT_USART2 | ||
| #define SERIALRX_UART SERIAL_PORT_USART3 | ||
|
|
||
| #define BARO_I2C_INSTANCE I2CDEV_1 | ||
| #define MAG_I2C_INSTANCE I2CDEV_1 | ||
| #define SERIALRX_PROVIDER SERIALRX_CRSF | ||
| #define DEFAULT_BLACKBOX_DEVICE BLACKBOX_DEVICE_FLASH | ||
| //TODO #define DSHOT_IDLE_VALUE 450 | ||
| #define DEFAULT_DSHOT_BURST DSHOT_DMAR_OFF | ||
| #define DEFAULT_DSHOT_BITBANG DSHOT_BITBANG_ON | ||
| #define DEFAULT_CURRENT_METER_SOURCE CURRENT_METER_ADC | ||
| #define DEFAULT_VOLTAGE_METER_SOURCE VOLTAGE_METER_ADC | ||
| #define DEFAULT_CURRENT_METER_SCALE 750 | ||
| #define BEEPER_INVERTED | ||
| #define SYSTEM_HSE_MHZ 8 | ||
| #define MAX7456_SPI_INSTANCE SPI2 | ||
| #define FLASH_SPI_INSTANCE SPI3 | ||
| #define GYRO_1_SPI_INSTANCE SPI1 | ||
| #define GYRO_1_ALIGN CW180_DEG | ||
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.
💡 Verification agent
🧩 Analysis chain
Confirm STM32G47X is a supported target macro
Please verify STM32G47X is recognized by Betaflight (timer/serial/DMA backends exist for G4xx). If not, builds will fail.
Run:
🏁 Script executed:
Length of output: 2882
🏁 Script executed:
Length of output: 1007
🏁 Script executed:
Length of output: 150
Use STM32G474xx as the target macro
Update FC_TARGET_MCU in configs/STARTFPVG473/config.h (line 25) from
STM32G47XtoSTM32G474xx. Betaflight’s STM32G4.mk only definesSTM32G474xx—STM32G47Xisn’t recognized, so the build will fail.🤖 Prompt for AI Agents