-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Timer DMA burst #9265
Timer DMA burst #9265
Conversation
Wow! Amazing! Let me test in a next few day! Thank you very much @shirase |
It must work on all F4 targets. |
This will certainly decrease the number of users asking about this in the future :) |
Very nice. I assume this should be a good fix for the Matek F405miniTE as well ? |
I was going to ask the very same thing! :) |
I do not have that board. Can someone test it? |
Added HAL library implementation. Now it can be used for all targets. Need to be tested. |
Tested with SPDBF405V3 and regular MatekF722 and everything seems to work fine.. If something is broken, we will find out what is it later :) |
Thank you very much much @shirase |
Thanks for adding DMAR support. Tested with MatekF405TE target, S3 on TIM1_CH3N still doesn't work. Betaflight, dshot_burst = OFF DMA1 Stream 0: FREE Betaflight, dshot_burst = ON DMA1 Stream 0: FREE |
Timer DMA burst
As mentioned in #9276, this PR apparently broke DShot beeper on all targets. Reverting it, makes DShot beeper work again even in targets that don't use the DMA burst mode. |
It works fine on DSHOT600. DSHOT300 - beeper not work. I will make fix. |
This reverts commit 17882da.
Are there disadvantages to using this? |
It can be used everywhere. But need tests for different boards. Do not enable if you do not have board for testing. |
Some FC, like SPEEDYBEEF405V3 do not have enouth DMA channels for timers. And some motors not works on DSHOT.
This PR fix it, by using dma burst mode. It need only one DMA channel for four timer channels.