@@ -40,27 +40,37 @@ class Ticker
40
40
typedef void (*callback_with_arg_t )(void *);
41
41
typedef std::function<void (void )> callback_function_t ;
42
42
43
+ void attach_scheduled (float seconds, callback_function_t callback)
44
+ {
45
+ attach (seconds, [callback]() { schedule_function (callback); });
46
+ }
47
+
43
48
void attach (float seconds, callback_function_t callback)
44
49
{
45
50
_callback_function = std::move (callback);
46
51
_attach_s (seconds, true , _static_callback, this );
47
52
}
48
53
54
+ void attach_ms_scheduled (uint32_t milliseconds, callback_function_t callback)
55
+ {
56
+ attach_ms (milliseconds, [callback]() { schedule_function (callback); });
57
+ }
58
+
49
59
void attach_ms (uint32_t milliseconds, callback_function_t callback)
50
60
{
51
61
_callback_function = std::move (callback);
52
62
_attach_ms (milliseconds, true , _static_callback, this );
53
63
}
54
64
55
- void attach_us (uint32_t micros, callback_function_t callback)
65
+ void attach_us_scheduled (uint32_t micros, callback_function_t callback)
56
66
{
57
- _callback_function = std::move (callback);
58
- _attach_us (micros, true , _static_callback, this );
67
+ attach_us (micros, [callback]() { schedule_function (callback); } );
68
+ }
59
69
60
- void attach_ms (uint32_t milliseconds , callback_function_t callback)
70
+ void attach_us (uint32_t micros , callback_function_t callback)
61
71
{
62
72
_callback_function = std::move (callback);
63
- _attach_ms (milliseconds , true , _static_callback, this );
73
+ _attach_us (micros , true , _static_callback, this );
64
74
}
65
75
66
76
template <typename TArg>
@@ -86,19 +96,34 @@ class Ticker
86
96
static_assert (sizeof (TArg) <= sizeof (void *), " attach() callback argument size must be <= sizeof(void*)" );
87
97
_attach_us (micros, true , reinterpret_cast <callback_with_arg_t >(callback), (void *)arg);
88
98
}
89
-
99
+
100
+ void once_scheduled (float seconds, callback_function_t callback)
101
+ {
102
+ once (seconds, [callback]() { schedule_function (callback); });
103
+ }
104
+
90
105
void once (float seconds, callback_function_t callback)
91
106
{
92
107
_callback_function = std::move (callback);
93
108
_attach_s (seconds, false , _static_callback, this );
94
109
}
95
110
111
+ void once_ms_scheduled (uint32_t milliseconds, callback_function_t callback)
112
+ {
113
+ once_ms (milliseconds, [callback]() { schedule_function (callback); });
114
+ }
115
+
96
116
void once_ms (uint32_t milliseconds, callback_function_t callback)
97
117
{
98
118
_callback_function = std::move (callback);
99
119
_attach_ms (milliseconds, false , _static_callback, this );
100
120
}
101
121
122
+ void once_us_scheduled (uint32_t micros, callback_function_t callback)
123
+ {
124
+ once_us (micros, [callback]() { schedule_function (callback); });
125
+ }
126
+
102
127
void once_us (uint32_t micros, callback_function_t callback)
103
128
{
104
129
_callback_function = std::move (callback);
0 commit comments