Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
#include "mcu_periph/input_capture_arch.h"
Go to the source code of this file.
Macros | |
#define | STM32_INPUT_CAPTURE_USE_TIM1 false |
#define | STM32_INPUT_CAPTURE_USE_TIM2 false |
#define | STM32_INPUT_CAPTURE_USE_TIM3 false |
#define | STM32_INPUT_CAPTURE_USE_TIM4 false |
#define | STM32_INPUT_CAPTURE_USE_TIM5 false |
#define | STM32_INPUT_CAPTURE_USE_TIM8 false |
#define | STM32_INPUT_CAPTURE_SHARE_TIM1 false |
#define | STM32_INPUT_CAPTURE_SHARE_TIM2 false |
#define | STM32_INPUT_CAPTURE_SHARE_TIM3 false |
#define | STM32_INPUT_CAPTURE_SHARE_TIM4 false |
#define | STM32_INPUT_CAPTURE_SHARE_TIM5 false |
#define | STM32_INPUT_CAPTURE_SHARE_TIM8 false |
#define | STM32_INPUT_CAPTURE_ENABLE_TIM1_ISR false |
#define | STM32_INPUT_CAPTURE_ENABLE_TIM2_ISR false |
#define | STM32_INPUT_CAPTURE_ENABLE_TIM3_ISR false |
#define | STM32_INPUT_CAPTURE_ENABLE_TIM4_ISR false |
#define | STM32_INPUT_CAPTURE_ENABLE_TIM5_ISR false |
#define | STM32_INPUT_CAPTURE_ENABLE_TIM8_ISR false |
Enumerations | |
enum | TimICChannel { TIMIC_CH1 =1<<0 , TIMIC_CH2 =1<<1 , TIMIC_CH3 =1<<2 , TIMIC_CH4 =1<<3 } |
Functions | |
static void | input_capture_lld_serve_interrupt (const TimICDriver *const timicp) |
static void | _input_capture_isr_invoke_capture_cb (const TimICDriver *const timicp, uint32_t channel) |
static void | _input_capture_isr_invoke_overflow_cb (const TimICDriver *const timicp) |
void | timIcObjectInit (TimICDriver *timicp) |
Initializes an input capture driver. More... | |
void | timIcStart (TimICDriver *timicp, const TimICConfig *configp) |
start an input capture driver More... | |
void | timIcStartCapture (TimICDriver *timicp) |
start to capture More... | |
void | timIcStopCapture (TimICDriver *timicp) |
stop to capture More... | |
void | timIcStop (TimICDriver *timicp) |
stop a quadrature encoder driver More... | |
void | timIcRccEnable (const TimICDriver *const timicp) |
void | timIcRccDisable (const TimICDriver *const timicp) |
Variables | |
static const TimICDriver * | driverByTimerIndex [6] = {NULL} |
#define STM32_INPUT_CAPTURE_ENABLE_TIM1_ISR false |
Definition at line 547 of file input_capture_arch.c.
#define STM32_INPUT_CAPTURE_ENABLE_TIM2_ISR false |
Definition at line 551 of file input_capture_arch.c.
#define STM32_INPUT_CAPTURE_ENABLE_TIM3_ISR false |
Definition at line 556 of file input_capture_arch.c.
#define STM32_INPUT_CAPTURE_ENABLE_TIM4_ISR false |
Definition at line 561 of file input_capture_arch.c.
#define STM32_INPUT_CAPTURE_ENABLE_TIM5_ISR false |
Definition at line 566 of file input_capture_arch.c.
#define STM32_INPUT_CAPTURE_ENABLE_TIM8_ISR false |
Definition at line 571 of file input_capture_arch.c.
#define STM32_INPUT_CAPTURE_SHARE_TIM1 false |
Definition at line 523 of file input_capture_arch.c.
#define STM32_INPUT_CAPTURE_SHARE_TIM2 false |
Definition at line 527 of file input_capture_arch.c.
#define STM32_INPUT_CAPTURE_SHARE_TIM3 false |
Definition at line 531 of file input_capture_arch.c.
#define STM32_INPUT_CAPTURE_SHARE_TIM4 false |
Definition at line 535 of file input_capture_arch.c.
#define STM32_INPUT_CAPTURE_SHARE_TIM5 false |
Definition at line 539 of file input_capture_arch.c.
#define STM32_INPUT_CAPTURE_SHARE_TIM8 false |
Definition at line 543 of file input_capture_arch.c.
#define STM32_INPUT_CAPTURE_USE_TIM1 false |
Definition at line 499 of file input_capture_arch.c.
#define STM32_INPUT_CAPTURE_USE_TIM2 false |
Definition at line 503 of file input_capture_arch.c.
#define STM32_INPUT_CAPTURE_USE_TIM3 false |
Definition at line 507 of file input_capture_arch.c.
#define STM32_INPUT_CAPTURE_USE_TIM4 false |
Definition at line 511 of file input_capture_arch.c.
#define STM32_INPUT_CAPTURE_USE_TIM5 false |
Definition at line 515 of file input_capture_arch.c.
#define STM32_INPUT_CAPTURE_USE_TIM8 false |
Definition at line 519 of file input_capture_arch.c.
enum TimICChannel |
Enumerator | |
---|---|
TIMIC_CH1 | |
TIMIC_CH2 | |
TIMIC_CH3 | |
TIMIC_CH4 |
Definition at line 4 of file input_capture_arch.c.
|
static |
Definition at line 806 of file input_capture_arch.c.
References TimICConfig::capture_cb, TimICDriver::config, and TimICConfig::timer.
Referenced by input_capture_lld_serve_interrupt().
|
static |
Definition at line 813 of file input_capture_arch.c.
References TimICDriver::config, and TimICConfig::overflow_cb.
Referenced by input_capture_lld_serve_interrupt().
|
static |
Definition at line 776 of file input_capture_arch.c.
References _input_capture_isr_invoke_capture_cb(), _input_capture_isr_invoke_overflow_cb(), TimICDriver::channel, TimICDriver::config, TimICConfig::timer, TIMIC_CH1, TIMIC_CH2, TIMIC_CH3, and TIMIC_CH4.
void timIcObjectInit | ( | TimICDriver * | timicp | ) |
Initializes an input capture driver.
[out] | inputCapturep | pointer to a TimICDriver structure @init |
Definition at line 13 of file input_capture_arch.c.
References TimICDriver::config, TimICDriver::dier, TimICDriver::state, and TIMIC_STOP.
Referenced by initCache(), and timIcStop().
void timIcRccDisable | ( | const TimICDriver *const | timicp | ) |
Definition at line 384 of file input_capture_arch.c.
References TimICDriver::config, and TimICConfig::timer.
Referenced by stopCapture(), and timIcStop().
void timIcRccEnable | ( | const TimICDriver *const | timicp | ) |
Definition at line 239 of file input_capture_arch.c.
References TimICConfig::capture_cb, TimICDriver::config, driverByTimerIndex, TimICConfig::overflow_cb, STM32_IRQ_TIM1_CC_PRIORITY, STM32_IRQ_TIM1_UP_TIM10_PRIORITY, STM32_IRQ_TIM2_PRIORITY, STM32_IRQ_TIM3_PRIORITY, STM32_IRQ_TIM4_PRIORITY, STM32_IRQ_TIM5_PRIORITY, STM32_IRQ_TIM8_CC_PRIORITY, STM32_IRQ_TIM8_UP_TIM13_PRIORITY, and TimICConfig::timer.
Referenced by timIcStart().
void timIcStart | ( | TimICDriver * | timicp, |
const TimICConfig * | configp | ||
) |
start an input capture driver
[in] | timicp | pointer to a TimICDriver structure |
[in] | configp | pointer to a TimICConfig structure |
configure the timer to get input capture data from timer
Definition at line 20 of file input_capture_arch.c.
References TimICConfig::active, TimICConfig::arr, TimICConfig::capture_cb, CH1_BOTH_EDGES, CH1_FALLING_EDGE, CH1_RISING_EDGE, CH2_BOTH_EDGES, CH2_FALLING_EDGE, CH2_RISING_EDGE, CH3_BOTH_EDGES, CH3_FALLING_EDGE, CH3_RISING_EDGE, CH4_BOTH_EDGES, CH4_FALLING_EDGE, CH4_RISING_EDGE, TimICDriver::channel, TimICDriver::config, TimICConfig::dcr, TimICConfig::dier, TimICDriver::dier, TimICConfig::mode, TimICDriver::mut, TimICConfig::overflow_cb, TimICConfig::prescaler, TimICDriver::state, TimICConfig::timer, TIMIC_CH1, TIMIC_CH2, TIMIC_CH3, TIMIC_CH4, TIMIC_INPUT_CAPTURE, TIMIC_PWM_IN, TIMIC_READY, TIMIC_STOP, and timIcRccEnable().
Referenced by initCache().
void timIcStartCapture | ( | TimICDriver * | timicp | ) |
start to capture
[in] | timicp | pointer to a TimICDriver structure |
start the input capture data from timer
Definition at line 200 of file input_capture_arch.c.
References TimICDriver::config, TimICDriver::dier, TimICDriver::state, TimICConfig::timer, TIMIC_ACTIVE, and TIMIC_READY.
Referenced by startCapture().
void timIcStop | ( | TimICDriver * | timicp | ) |
stop a quadrature encoder driver
[in] | timicp | pointer to a TimICDriver structure |
stop and release the timer. After stop, any operation on timicp will result in undefined behavior and probably hardware fault
Definition at line 225 of file input_capture_arch.c.
References TimICDriver::dier, TimICDriver::mut, TimICDriver::state, TIMIC_STOP, timIcObjectInit(), and timIcRccDisable().
void timIcStopCapture | ( | TimICDriver * | timicp | ) |
stop to capture
[in] | timicp | pointer to a TimICDriver structure |
stop the input capture data from timer
Definition at line 214 of file input_capture_arch.c.
References TimICDriver::config, TimICDriver::state, TimICConfig::timer, TIMIC_READY, and TIMIC_STOP.
Referenced by stopCapture().
|
static |
Definition at line 6 of file input_capture_arch.c.
Referenced by timIcRccEnable().