X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=drv%2Fpwm.c;h=cb5a45fb0e7293b7f5c292ff2fad620dc9f09a3b;hb=HEAD;hp=3946188262263c0f406062adef2fac522a19d77b;hpb=351e7eedb652e50b5a335a5f37f930e191b96345;p=bertos.git diff --git a/drv/pwm.c b/drv/pwm.c deleted file mode 100644 index 39461882..00000000 --- a/drv/pwm.c +++ /dev/null @@ -1,109 +0,0 @@ -/** - * \file - * - * - * - * \brief PWM driver (implementation) - * - * \version $Id$ - * - * \author Francesco Sacchi - * \author Daniele Basile - */ - -#include -#include - -#include -#include - -#include -#include - - -/** - * Set duty of pwm channel \p dev. - */ -void pwm_setDuty(PwmDev dev, pwm_duty_t duty) -{ - pwm_period_t period = 0; - pwm_duty_t real_duty = 0; - - duty = MIN(duty, (pwm_duty_t)PWM_MAX_DUTY); - - period = pwm_hw_getPeriod(dev); - - real_duty = (uint64_t)(duty * period) >> (uint64_t)PWM_MAX_PERIOD_LOG2; - -// kprintf("real_duty[%d] duty[%d], period[%d]\n", real_duty, duty, period); - pwm_hw_setDutyUnlock(dev, real_duty); -} - -/** - * Set frequency of pwm channel \p dev at \p freq in Hz. - */ -void pwm_setFrequency(PwmDev dev, pwm_freq_t freq) -{ - pwm_hw_setFrequency(dev, freq); -} - -/** - * Set duty of pwm channel \p dev. - */ -void pwm_enable(PwmDev dev, bool state) -{ - if (state) - pwm_hw_enable(dev); - else - pwm_hw_disable(dev); -} - -/** - * Initialize PWM hw. - */ -void pwm_init(void) -{ - cpuflags_t flags; - PwmDev dev; - - IRQ_SAVE_DISABLE(flags); - - /* set all pwm to 0 */ - for (dev = 0; dev < PWM_CNT; dev++) - pwm_setDuty(dev, 0); - - pwm_hw_init(); - - IRQ_RESTORE(flags); -} - - - -