Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
pwm_input.c
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2011 The Paparazzi Team
3
*
4
* This file is part of paparazzi.
5
*
6
* paparazzi is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 2, or (at your option)
9
* any later version.
10
*
11
* paparazzi is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with paparazzi; see the file COPYING. If not, write to
18
* the Free Software Foundation, 59 Temple Place - Suite 330,
19
* Boston, MA 02111-1307, USA.
20
*
21
*/
22
26
#include "
std.h
"
27
#include "
mcu_periph/pwm_input.h
"
28
29
static
const
uint32_t
pwm_input_ticks_per_usec
[] = {
30
PWM_INPUT1_TICKS_PER_USEC
,
31
PWM_INPUT2_TICKS_PER_USEC
32
};
33
34
volatile
uint32_t
pwm_input_duty_tics
[
PWM_INPUT_NB
];
35
volatile
uint8_t
pwm_input_duty_valid
[
PWM_INPUT_NB
];
36
volatile
uint32_t
pwm_input_period_tics
[
PWM_INPUT_NB
];
37
volatile
uint8_t
pwm_input_period_valid
[
PWM_INPUT_NB
];
38
39
uint32_t
get_pwm_input_duty_in_usec
(
uint32_t
channel)
40
{
41
return
pwm_input_duty_tics
[channel] /
pwm_input_ticks_per_usec
[channel];
42
}
43
44
uint32_t
get_pwm_input_period_in_usec
(
uint32_t
channel)
45
{
46
return
pwm_input_period_tics
[channel] /
pwm_input_ticks_per_usec
[channel];
47
}
48
PWM_INPUT_NB
@ PWM_INPUT_NB
Definition:
pwm_input_arch.h:38
PWM_INPUT2_TICKS_PER_USEC
#define PWM_INPUT2_TICKS_PER_USEC
Definition:
pwm_input_arch.h:57
PWM_INPUT1_TICKS_PER_USEC
#define PWM_INPUT1_TICKS_PER_USEC
The default pwm counter is set-up to have 1/6 us resolution.
Definition:
pwm_input_arch.h:53
pwm_input_duty_tics
volatile uint32_t pwm_input_duty_tics[PWM_INPUT_NB]
Definition:
pwm_input.c:34
pwm_input_period_valid
volatile uint8_t pwm_input_period_valid[PWM_INPUT_NB]
Definition:
pwm_input.c:37
pwm_input_ticks_per_usec
static const uint32_t pwm_input_ticks_per_usec[]
Definition:
pwm_input.c:29
get_pwm_input_duty_in_usec
uint32_t get_pwm_input_duty_in_usec(uint32_t channel)
Definition:
pwm_input.c:39
pwm_input_duty_valid
volatile uint8_t pwm_input_duty_valid[PWM_INPUT_NB]
Definition:
pwm_input.c:35
pwm_input_period_tics
volatile uint32_t pwm_input_period_tics[PWM_INPUT_NB]
Definition:
pwm_input.c:36
get_pwm_input_period_in_usec
uint32_t get_pwm_input_period_in_usec(uint32_t channel)
Definition:
pwm_input.c:44
pwm_input.h
arch independent PWM input capture API
std.h
uint32_t
unsigned int uint32_t
Typedef defining 32 bit unsigned int type.
Definition:
vl53l1_types.h:78
uint8_t
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.
Definition:
vl53l1_types.h:98
sw
airborne
mcu_periph
pwm_input.c
Generated on Thu Dec 5 2024 13:05:29 for Paparazzi UAS by
1.9.1