Add ADC internal channels #539
Merged
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 PR add support of the following internal channels (ST HAL definitions):
ADC_CHANNEL_TEMPSENSOR
ADC_CHANNEL_VREFINT
ADC_CHANNEL_VBAT
analogRead()
can now be used with the following definitions:ATEMP
AVREF
AVBAT
A minimum ADC sampling time is required when reading internal channels so default is set it to max possible value. It can be defined more precisely by defining:
ADC_SAMPLINGTIME_INTERNAL
to the desired ADC sample time.
This PR also add some hardening:
ADC_HandleTypeDef
andADC_ChannelConfTypeDef
management across seriesADC_SAMPLINGTIME
andADC_CLOCK_DIV
could be redefined by the variant or usingbuild_opt.h
.Fix #474
Hereafter an usage example which read then convert to proper Unit the 3 internal channels + A0: