Fully changed timer to fully use std::function<>

This commit is contained in:
dario 2023-10-23 23:58:23 +02:00
parent d591560c95
commit 87ef535471
3 changed files with 9 additions and 4 deletions

View File

@ -39,6 +39,11 @@
*/
#define STA_RTOS_THREAD_FLAG_TERMINATE ( 1UL << 30 )
/**
* @brief Request thread start.
*/
#define STA_RTOS_THREAD_FLAG_START ( 1UL << 29 )
#define STA_RTOS_THREAD_FLAGS_ERROR_CODE_BITS UINT32_C( 0x0000000F )
#define STA_RTOS_THREAD_FLAGS_ERROR_CODE_EXT_BITS UINT32_C( 0x7FFFFFF0 )

View File

@ -28,7 +28,7 @@ namespace sta
* @param callback The callback function to call upon timer timeout.
* @param arg The argument to pass to the callback function.
*/
RtosTimer(void (*callback)(void *arg), void *arg);
RtosTimer(std::function<void(void*)>, void *arg);
/**
* @brief Initializes the timer with a callback that has no effect.
@ -43,7 +43,7 @@ namespace sta
* @param callback The callback function to call upon timer timeout.
* @param arg The argument to pass to the callback function.
*/
void setCallback(void (*callback)(void *arg), void *arg);
void setCallback(std::function<void(void*)> callback, void *arg);
/**
* @brief Run the timer for a given number of milliseconds.

View File

@ -4,7 +4,7 @@
namespace sta {
RtosTimer::RtosTimer(void (*callback)(void *arg), void *arg)
RtosTimer::RtosTimer(std::function<void(void*)> callback, void *arg)
: timer_id_{NULL},
timer_attr_{.name="Timer", .attr_bits=osTimerOnce},
callback_{callback},
@ -28,7 +28,7 @@ namespace sta {
osTimerDelete(timer_id_);
}
void RtosTimer::setCallback(void (*callback)(void *arg), void *arg)
void RtosTimer::setCallback(std::function<void(void*)> callback, void *arg)
{
callback_ = callback;
callbackArg_ = arg;