APM:Libraries
Macros | Functions | Variables
Scheduler.cpp File Reference
#include "Scheduler.h"
#include <stdio.h>
#include <AP_HAL_F4Light/AP_HAL_F4Light.h>
#include "Semaphores.h"
#include "I2CDevice.h"
#include <timer.h>
#include <AP_Notify/AP_Notify.h>
#include <AP_Math/AP_Math.h>
#include <AP_Param_Helper/AP_Param_Helper.h>
#include "RCInput.h"
#include <systick.h>
#include "GPIO.h"
#include <usb.h>
Include dependency graph for Scheduler.cpp:

Go to the source code of this file.

Macros

#define STACK_GUARD   0x60a4d51aL
 
#define NO_YIELD_TIME   8
 

Functions

static void loc_ret ()
 
static void idle_task ()
 
void PendSV_Handler ()
 
void SVC_Handler ()
 
void revo_call_handler (uint64_t hh, uint32_t arg)
 
void hal_yield (uint16_t ttw)
 
void hal_delay (uint16_t t)
 
void hal_delay_microseconds (uint16_t t)
 
uint32_t hal_micros ()
 
void hal_isr_time (uint32_t t)
 
void hal_set_task_active (void *h)
 
void hal_context_switch_isr ()
 
void hal_set_task_priority (void *h, uint8_t prio)
 
void * hal_register_task (voidFuncPtr task, uint32_t stack)
 
bool hal_is_armed ()
 
void hal_try_kill_task_or_reboot (uint8_t n)
 
void hal_go_next_task ()
 
void hal_stop_multitask ()
 

Variables

const AP_HAL::HALhal
 -*- tab-width: 4; Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil -*- More...
 
AP_HAL::Proc Scheduler::_failsafe IN_CCM = NULL
 
void * __brkval
 
void * __brkval_ccm
 

Macro Definition Documentation

◆ NO_YIELD_TIME

#define NO_YIELD_TIME   8

Definition at line 303 of file Scheduler.cpp.

Referenced by F4Light::Scheduler::_delay_microseconds().

◆ STACK_GUARD

#define STACK_GUARD   0x60a4d51aL

Function Documentation

◆ hal_delay()

void hal_delay ( uint16_t  t)

Definition at line 1431 of file Scheduler.cpp.

Here is the call graph for this function:

◆ hal_delay_microseconds()

void hal_delay_microseconds ( uint16_t  t)

Definition at line 1432 of file Scheduler.cpp.

Referenced by delay_10us(), delay_us(), delayMicroseconds(), USB_OTG_BSP_uDelay(), and Soft_I2C::wait_done().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hal_go_next_task()

void hal_go_next_task ( )

Definition at line 1448 of file Scheduler.cpp.

Referenced by __attribute__().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hal_is_armed()

bool hal_is_armed ( )

Definition at line 1446 of file Scheduler.cpp.

Here is the call graph for this function:

◆ hal_isr_time()

void hal_isr_time ( uint32_t  t)

Definition at line 1435 of file Scheduler.cpp.

◆ hal_micros()

uint32_t hal_micros ( )

Definition at line 1434 of file Scheduler.cpp.

Referenced by F4Light::SPIDevice::do_transfer(), F4Light::SPIDevice::get_dma_ready(), F4Light::I2CDevice::i2c_read(), F4Light::I2CDevice::i2c_write(), micros(), F4Light::SPIDevice::spi_isr(), Soft_I2C::tick(), F4Light::SPIDevice::transfer(), USB_OTG_BSP_mDelay(), Soft_I2C::wait_done(), F4Light::SPIDevice::wait_for(), and F4Light::I2CDevice::wait_stop_done().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hal_stop_multitask()

void hal_stop_multitask ( )

Definition at line 1449 of file Scheduler.cpp.

Referenced by __attribute__().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hal_try_kill_task_or_reboot()

void hal_try_kill_task_or_reboot ( uint8_t  n)

Definition at line 1447 of file Scheduler.cpp.

Referenced by __attribute__().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hal_yield()

void hal_yield ( uint16_t  ttw)

Definition at line 1430 of file Scheduler.cpp.

Referenced by Soft_I2C::_start(), Soft_I2C::bus_reset(), F4Light::SPIDevice::do_transfer(), F4Light::SPIDevice::get_dma_ready(), i2c_bus_reset(), F4Light::I2CDevice::i2c_read(), F4Light::I2CDevice::i2c_write(), F4Light::SPIDevice::send_strobe(), F4Light::I2CDevice::transfer(), F4Light::SPIDevice::transfer(), Soft_I2C::wait_done(), F4Light::SPIDevice::wait_for(), F4Light::I2CDevice::wait_stop_done(), F4Light::USBDriver::write(), F4Light::UARTDriver::write(), and F4Light::Storage::write_word().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ idle_task()

static void idle_task ( )
static

Definition at line 144 of file Scheduler.cpp.

Referenced by F4Light::Scheduler::init().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ loc_ret()

static void loc_ret ( )
static

Definition at line 50 of file Scheduler.cpp.

Referenced by F4Light::Scheduler::Scheduler().

Here is the caller graph for this function:

◆ PendSV_Handler()

void PendSV_Handler ( )

Definition at line 1280 of file Scheduler.cpp.

Here is the call graph for this function:

◆ revo_call_handler()

void revo_call_handler ( uint64_t  hh,
uint32_t  arg 
)

◆ SVC_Handler()

void SVC_Handler ( )

Definition at line 1293 of file Scheduler.cpp.

Referenced by F4Light::Scheduler::plan_context_switch().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ __brkval

void* __brkval

◆ __brkval_ccm

void* __brkval_ccm

◆ hal

const AP_HAL::HAL& hal

-*- tab-width: 4; Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil -*-

Definition at line 14 of file AC_PID_test.cpp.

◆ IN_CCM

task_t* Scheduler::_forced_task IN_CCM = NULL

Definition at line 34 of file Scheduler.cpp.