fix ADC management for pure analog on GIGA #784
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 allows to fix the management of the pure analogs on GIGA, the issue was that the pure analog pins have not been considered on the g_APinDescription array, this results on miss an offset of 4 elements when a g_AAnalogPinDescription's pin was select in the analogRead() in wiring_Analog.cpp.
The consequence is that the macros involved in Pin and ADC selection, could potentially identify an ADC assigned to the pure analog pins as the ADC channel for all those analog listed after the pin A11 in g_AAnalogPinDescription array in the variant.cpp and than read the ADC channel of the pure analog pins instead of the correct one (e. g. A8 for A12, A9 for A13 and so on and so forth).
The Fix split the two kind of analog pin in order that the correct offset is provided during reading time and manage the pure analog and the other analogs pin as a different entities inside the pins management.
This PR fixes #758