Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
Toggle main menu visibility
Main Page
Related Pages
Topics
Data Structures
Data Structures
Data Structure Index
Data Fields
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerator
Files
File List
Globals
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
m
n
p
r
s
t
u
v
w
Enumerations
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
Loading...
Searching...
No Matches
input_capture_arch.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "ch.h"
4
#include "hal.h"
5
6
7
#ifdef __cplusplus
8
extern
"C"
{
9
#endif
10
11
enum
TimICMode
{
TIMIC_INPUT_CAPTURE
,
TIMIC_PWM_IN
} ;
12
enum
TimICActive
{
CH1_RISING_EDGE
=1<<0,
CH1_FALLING_EDGE
=1<<1,
CH1_BOTH_EDGES
=1<<2,
13
CH2_RISING_EDGE
=1<<3,
CH2_FALLING_EDGE
=1<<4,
CH2_BOTH_EDGES
=1<<5,
14
CH3_RISING_EDGE
=1<<6,
CH3_FALLING_EDGE
=1<<7,
CH3_BOTH_EDGES
=1<<8,
15
CH4_RISING_EDGE
=1<<9,
CH4_FALLING_EDGE
=1<<10,
CH4_BOTH_EDGES
=1<<11
16
} ;
17
enum
TimICState
{
TIMIC_STOP
,
TIMIC_READY
,
TIMIC_ACTIVE
};
18
typedef
struct
TimICDriver
TimICDriver
;
19
typedef
void
(*
TimICCallbackCapture_t
)(
const
TimICDriver
*
timicp
,
uint32_t
channel
,
uint32_t
capture
);
20
typedef
void
(*
TimICCallbackOverflow_t
)(
const
TimICDriver
*
timicp
);
21
25
typedef
struct
{
29
stm32_tim_t
*
timer
;
30
TimICCallbackCapture_t
capture_cb
;
31
TimICCallbackOverflow_t
overflow_cb
;
32
enum
TimICMode
mode
;
33
uint32_t
active
;
34
uint32_t
dier
;
35
uint32_t
dcr
;
36
uint32_t
prescaler
:17;
37
uint32_t
arr
;
38
}
TimICConfig
;
25
typedef
struct
{
…
};
39
40
44
struct
TimICDriver
{
48
const
TimICConfig
*
config
;
52
uint32_t
channel
;
53
uint32_t
dier
;
54
mutex_t
mut
;
55
enum
TimICState
state
;
56
};
44
struct
TimICDriver
{
…
};
57
58
65
void
timIcObjectInit
(
TimICDriver
*
timicp
);
66
74
void
timIcStart
(
TimICDriver
*
timicp
,
const
TimICConfig
*
configp
);
75
82
void
timIcStartCapture
(
TimICDriver
*
timicp
);
83
90
void
timIcStopCapture
(
TimICDriver
*
timicp
);
91
99
void
timIcStop
(
TimICDriver
*
timicp
);
100
101
void
timIcRccEnable
(
const
TimICDriver
*
const
timicp
);
102
void
timIcRccDisable
(
const
TimICDriver
*
const
timicp
);
103
104
105
106
#ifdef __cplusplus
107
}
108
#endif
timIcStop
void timIcStop(TimICDriver *timicp)
stop a quadrature encoder driver
Definition
input_capture_arch.c:225
TimICCallbackCapture_t
void(* TimICCallbackCapture_t)(const TimICDriver *timicp, uint32_t channel, uint32_t capture)
Definition
input_capture_arch.h:19
timIcObjectInit
void timIcObjectInit(TimICDriver *timicp)
Initializes an input capture driver.
Definition
input_capture_arch.c:13
TimICConfig::dcr
uint32_t dcr
Definition
input_capture_arch.h:35
timIcStopCapture
void timIcStopCapture(TimICDriver *timicp)
stop to capture
Definition
input_capture_arch.c:214
timIcRccEnable
void timIcRccEnable(const TimICDriver *const timicp)
Definition
input_capture_arch.c:239
timIcStart
void timIcStart(TimICDriver *timicp, const TimICConfig *configp)
start an input capture driver
Definition
input_capture_arch.c:20
TimICConfig::capture_cb
TimICCallbackCapture_t capture_cb
Definition
input_capture_arch.h:30
TimICDriver::channel
uint32_t channel
mutex to protect data read/write in concurrent context
Definition
input_capture_arch.h:52
timIcStartCapture
void timIcStartCapture(TimICDriver *timicp)
start to capture
Definition
input_capture_arch.c:200
TimICDriver::mut
mutex_t mut
Definition
input_capture_arch.h:54
TimICState
TimICState
Definition
input_capture_arch.h:17
TIMIC_READY
@ TIMIC_READY
Definition
input_capture_arch.h:17
TIMIC_ACTIVE
@ TIMIC_ACTIVE
Definition
input_capture_arch.h:17
TIMIC_STOP
@ TIMIC_STOP
Definition
input_capture_arch.h:17
TimICDriver::dier
uint32_t dier
Definition
input_capture_arch.h:53
TimICActive
TimICActive
Definition
input_capture_arch.h:12
CH2_FALLING_EDGE
@ CH2_FALLING_EDGE
Definition
input_capture_arch.h:13
CH1_RISING_EDGE
@ CH1_RISING_EDGE
Definition
input_capture_arch.h:12
CH4_RISING_EDGE
@ CH4_RISING_EDGE
Definition
input_capture_arch.h:15
CH3_RISING_EDGE
@ CH3_RISING_EDGE
Definition
input_capture_arch.h:14
CH2_RISING_EDGE
@ CH2_RISING_EDGE
Definition
input_capture_arch.h:13
CH1_BOTH_EDGES
@ CH1_BOTH_EDGES
Definition
input_capture_arch.h:12
CH4_FALLING_EDGE
@ CH4_FALLING_EDGE
Definition
input_capture_arch.h:15
CH3_BOTH_EDGES
@ CH3_BOTH_EDGES
Definition
input_capture_arch.h:14
CH3_FALLING_EDGE
@ CH3_FALLING_EDGE
Definition
input_capture_arch.h:14
CH4_BOTH_EDGES
@ CH4_BOTH_EDGES
Definition
input_capture_arch.h:15
CH1_FALLING_EDGE
@ CH1_FALLING_EDGE
Definition
input_capture_arch.h:12
CH2_BOTH_EDGES
@ CH2_BOTH_EDGES
Definition
input_capture_arch.h:13
TimICConfig::prescaler
uint32_t prescaler
Definition
input_capture_arch.h:36
TimICConfig::overflow_cb
TimICCallbackOverflow_t overflow_cb
Definition
input_capture_arch.h:31
TimICMode
TimICMode
Definition
input_capture_arch.h:11
TIMIC_INPUT_CAPTURE
@ TIMIC_INPUT_CAPTURE
Definition
input_capture_arch.h:11
TIMIC_PWM_IN
@ TIMIC_PWM_IN
Definition
input_capture_arch.h:11
TimICConfig::active
uint32_t active
Definition
input_capture_arch.h:33
timIcRccDisable
void timIcRccDisable(const TimICDriver *const timicp)
Definition
input_capture_arch.c:384
TimICDriver::state
enum TimICState state
Definition
input_capture_arch.h:55
TimICConfig::arr
uint32_t arr
Definition
input_capture_arch.h:37
TimICCallbackOverflow_t
void(* TimICCallbackOverflow_t)(const TimICDriver *timicp)
Definition
input_capture_arch.h:20
TimICConfig::mode
enum TimICMode mode
Definition
input_capture_arch.h:32
TimICDriver::config
const TimICConfig * config
Current configuration data.
Definition
input_capture_arch.h:48
TimICConfig::timer
stm32_tim_t * timer
hardware timer pointer (example : &STM32_TIM1)
Definition
input_capture_arch.h:29
TimICConfig::dier
uint32_t dier
Definition
input_capture_arch.h:34
TimICConfig
TimIC Driver configuration structure.
Definition
input_capture_arch.h:25
TimICDriver
Structure representing a TimIC driver.
Definition
input_capture_arch.h:44
foo
uint16_t foo
Definition
main_demo5.c:58
uint32_t
unsigned int uint32_t
Typedef defining 32 bit unsigned int type.
Definition
vl53l1_types.h:78
sw
airborne
arch
chibios
mcu_periph
input_capture_arch.h
Generated on Fri Apr 4 2025 14:56:49 for Paparazzi UAS by
1.9.8