APM:Libraries
|
#include <Scheduler.h>
Classes | |
struct | _uavcan_thread_arg |
Public Member Functions | |
PX4Scheduler () | |
void | init () |
void | delay (uint16_t ms) |
void | delay_microseconds (uint16_t us) |
void | delay_microseconds_boost (uint16_t us) |
void | register_timer_process (AP_HAL::MemberProc) |
void | register_io_process (AP_HAL::MemberProc) |
void | register_timer_failsafe (AP_HAL::Proc, uint32_t period_us) |
void | suspend_timer_procs () |
void | resume_timer_procs () |
void | reboot (bool hold_in_bootloader) |
bool | in_main_thread () const override |
void | system_initialized () |
void | hal_initialized () |
void | create_uavcan_thread () override |
void * | disable_interrupts_save (void) override |
void | restore_interrupts (void *) override |
![]() | |
Scheduler () | |
virtual void | boost_end (void) |
virtual void | register_delay_callback (AP_HAL::Proc, uint16_t min_time_ms) |
virtual bool | in_delay_callback () const |
virtual void | stop_clock (uint64_t time_usec) |
virtual void | call_delay_cb () |
Private Member Functions | |
void | _run_timers (bool called_from_timer_thread) |
void | _run_io (void) |
void | delay_microseconds_semaphore (uint16_t us) |
Static Private Member Functions | |
static void * | _timer_thread (void *arg) |
static void * | _io_thread (void *arg) |
static void * | _storage_thread (void *arg) |
static void * | _uart_thread (void *arg) |
static void * | _uavcan_thread (void *arg) |
Private Attributes | |
bool | _initialized |
volatile bool | _hal_initialized |
AP_HAL::Proc | _delay_cb |
uint16_t | _min_delay_cb_ms |
AP_HAL::Proc | _failsafe |
volatile bool | _timer_suspended |
AP_HAL::MemberProc | _timer_proc [PX4_SCHEDULER_MAX_TIMER_PROCS] |
uint8_t | _num_timer_procs |
volatile bool | _in_timer_proc |
AP_HAL::MemberProc | _io_proc [PX4_SCHEDULER_MAX_TIMER_PROCS] |
uint8_t | _num_io_procs |
volatile bool | _in_io_proc |
volatile bool | _timer_event_missed |
pid_t | _main_task_pid |
pthread_t | _timer_thread_ctx |
pthread_t | _io_thread_ctx |
pthread_t | _storage_thread_ctx |
pthread_t | _uart_thread_ctx |
pthread_t | _uavcan_thread_ctx |
perf_counter_t | _perf_timers |
perf_counter_t | _perf_io_timers |
perf_counter_t | _perf_storage_timer |
perf_counter_t | _perf_delay |
Additional Inherited Members | |
![]() | |
uint16_t | _min_delay_cb_ms |
Definition at line 44 of file Scheduler.h.
PX4Scheduler::PX4Scheduler | ( | ) |
Definition at line 38 of file Scheduler.cpp.
|
staticprivate |
Definition at line 367 of file Scheduler.cpp.
Referenced by init().
|
private |
Definition at line 325 of file Scheduler.cpp.
Referenced by _io_thread().
|
private |
Definition at line 259 of file Scheduler.cpp.
Referenced by _timer_thread(), and resume_timer_procs().
|
staticprivate |
Definition at line 387 of file Scheduler.cpp.
Referenced by init().
|
staticprivate |
Definition at line 290 of file Scheduler.cpp.
Referenced by init().
|
staticprivate |
Definition at line 344 of file Scheduler.cpp.
Referenced by init().
|
staticprivate |
Referenced by _storage_thread(), and create_uavcan_thread().
|
overridevirtual |
Reimplemented from AP_HAL::Scheduler.
Definition at line 93 of file Scheduler.cpp.
Referenced by hal_initialized().
|
virtual |
Implements AP_HAL::Scheduler.
Definition at line 174 of file Scheduler.cpp.
Referenced by reboot().
|
virtual |
Implements AP_HAL::Scheduler.
Definition at line 134 of file Scheduler.cpp.
|
virtual |
Reimplemented from AP_HAL::Scheduler.
Definition at line 164 of file Scheduler.cpp.
|
private |
delay for a specified number of microseconds using a semaphore wait
Definition at line 124 of file Scheduler.cpp.
Referenced by _io_thread(), _storage_thread(), _timer_thread(), _uart_thread(), delay(), and delay_microseconds().
|
overridevirtual |
Reimplemented from AP_HAL::Scheduler.
Definition at line 457 of file Scheduler.cpp.
Referenced by hal_initialized().
|
inline |
Definition at line 62 of file Scheduler.h.
Referenced by main_loop().
|
overridevirtual |
Implements AP_HAL::Scheduler.
Definition at line 437 of file Scheduler.cpp.
Referenced by delay().
|
virtual |
Implements AP_HAL::Scheduler.
Definition at line 45 of file Scheduler.cpp.
|
virtual |
Implements AP_HAL::Scheduler.
Definition at line 247 of file Scheduler.cpp.
|
virtual |
Implements AP_HAL::Scheduler.
Definition at line 212 of file Scheduler.cpp.
|
virtual |
Implements AP_HAL::Scheduler.
Definition at line 228 of file Scheduler.cpp.
|
virtual |
Implements AP_HAL::Scheduler.
Definition at line 196 of file Scheduler.cpp.
|
overridevirtual |
Reimplemented from AP_HAL::Scheduler.
Definition at line 465 of file Scheduler.cpp.
Referenced by hal_initialized().
|
virtual |
Implements AP_HAL::Scheduler.
Definition at line 238 of file Scheduler.cpp.
|
virtual |
Implements AP_HAL::Scheduler.
Definition at line 233 of file Scheduler.cpp.
|
virtual |
Implements AP_HAL::Scheduler.
Definition at line 442 of file Scheduler.cpp.
|
private |
Definition at line 81 of file Scheduler.h.
|
private |
Definition at line 83 of file Scheduler.h.
Referenced by _run_timers(), and register_timer_failsafe().
|
private |
Definition at line 80 of file Scheduler.h.
Referenced by _io_thread(), _storage_thread(), _timer_thread(), _uart_thread(), and hal_initialized().
|
private |
Definition at line 93 of file Scheduler.h.
Referenced by _run_io().
|
private |
Definition at line 89 of file Scheduler.h.
Referenced by _run_timers().
|
private |
Definition at line 79 of file Scheduler.h.
Referenced by system_initialized().
|
private |
Definition at line 91 of file Scheduler.h.
Referenced by _run_io(), and register_io_process().
|
private |
Definition at line 99 of file Scheduler.h.
Referenced by init().
|
private |
Definition at line 97 of file Scheduler.h.
Referenced by in_main_thread(), and init().
|
private |
Definition at line 82 of file Scheduler.h.
Referenced by delay().
|
private |
Definition at line 92 of file Scheduler.h.
Referenced by _run_io(), and register_io_process().
|
private |
Definition at line 88 of file Scheduler.h.
Referenced by _run_timers(), and register_timer_process().
|
private |
Definition at line 123 of file Scheduler.h.
Referenced by delay(), and delay_microseconds().
|
private |
Definition at line 121 of file Scheduler.h.
Referenced by _io_thread().
|
private |
Definition at line 122 of file Scheduler.h.
Referenced by _storage_thread().
|
private |
Definition at line 120 of file Scheduler.h.
Referenced by _timer_thread().
|
private |
Definition at line 100 of file Scheduler.h.
Referenced by init().
|
private |
Definition at line 95 of file Scheduler.h.
Referenced by _run_timers(), and resume_timer_procs().
|
private |
Definition at line 87 of file Scheduler.h.
Referenced by _run_timers(), and register_timer_process().
|
private |
Definition at line 85 of file Scheduler.h.
Referenced by _run_io(), _run_timers(), resume_timer_procs(), and suspend_timer_procs().
|
private |
Definition at line 98 of file Scheduler.h.
Referenced by init().
|
private |
Definition at line 101 of file Scheduler.h.
Referenced by init().
|
private |
Definition at line 102 of file Scheduler.h.
Referenced by create_uavcan_thread().