Skip to content
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

Add a new target kakuteF4wing #456

Merged
merged 4 commits into from
Oct 11, 2024

Conversation

jamming
Copy link
Contributor

@jamming jamming commented Jun 11, 2024

KakuteF4wing is made smaller and lighter. It cover an area of 25x30mm.

  1. 6 PWM channel are: 2 motor pads and 4 servo with THT
  2. 5 serial ports, one with inverter on the RX of a UART for traditional SBUS
  3. 1 external I2C
  4. analog OSD
  5. Independent 5V 3A BEC for servo
    6)16MB onboard flash memory
  6. Based on STM32F405
  7. Simple PDB with 2BECs (5V/3A)
  8. 2 ADC
  9. Shunt resistance up to 90A.

haslinghuis
haslinghuis previously approved these changes Jun 12, 2024
@ot0tot
Copy link
Contributor

ot0tot commented Jun 12, 2024

Which pins are motor outputs and which are servo outputs? Should the servos be assigned as a SERVO resource instead of a MOTOR resource?

As-is, motors 1-4 conflict with DMA for SPI3 (flash), which will cause poor blackbox performance if they are used for DShot output.

Also, LED_STRIP on PA1 has a DMA conflict with SPI2_TX, which will negatively impact analog OSD when LED_STRIP is enabled.

@haslinghuis haslinghuis dismissed their stale review June 12, 2024 08:04

Design issues

@jamming
Copy link
Contributor Author

jamming commented Jun 13, 2024

I am not aware that FLASH and OSD also need to use DMA. This board is currently a prototype board, and I will change the pinmap and test them in the next two days to ensure that TIMER and all SPIs have DMA.
The new DMA MAP will be as follows:

# DMA1 Stream 0  :  SPI3_RX      :FLASH
# DMA1 Stream 2  :  TIM3_CH4  :PWM4
# DMA1 Stream 3  :  SPI2_RX      :OSD
# DMA1 Stream 4  :  SPI2_TX      :OSD
# DMA1 Stream 5  :  SPI3_TX      :FLASH
# DMA1 Stream 6  :  TIM2_CH2  :LED_STRIP
# DMA1 Stream 7  :  TIM3_CH3  :PWM3

# DMA2 Stream 0  :  SPI1_RX       :IMU
# DMA2 Stream 1  :  TIM1_CH1  :PWM1
# DMA2 Stream 2  :  TIM8_CH3  :PWM5
# DMA2 Stream 4  :  ADC1          :BAT_I/V
# DMA2 Stream 5  :  SPI1_TX      :IMU
# DMA2 Stream 6  :  TIM1_CH2  :PWM2
# DMA2 Stream 7  :  TIM8_CH4  :PWM6

Thank you for your help!

Which pins are motor outputs and which are servo outputs? Should the servos be assigned as a SERVO resource instead of a MOTOR resource?

As-is, motors 1-4 conflict with DMA for SPI3 (flash), which will cause poor blackbox performance if they are used for DShot output.

Also, LED_STRIP on PA1 has a DMA conflict with SPI2_TX, which will negatively impact analog OSD when LED_STRIP is enabled.

@sugaarK
Copy link
Member

sugaarK commented Jun 29, 2024

@sugaarK
Copy link
Member

sugaarK commented Jul 10, 2024

sorry @jamming you guys are now part of the partner program so the new scheme other than working out resource and timer/DMA conflicts doesn't apply to you guys

@haslinghuis haslinghuis merged commit 3a41ad8 into betaflight:master Oct 11, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants