X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fdrv%2Fpwm.h;h=f03582142213a1402ea2a39c9fe88e137286c66d;hb=37efb5bdc0504ab6df2e8db0635c9c6f7477e23e;hp=f60986eb374b6a44d0d2c44d1d53f6a4e7db1f42;hpb=3fb609d60480eefd5e43d48d13cb9f387c38cb0f;p=bertos.git diff --git a/bertos/drv/pwm.h b/bertos/drv/pwm.h index f60986eb..f0358214 100644 --- a/bertos/drv/pwm.h +++ b/bertos/drv/pwm.h @@ -31,26 +31,47 @@ * * \version $Id$ * - * \brief PWM driver (interface) + * \brief Pulse Width Modulation (PWM) driver. * * \version $Id$ * \author Francesco Sacchi * \author Daniele Basile + * + * $WIZ$ module_name = "pwm" + * $WIZ$ module_configuration = "bertos/cfg/cfg_pwm.h" */ #ifndef DRV_PWM_H #define DRV_PWM_H #include "hw/pwm_map.h" + +#include + +#include CPU_HEADER(pwm) + #include #define PWM_MAX_DUTY ((pwm_duty_t)0xFFFF) -#define PWM_MAX_PERIOD 0xFFFF -#define PWM_MAX_PERIOD_LOG2 16 +#define PWM_MAX_PERIOD 0xFFFF +#define PWM_MAX_PERIOD_LOG2 16 +/** + * PWM type define. + */ typedef uint16_t pwm_duty_t; typedef uint32_t pwm_freq_t; + + +/** + * Set PWM polarity of pwm \p dev. + */ +INLINE void pwm_setPolarity(PwmDev dev, bool pol) +{ + pwm_hw_setPolarity(dev, pol); +} + void pwm_setDuty(PwmDev dev, pwm_duty_t duty); void pwm_setFrequency(PwmDev dev, pwm_freq_t freq); void pwm_enable(PwmDev dev, bool state); @@ -62,7 +83,7 @@ void pwm_init(void); * See pwm_test.c for implemntation of these functions. */ int pwm_testRun(void); -int pwm_testSetup(void); +int pwm_testSetUp(void); int pwm_testTearDown(void); #endif /* DRV_PWM_H */