betaflight / config

Betaflight target definitions
GNU General Public License v3.0
24 stars 85 forks source link

Added configuration files for BROTHERHOBBYF405V2, BROTHERHOBBYF405V3, and BROTHERHOBBYF722V3 flight controllers #454

Closed BrotherHobby closed 3 weeks ago

BrotherHobby commented 3 weeks ago

Description

Added configuration files for BROTHERHOBBYF405V2, BROTHERHOBBYF405V3, and BROTHERHOBBYF722V3 flight controllers. This includes:

Changes

Testing

Please review the changes and let me know if any adjustments are needed. Thank you!

ot0tot commented 3 weeks ago

No DMA assignment is possible for Motor 4 on the F405 targets, which means the FC must use bitbanged DShot and the gyro on SPI 1 cannot use DMA. This seems like a major oversight and will result in poor performance. IMO these targets need to be redesigned and should not be approved as-is.

haslinghuis commented 3 weeks ago

Please address https://github.com/betaflight/config/pull/454#issuecomment-2155181412

BrotherHobby commented 3 weeks ago

No DMA assignment is possible for Motor 4 on the F405 targets, which means the FC must use bitbanged DShot and the gyro on SPI 1 cannot use DMA. This seems like a major oversight and will result in poor performance. IMO these targets need to be redesigned and should not be approved as-is.

How should this be distributed?

BrotherHobby commented 3 weeks ago

No DMA assignment is possible for Motor 4 on the F405 targets, which means the FC must use bitbanged DShot and the gyro on SPI 1 cannot use DMA. This seems like a major oversight and will result in poor performance. IMO these targets need to be redesigned and should not be approved as-is.

How should this be distributed?

It has been modified, and you need to check whether it matches or not.

ot0tot commented 3 weeks ago

No DMA assignment is possible for Motor 4 on the F405 targets, which means the FC must use bitbanged DShot and the gyro on SPI 1 cannot use DMA. This seems like a major oversight and will result in poor performance. IMO these targets need to be redesigned and should not be approved as-is.

How should this be distributed?

It has been modified, and you need to check whether it matches or not.

Your change is invalid. Re-read my comment.

You are using pin B09 for Motor 4. This pin can be assigned to either timer TIM4_CH4 or TIM11_CH1, neither of which have possible DMA assignments.

Additionally, Motor 2 is using pin B07, which can only be assigned to TIM4_CH2. This timer DMA assignment conflicts with SPI2_RX, which is further compounded by the fact you have two peripherals sharing that bus.

You must re-design the F405-based FCs to use sensible pins for the motor outputs so that each pin has both timer and DMA assignments available, and so that those assignments do not conflict with the timer/DMA assignments needed for other peripherals (e.g. gyro, OSD, flash, ADC, LED_STRIP). While you're at it, make sure each peripheral has it's own SPI bus.

ot0tot commented 3 weeks ago

No DMA assignment is possible for Motor 4 on the F405 targets, which means the FC must use bitbanged DShot and the gyro on SPI 1 cannot use DMA. This seems like a major oversight and will result in poor performance. IMO these targets need to be redesigned and should not be approved as-is.

How should this be distributed?

It has been modified, and you need to check whether it matches or not.

Your change is invalid. Re-read my comment. You are using pin B09 for Motor 4. This pin can be assigned to either timer TIM4_CH4 or TIM11_CH1, neither of which have possible DMA assignments. Additionally, Motor 2 is using pin B07, which can only be assigned to TIM4_CH2. This timer DMA assignment conflicts with SPI2_RX, which is further compounded by the fact you have two peripherals sharing that bus. You must re-design the F405-based FCs to use sensible pins for the motor outputs so that each pin has both timer and DMA assignments available, and so that those assignments do not conflict with the timer/DMA assignments needed for other peripherals (e.g. gyro, OSD, flash, ADC, LED_STRIP). While you're at it, make sure each peripheral has it's own SPI bus.

Our FC Config file refers to the SpeedyBeeFC Config file in Betaflight, which should be no problem

The SPEEDYBEEF405V3 is the worst designed FC of the modern era and should only be used as an example of what NOT to do.

Unfortunately, the FC designs here are actually worse because they use the faster ICM42688p gyro (8 kHz) vs the BMI270 (3.2kHz) used by the SpeedyBee FC. Thus you absolutely need DMA for the gyro, which is not possible due to your selected motor outputs.

sugaarK commented 3 weeks ago

The SPEEDYBEEF405V3 is the worst designed FC of the modern era and should only be used as an example of what NOT to do.

Totally agree this FC is popular because of the war and it’s price. The fact it keeps been copied is mind boggling