X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcpu%2Farm%2Fdrv%2Fpwm_at91.h;h=c8b0fd473d7494053e858ca46c66f5d9f061796f;hb=507e95236d43b2aa6d6b6e46bde5cb92345ab034;hp=50cac043bc7e30339f99fbe46c9de7150306f9e8;hpb=c3946aa680a46e466e33c797d9ee93c5433964c4;p=bertos.git diff --git a/bertos/cpu/arm/drv/pwm_at91.h b/bertos/cpu/arm/drv/pwm_at91.h index 50cac043..c8b0fd47 100644 --- a/bertos/cpu/arm/drv/pwm_at91.h +++ b/bertos/cpu/arm/drv/pwm_at91.h @@ -41,14 +41,13 @@ #ifndef DRV_PWM_AT91_H #define DRV_PWM_AT91_H -#include +#include "hw/pwm_map.h" #include #include #include -#include "appconfig.h" #define PWM_HW_MAX_PRESCALER_STEP 10 #define PWM_HW_MAX_PERIOD 0xFFFF @@ -64,6 +63,7 @@ typedef uint16_t pwm_period_t; typedef struct PwmChannel { bool duty_zero; ///< True if duty cyle is zero, false otherwise. + bool pol; ///< PWM polarty flag. int pwm_pin; ///< PWM pin. reg32_t *mode_reg; ///< PWM mode register. reg32_t *duty_reg; ///< PWM duty cycle register. @@ -78,6 +78,7 @@ void pwm_hw_setFrequency(PwmDev dev, uint32_t freq); void pwm_hw_setDutyUnlock(PwmDev dev, uint16_t duty); void pwm_hw_disable(PwmDev dev); void pwm_hw_enable(PwmDev dev); +void pwm_hw_setPolarity(PwmDev dev, bool pol); pwm_period_t pwm_hw_getPeriod(PwmDev dev); #endif /* DRV_ADC_AT91_H */