PWM measurement.
PWM input measurement mcu periph access and init wrapper for other modules.
For LPC21xx on the TWOG:
- INPUT CAPTURE CAP0.3 on P0.29 (TWOG ADC5, 5V to 3.3V voltage divider)
- INPUT CAPTURE CAP0.0 on P0.30 (TWOG ADC4, no voltage divider)
For STM32:
- each board (or airframe file) has to define the PWM input pin and parameters
- example can be found in sw/airborne/boards/apogee_1.0.h board file
Example for airframe file
Add to your firmware section: This example contains all possible configuration options, not all of them are mandatory!
1 <module name="pwm_meas">
2 <define name="USE_PWM_INPUT1" value="PWM_PULSE_TYPE_ACTIVE_LOW|PWM_PULSE_TYPE_ACTIVE_HIGH" />
3 <define name="USE_PWM_INPUT2" value="PWM_PULSE_TYPE_ACTIVE_LOW|PWM_PULSE_TYPE_ACTIVE_HIGH" />
Module configuration options
Define Options
- name:
USE_PWM_INPUT1
value: PWM_PULSE_TYPE_ACTIVE_LOW|PWM_PULSE_TYPE_ACTIVE_HIGH
Description: Activate PWM input 1 and select polarity
- name:
USE_PWM_INPUT2
value: PWM_PULSE_TYPE_ACTIVE_LOW|PWM_PULSE_TYPE_ACTIVE_HIGH
Description: Activate PWM input 2 and select polarity
Module functions
Init Functions
These initialization functions are called once on startup.
Files
Header Files
The following headers are automatically included in modules.h
Source Files
Raw pwm_meas.xml file:
<!DOCTYPE module SYSTEM "module.dtd">
<module name="pwm_meas" dir="core">
<doc>
<description>
PWM measurement.
PWM input measurement mcu periph access and init wrapper for other modules.
For LPC21xx on the TWOG:
- INPUT CAPTURE CAP0.3 on P0.29 (TWOG ADC5, 5V to 3.3V voltage divider)
- INPUT CAPTURE CAP0.0 on P0.30 (TWOG ADC4, no voltage divider)
For STM32:
- each board (or airframe file) has to define the PWM input pin and parameters
- example can be found in sw/airborne/boards/apogee_1.0.h board file
</description>
<define name="USE_PWM_INPUT1" value="PWM_PULSE_TYPE_ACTIVE_LOW|PWM_PULSE_TYPE_ACTIVE_HIGH" description="Activate PWM input 1 and select polarity"/>
<define name="USE_PWM_INPUT2" value="PWM_PULSE_TYPE_ACTIVE_LOW|PWM_PULSE_TYPE_ACTIVE_HIGH" description="Activate PWM input 2 and select polarity"/>
</doc>
<header>
<file name="pwm_meas.h"/>
</header>
<init fun="pwm_meas_init()"/>
<makefile target="ap">
<file name="pwm_meas.c"/>
<file name="pwm_input.c" dir="mcu_periph"/>
<file_arch name="pwm_input_arch.c" dir="mcu_periph"/>
<define name="USE_PWM_INPUT"/> <!-- needed to enable the pwm_input interrupts in mcu_periph/sys_time_arch.c -->
</makefile>
</module>