Greetings all,
I am currently working on a new build config based on the existing crazyflie config, which uses the Big Quad expansion deck. This requires that the PWM output channels for the motors are changed in the board driver.
The original crazyflie used pins PA0, PB11, PA15, and PB9, to drive the motors. However, the Big Quad deck uses pins PA2, PA3, PB4, and PB5 for this function.
I attempted to implement this functionality by modifying the PWM timer defines in board_config.h, and I also changed the struct tables in crazyflie_timer_config.c, to use the correct timer channels. Lastly, I enabled the new timers, and disabled the old ones, in the nuttx-config defconfig.
Unfortunately, the PWM is still being output on the old pins, and not the ones that I need. Why is this happening? Why are the old PWM channels being used, despite the fact that the timers for those channels are no longer configured, and presumably should not even be enabled?
I am happy to share my code with you all! When I have things working and tested, I intend to contribute my board configuration back to the PX4/Firmware repository.
Regards,
Joseph
EDIT: it appears that the old PWM pins are outputing 1Hz, 50% duty signals. Further, this waveform is not modified by changing the PWM parameters in qgroundcontrol, so I assume that this behavior is not caused by the servo driver.