Beablebone boards with DShot - Problems enabling DShot + PWM Outputs - Arducopter v4.3.0 Dev

Hi all,

I developed a DShot implementation for the Beaglebone PRU, and is working fine, and the idea is to have a mix of DShot + PWM outputs like, for instance, oBBBMini with 6 dshot(the first 6 outputs S1-S6) + 6 PWM outputs( S7-S12).
I made the code(PRU and Ardupilot) but I just can have outputs working when I set the output as a Motor.
For instance, If I set the Servo7 function as a motor - motor 1 for instance, the output 7 is enabled and I have a PWM ESC working. But if I set the Servo7 function as MountTilt( and enable the MNT as a Servo mount) the Servo7 output is not enabled by Ardupilot.
To use DShot I changed the MOT_PWM_TYPE to any dshot option (Dshot 300) and the SERVO_DSHOT_ESC to BLHeli32/BL_Heli_S/Kiss.

I read the parameters for the Arducopter v4.3.0 dev and there is a mention for this 2 parameters:
SERVO_BLH_MASK
SERVO_BLH_AUTO
that should be a mask to enable individual channels but I cant find this parameters - I changed this SERVO_DSHOT_ESC to 1, 2 or 0 but there is no SERVO_BLH_X enabled.
Any clue how can I set this channels (7-12) to PWM?

Thanks.

2 Likes

@juvinski Fantastic work!!! If I can assist you, I will try, just ping me.

2 Likes

Hi @mirkix
glad to hear from you :slight_smile:
I’m still trying to figure out how enable outputs as pwm instead of dshot - I reused your pwm code and added to my dshot code to do this mix between dshot and pwm, I migrate from the pasm to the ti pru compiler - was a harder work because the ti’s compiler is very tricky but is working fine right now, the only thing i need to discovery right now is how to mix the outputs with dshot and pwm.