Closed BrotherHobby closed 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.
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?
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.
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.
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.
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
Description
Added configuration files for BROTHERHOBBYF405V2, BROTHERHOBBYF405V3, and BROTHERHOBBYF722V3 flight controllers. This includes:
config.h
for each flight controller.Changes
configs/BROTHERHOBBYF405V2/config.h
,configs/BROTHERHOBBYF405V3/config.h
, andconfigs/BROTHERHOBBYF722V3/config.h
.Testing
Please review the changes and let me know if any adjustments are needed. Thank you!