Make Init, Enable, Disable and setPWM of drivers virtual #497
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This add the Virtual keyword to functions defined in BLDC6PWM, BLDC3PWM, Stepper2PWM, and Stepper4PWM, so that they can be overloaded further down the line with a call back to the original functionnality.
Use case for this is in the instance of the STSPIN32G4: Bootstrap capacitors need to be charged before any high level output can be requested to avoid triggering Vds protection by high side UVLO.
This is done by enabling the low side mosfets for a time (as described in the datasheet). Overloading the Enable functions allows for that to be done when needed, instead of all the time, as enabling the low side mosfets effectively brakes the motor.
The base class, FOCDriver, already has them virtual, so this adds no extra cost/vtable complexity.