You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
# ifndef __AP_PERIODIC_PROCESS_STUB_H__
# define __AP_PERIODIC_PROCESS_STUB_H__
# include "PeriodicProcess.h"
# include "../Arduino_Mega_ISR_Registry/Arduino_Mega_ISR_Registry.h"
class AP_PeriodicProcessStub : public AP_PeriodicProcess
{
public :
AP_PeriodicProcessStub ( uint8_t period = 0 ) ;
void init ( Arduino_Mega_ISR_Registry * isr_reg ) ;
void register_process ( ap_procedure proc ) ;
void set_failsafe ( ap_procedure proc ) ;
bool queue_process ( ap_procedure proc ) ; // queue process to run as soon as possible after any currently running ap_processes complete. returns true if it ran immediately
void suspend_timer ( void ) ;
void resume_timer ( void ) ;
bool running ( ) ;
static void run ( void ) ;
protected :
static uint8_t _period ;
static void ( * _proc ) ( void ) ;
static void ( * _failsafe ) ( void ) ;
static void ( * _queued_proc ) ( void ) ;
static bool _suspended ;
} ;
# endif