@@ -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