Connect to Matek f405 Wing, RGB LED WS2812B. in 7 servo channel connected servo “VTailLeft”, in 8 servo channel connect WS2812B. As soon as I set the parameter SERVO 8_FUNCTION = 120, the LEDs start to work, but stops working 7 servo channel.
Is it a bug or a feature of f405?
I think this is expected because servo outputs 7,8 and 8 all share timer 1
I found the answer to my question here: https://ardupilot.org/copter/docs/common-matekf405-wing.html#dshot-capability
And you can ask the developers in the release for Matek F405 Wing, change the file " hwdef.dat"
PB7 TIM4_CH2 TIM4 PWM(1) GPIO(50)
PB6 TIM4_CR1 TIM4 PWM (2) GPIO (51)
TIM3_CH3 PB0 TIM3 PWM(3) GPIO(52)
TIM3_CH4 PB1 TIM3 PWM(4) GPIO(53)
PC8 TIM8_CH3 TIM8 PWM(5) GPIO(54)
PC9 TIM8_CH4 TIM8 PWM(6) GPIO(55)
PB14 TIM8_CH2N TIM8 PWM(7) GPIO(56)
PB15 TIM1_CH3N TIM1 PWM(8) GPIO(57)
PA8 TIM1_CR1 IR1 PWM(9) GPIO(58)
So it is more convenient to use NeoPixel. An 8-channel diode can be connected, and channels 1-7 can still be used to connect servos.
feel free to open a PR against master.
Just a question for my own knowledge. Is this simply a matter of changing the hwdef and re-compiling? I thought it was more hardware dependent but I don’t really know hence the question.
I recompiled by changing hwdef, everything works fine.
Thank you for the info!
It’s too complicated for me…
If you can compile the code, doing a git PR is not too complicated. Have you committed your changes to GitHub somewhere?
As I understand, all changes only at me on a disk. Recompiled according to these instructions:
On windows i would suggest setting up github-desktop just point it to your ardupilot directory, it should then spot the changes and let you commit them and publish the branch. Then you can create the PR from the autopilot GitHub web-page.
Servo8 is the LED pad? I also have F405wing. set SERVO 8_FUNCTION = 120. but it did not work.