1.5 - support multiple buttons through a resistor ladder
- 1.5 (2020-06-27)
- Add
LadderButtonConfig
class to support multiple buttons on a single
analog pin usinganalogRead()
. Add documentation in
docs/resistor_ladder.
Fixes Issue #43. - Add a virtual destructor for
ButtonConfig
, but only on the ESP8266 and
ESP32, to allow polymorphic objects to be created and deleted on the heap.
Fixes Issue #46. No
virtual destructor on 8-bit processors because it causes the flash memory
code size to increase by 600 bytes. - Use
ButtonConfig() = default
constructor implementation instead of
explicit empty body, saving 40-80 bytes. - Potential Breaking Change: Remove
src/AdjustableButtonConfig.h
and
src/ButtonConfig.h
files which were deprecated 2 years ago, and
contained nothing. - Breaking Change: Remove protected virtual method
ButtonConfig::init()
, replaced with publicresetFeatures()
, saving
a few dozen bytes of flash. - Breaking Change: Remove
TimingStats
fromButtonConfig
and
AceButton
. RemoveButtonConfig::setTimingStats()
and
ButtonConfig::getTimingStats()
. Reduces the code size by 13% (~150 out
of ~1150 bytes). - Breaking Change: Move
TimingStats.h
file into
src/ace_button/testing
and move intoace_button::testing
namespace. - Breaking Change: Remove unused
ButtonConfig::getClockMicros()
saving
a few dozen bytes. - All these changes result in reducing the code size by 350 bytes on a
SparkFun Pro Micro for a real-world app with 2 AceButtons and 1
ButtonConfig.
- Add