@@ -42,7 +42,7 @@ class Ticker
4242 void attach(float seconds, callback_function_t callback)
4343 {
4444 _callback_function = std::move(callback);
45- _attach_ms (seconds * 1000 , true, _static_callback, this);
45+ _attach_s (seconds, true, _static_callback, this);
4646 }
4747
4848 void attach_ms(uint32_t milliseconds, callback_function_t callback)
@@ -58,7 +58,7 @@ class Ticker
5858 // C-cast serves two purposes:
5959 // static_cast for smaller integer types,
6060 // reinterpret_cast + const_cast for pointer types
61- _attach_ms (seconds * 1000 , true, reinterpret_cast<callback_with_arg_t>(callback), (void*)arg);
61+ _attach_s (seconds, true, reinterpret_cast<callback_with_arg_t>(callback), (void*)arg);
6262 }
6363
6464 template<typename TArg>
@@ -71,7 +71,7 @@ class Ticker
7171 void once(float seconds, callback_function_t callback)
7272 {
7373 _callback_function = std::move(callback);
74- _attach_ms (seconds * 1000 , false, _static_callback, this);
74+ _attach_s (seconds, false, _static_callback, this);
7575 }
7676
7777 void once_ms(uint32_t milliseconds, callback_function_t callback)
@@ -84,7 +84,7 @@ class Ticker
8484 void once(float seconds, void (*callback)(TArg), TArg arg)
8585 {
8686 static_assert(sizeof(TArg) <= sizeof(void*), "attach() callback argument size must be <= sizeof(void*)");
87- _attach_ms (seconds * 1000 , false, reinterpret_cast<callback_with_arg_t>(callback), (void*)arg);
87+ _attach_s (seconds, false, reinterpret_cast<callback_with_arg_t>(callback), (void*)arg);
8888 }
8989
9090 template<typename TArg>
@@ -103,8 +103,11 @@ class Ticker
103103
104104 callback_function_t _callback_function = nullptr;
105105
106- protected:
107106 esp_timer_handle_t _timer;
107+
108+ private:
109+ void _attach_us(uint32_t micros, bool repeat, callback_with_arg_t callback, void* arg);
110+ void _attach_s(float seconds, bool repeat, callback_with_arg_t callback, void* arg);
108111};
109112
110113
0 commit comments