From 30d7970262b5c875e3ab6f8593f975015ba12e5a Mon Sep 17 00:00:00 2001 From: Karl Palsson Date: Thu, 1 Dec 2016 23:16:34 +0000 Subject: [PATCH 1/2] lib/Ticker: add bool active() Makes it easier to self detach, and check if a timer is still operating. Signed-off-by: Karl Palsson --- libraries/Ticker/Ticker.cpp | 9 +++++++++ libraries/Ticker/Ticker.h | 2 ++ libraries/Ticker/keywords.txt | 1 + 3 files changed, 12 insertions(+) diff --git a/libraries/Ticker/Ticker.cpp b/libraries/Ticker/Ticker.cpp index b348798c66..cf394d0211 100644 --- a/libraries/Ticker/Ticker.cpp +++ b/libraries/Ticker/Ticker.cpp @@ -68,3 +68,12 @@ void Ticker::detach() delete _timer; _timer = 0; } + +bool Ticker::active() +{ + if (_timer) { + return true; + } else { + return false; + } +} diff --git a/libraries/Ticker/Ticker.h b/libraries/Ticker/Ticker.h index ea3f59f1cc..74725fb76d 100644 --- a/libraries/Ticker/Ticker.h +++ b/libraries/Ticker/Ticker.h @@ -23,6 +23,7 @@ #define TICKER_H #include +#include #include extern "C" { @@ -93,6 +94,7 @@ class Ticker } void detach(); + bool active(); protected: void _attach_ms(uint32_t milliseconds, bool repeat, callback_with_arg_t callback, uint32_t arg); diff --git a/libraries/Ticker/keywords.txt b/libraries/Ticker/keywords.txt index 89cca9a0cf..b5701b5be9 100644 --- a/libraries/Ticker/keywords.txt +++ b/libraries/Ticker/keywords.txt @@ -15,6 +15,7 @@ attach_ms KEYWORD2 once KEYWORD2 once_ms KEYWORD2 detach KEYWORD2 +active KEYWORD2 ####################################### # Instances (KEYWORD2) From 27ac4253c90475a8bdf138668d8ce19e1e3f0071 Mon Sep 17 00:00:00 2001 From: Develo Date: Thu, 4 Jan 2018 23:59:26 -0300 Subject: [PATCH 2/2] Code cleanup Ticker.cpp --- libraries/Ticker/Ticker.cpp | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/libraries/Ticker/Ticker.cpp b/libraries/Ticker/Ticker.cpp index cf394d0211..dee3a6363d 100644 --- a/libraries/Ticker/Ticker.cpp +++ b/libraries/Ticker/Ticker.cpp @@ -22,20 +22,18 @@ #include #include -extern "C" { #include "c_types.h" #include "eagle_soc.h" #include "ets_sys.h" #include "osapi.h" -} -const int ONCE = 0; -const int REPEAT = 1; +static const int ONCE = 0; +static const int REPEAT = 1; #include "Ticker.h" Ticker::Ticker() -: _timer(0) +: _timer(nullptr) { } @@ -66,14 +64,10 @@ void Ticker::detach() os_timer_disarm(_timer); delete _timer; - _timer = 0; + _timer = nullptr; } bool Ticker::active() { - if (_timer) { - return true; - } else { - return false; - } + return (bool)_timer; }