|
Paparazzi UAS v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
#include "ch.h"#include "hal.h"
Include dependency graph for input_capture_arch.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Data Structures | |
| struct | TimICConfig |
| TimIC Driver configuration structure. More... | |
| struct | TimICDriver |
| Structure representing a TimIC driver. More... | |
Typedefs | |
| typedef struct TimICDriver | TimICDriver |
| typedef void(* | TimICCallbackCapture_t) (const TimICDriver *timicp, uint32_t channel, uint32_t capture) |
| typedef void(* | TimICCallbackOverflow_t) (const TimICDriver *timicp) |
Enumerations | |
| enum | TimICMode { TIMIC_INPUT_CAPTURE , TIMIC_PWM_IN } |
| enum | TimICActive { CH1_RISING_EDGE =1<<0 , CH1_FALLING_EDGE =1<<1 , CH1_BOTH_EDGES =1<<2 , CH2_RISING_EDGE =1<<3 , CH2_FALLING_EDGE =1<<4 , CH2_BOTH_EDGES =1<<5 , CH3_RISING_EDGE =1<<6 , CH3_FALLING_EDGE =1<<7 , CH3_BOTH_EDGES =1<<8 , CH4_RISING_EDGE =1<<9 , CH4_FALLING_EDGE =1<<10 , CH4_BOTH_EDGES =1<<11 } |
| enum | TimICState { TIMIC_STOP , TIMIC_READY , TIMIC_ACTIVE } |
Functions | |
| void | timIcObjectInit (TimICDriver *timicp) |
| Initializes an input capture driver. | |
| void | timIcStart (TimICDriver *timicp, const TimICConfig *configp) |
| start an input capture driver | |
| void | timIcStartCapture (TimICDriver *timicp) |
| start to capture | |
| void | timIcStopCapture (TimICDriver *timicp) |
| stop to capture | |
| void | timIcStop (TimICDriver *timicp) |
| stop a quadrature encoder driver | |
| void | timIcRccEnable (const TimICDriver *const timicp) |
| void | timIcRccDisable (const TimICDriver *const timicp) |
| struct TimICConfig |
TimIC Driver configuration structure.
Definition at line 25 of file input_capture_arch.h.
Collaboration diagram for TimICConfig:| Data Fields | ||
|---|---|---|
| uint32_t | active | |
| uint32_t | arr | |
| TimICCallbackCapture_t | capture_cb | |
| uint32_t | dcr | |
| uint32_t | dier | |
| enum TimICMode | mode | |
| TimICCallbackOverflow_t | overflow_cb | |
| uint32_t | prescaler:17 | |
| stm32_tim_t * | timer | hardware timer pointer (example : &STM32_TIM1) |
| struct TimICDriver |
Structure representing a TimIC driver.
Definition at line 44 of file input_capture_arch.h.
Collaboration diagram for TimICDriver:| Data Fields | ||
|---|---|---|
| uint32_t | channel | mutex to protect data read/write in concurrent context |
| const TimICConfig * | config | Current configuration data. |
| uint32_t | dier | |
| mutex_t | mut | |
| enum TimICState | state | |
| typedef void(* TimICCallbackCapture_t) (const TimICDriver *timicp, uint32_t channel, uint32_t capture) |
Definition at line 19 of file input_capture_arch.h.
| typedef void(* TimICCallbackOverflow_t) (const TimICDriver *timicp) |
Definition at line 20 of file input_capture_arch.h.
| typedef struct TimICDriver TimICDriver |
Definition at line 18 of file input_capture_arch.h.
Definition at line 12 of file input_capture_arch.h.
| Enumerator | |
|---|---|
| TIMIC_INPUT_CAPTURE | |
| TIMIC_PWM_IN | |
Definition at line 11 of file input_capture_arch.h.
| Enumerator | |
|---|---|
| TIMIC_STOP | |
| TIMIC_READY | |
| TIMIC_ACTIVE | |
Definition at line 17 of file input_capture_arch.h.
| 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 foo, and TIMIC_STOP.
Referenced by initCache(), and timIcStop().
Here is the caller graph for this function:| void timIcRccDisable | ( | const TimICDriver *const | timicp | ) |
Definition at line 384 of file input_capture_arch.c.
References foo.
Referenced by stopCapture(), and timIcStop().
Here is the caller graph for this function:| void timIcRccEnable | ( | const TimICDriver *const | timicp | ) |
Definition at line 239 of file input_capture_arch.c.
References driverByTimerIndex, foo, 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, and STM32_IRQ_TIM8_UP_TIM13_PRIORITY.
Referenced by timIcStart().
Here is the caller graph for this function:| 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 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, foo, TIMIC_CH1, TIMIC_CH2, TIMIC_CH3, TIMIC_CH4, TIMIC_INPUT_CAPTURE, TIMIC_PWM_IN, TIMIC_READY, TIMIC_STOP, and timIcRccEnable().
Referenced by initCache().
Here is the call graph for this function:
Here is the caller graph for this function:| 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 foo, TIMIC_ACTIVE, and TIMIC_READY.
Referenced by startCapture().
Here is the caller graph for this function:| 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 foo, TIMIC_STOP, timIcObjectInit(), and timIcRccDisable().
Here is the call graph for this function:| 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 foo, TIMIC_READY, and TIMIC_STOP.
Referenced by stopCapture().
Here is the caller graph for this function: