Simplification of implementation for new position sensors and current senses: generic sensor classes #145
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.
A new approach for easier support of different sensors in the SimpleFOC.
I've created generic implementations for the position sensor (
GenericSensor
) and current sense (GenericCurrentSense
).Generic position sensor
GenericSensor
requires the user to provide thesensor.readCallback
function pointer which returns the float angle reading in between 0 and 2PI. Everything else is handled by theGenericSensor
class. Additionally the user can provide the initialisation routine alsosensor.initCallback
which if provided is called in thesensor.init()
. There are two ways of providing the functions to theGenericSensor
or
Generic current sense
GenericCurrentSense
requires the user to provide thecurrent_sense.readCallback
function pointer which returns the PhaseCurrent_s stucture with current readings in Ampers. Everything else is handled by theGenericCurrentSense
class. Additionally the user can provide the initialisation routine alsocurrent_sense.initCallback
which if provided is called in thecurrent_sense.init()
. There are two ways of providing the functions to theGenericCurrentSense
or
I hope this will speed up and simplify the process of supporting the new sensors!