Browse Source

AP_Scheduler: allow to use functor

master
Lucas De Marchi 10 years ago committed by Andrew Tridgell
parent
commit
78b00784fb
  1. 4
      libraries/AP_Scheduler/AP_Scheduler.cpp
  2. 4
      libraries/AP_Scheduler/AP_Scheduler.h

4
libraries/AP_Scheduler/AP_Scheduler.cpp

@ -88,7 +88,9 @@ void AP_Scheduler::run(uint16_t time_available) @@ -88,7 +88,9 @@ void AP_Scheduler::run(uint16_t time_available)
task_fn_t func;
pgm_read_block(&_tasks[i].function, &func, sizeof(func));
current_task = i;
#if AP_SCHEDULER_USE_DELEGATE_PTR
#if APM_BUILD_FUNCTOR
func();
#elif AP_SCHEDULER_USE_DELEGATE_PTR
func(_classptr);
#else
func();

4
libraries/AP_Scheduler/AP_Scheduler.h

@ -47,7 +47,9 @@ @@ -47,7 +47,9 @@
class AP_Scheduler
{
public:
#if APM_BUILD_DELEGATES
#if APM_BUILD_FUNCTOR
FUNCTOR_TYPEDEF(task_fn_t, void);
#elif APM_BUILD_DELEGATES
DELEGATE_FUNCTION_VOID_TYPEDEF(task_fn_t);
#else
typedef void (*task_fn_t)(void);

Loading…
Cancel
Save