buttons: resistor ladder / analog buttons support #2357
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.
analogRead()
rangeTrying to follow defaults here - analog 'press' is digital LOW, default value is HIGH, so no additional cfg entries are needed besides pin, level and changing evt source
gpio
command, addadc
to showanalogRead(pin)
button
commandhttps://gitter.im/tinkerman-cat/espurna?at=5f5d44c8df4af236f902e25d - analog buttons
https://gitter.im/tinkerman-cat/espurna?at=5f60e7f1f969413294e95370 - per-button events source
@alextircovnicu can you check this out?
New config is:
BUTTON_PROVIDER_ANALOG_SUPPORT
BUTTON#_PIN
A0
, Arduino Core macro for the first ADC channel)BUTTON#_PROVIDER
BUTTON_PROVIDER_GENERIC
, for the analog support -BUTTON_PROVIDER_ANALOG
BUTTON#_ANALOG_LEVEL
analogRead()
when the button is pressed(or, at runtime via
btnGPIO0 => 17
,btnProv0 => 2
andbtnLevel0 => 500
respectively)To discover button values, terminal
adc
/adc 17
will show theanalogRead(A0)
result.button
will show button objects that were created.I only tested with 'Circuit 3' from https://github.com/bxparks/AceButton/tree/develop/docs/resistor_ladder as 1k <-> 220, 1k and 4.7k:
adc