* Backport from ESP32
* Use new library layout (.../src)
* Cleanup test case.
* C++ style cast required.
* Whitespace
* Inlining via header has better baseline ROM footprint.
* Reordered functions for better code-compare to master
* Reduces ROM footprint some more.
* Avoid unnecessary parameter passing - refactoring, same generated footprint.
* Reformat example sources
* Use placement new for ETSTimer - no heap fragmentation, new/delete semantics unchanged.
* Make change completely invisible to derived classes at compile-time.
* Fix "sizeof() incomplete type ETSTimer" error.
* C++ reinterpret_cast<> instead of C-style cast.
void* instead of uint32_t - fixes x86_64 server compiles.
* Simplify casts.
* Revert to complete placement new treatment of ETSTimer member.
* Cleanup includes
* Fix omitted casts
* Change per review https://github.com/esp8266/Arduino/pull/6164#pullrequestreview-243583458
* wtf - local compile didn't catch this sloppy mistake
* Resolves review https://github.com/esp8266/Arduino/pull/6164#discussion_r290388119
* Reviewer stated that floating point operations are inlined, software operations -
reduce number of code spots to one.
* std::bind has issues with type inference, use lambdas whereever possible.
* Fix indentation.
* More descriptive placeholder name in lambda expression
* Use formal argument names for remaining currying placeholders
* Implementation of Functional and Scheduled option in Ticker lib
* Update example formatting
* More example updates
* More updates to example
* More updates to example
* lib/Ticker: add bool active()
Makes it easier to self detach, and check if a timer is still operating.
Signed-off-by: Karl Palsson <karlp@tweak.net.au>
* Code cleanup Ticker.cpp