Open shellixyz opened 3 years ago
Can you expand a little on what you are trying to do and expect to happen?
Sure. BLH32 has two "3D" aka reversible modes. 3D and bidir soft. Bidir soft is a less aggressive reversion compared to 3D. It seems like RCOutput::set_reversible_mask()
now forces 3D mode when the output is configured as bidirectional with SERVO_BLH_BDMASK
no matter what has been configured on the ESC manually so it is not possible to use the soft bidir mode.
for (uint8_t i=0; i<HAL_PWM_COUNT; i++) {
if (chanmask & (1U<<i)) {
switch (_dshot_esc_type) {
case DSHOT_ESC_BLHELI:
send_dshot_command(DSHOT_3D_ON, i, 0, 10, true);
break;
default:
break;
}
}
}
Unfortunately it looks like there is only a DSHOT command to enable 3D mode but no command to enable soft bidir instead.
I guess what could be done is add a param to chose whether AP should force 3D mode by itself or leave the current ESC setting
Ok so I guess currently you can leave SERVO_DSHOT_ESC = 0 and it will work but then you lose the other dshot command features. I can ask Steffen about adding soft bi-dir. You are right that adding a parameter probably makes sense, or maybe an option bit to 3DMASK.
Ok so I guess currently you can leave SERVO_DSHOT_ESC = 0 and it will work but then you lose the other dshot command features.
No DSHOT commands means no bidir with DSHOT at all and also less importantly for me at least no audio notifications and no LED control
No DSHOT commands means no bidir with DSHOT at all
I don't understand what you mean here? dshot commands are not required for bi-directional dshot and soft 3D can be set on the ESC?
No DSHOT commands means no bidir with DSHOT at all
I don't understand what you mean here? dshot commands are not required for bi-directional dshot and soft 3D can be set on the ESC?
My bad, you are right, DSHOT commands are not needed for bidir/revthrust so yes indeed SERVO_DSHOT_ESC = 0 would fix the issue but then losing the other DSHOT command features
Bug report
Issue details
It is impossible to use BLHeli's bidir soft mode since
RCOutput::set_reversible_mask()
switches the ESC to 3D mode overriding the mode set in BLHeli suite if the output is marked as reversibleVersion
current master branch
Platform [X] All [ ] AntennaTracker [ ] Copter [ ] Plane [ ] Rover [ ] Submarine