X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fdrv%2Fpwm.c;h=d09d9627caa16a0d9da491ee06409ac376203d94;hb=725cafb9cae4987654575ab5def2673ca535f31e;hp=81297a60eb3885be91bffd041acf83c7f51bb8d9;hpb=832d19fcad21baf01d187ca81cebf0f67c7020d2;p=bertos.git diff --git a/bertos/drv/pwm.c b/bertos/drv/pwm.c index 81297a60..d09d9627 100644 --- a/bertos/drv/pwm.c +++ b/bertos/drv/pwm.c @@ -32,18 +32,26 @@ * * \brief PWM driver (implementation) * - * \version $Id$ * * \author Francesco Sacchi * \author Daniele Basile */ +#include "cfg/cfg_pwm.h" + #include +#include + +// Define logging setting (for cfg/log.h module). +#define LOG_LEVEL PWM_LOG_LEVEL +#define LOG_VERBOSITY PWM_LOG_FORMAT + +#include #include #include -#include CPU_HEADER(ser) +#include CPU_HEADER(pwm) #include #include @@ -57,13 +65,13 @@ 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); + duty = MIN(duty, PWM_MAX_DUTY); period = pwm_hw_getPeriod(dev); real_duty = (uint64_t)(duty * period) >> (uint64_t)PWM_MAX_PERIOD_LOG2; -// TRACEMSG("real_duty[%d] duty[%d], period[%d]", real_duty, duty, period); + LOG_INFO("real_duty[%d] duty[%d], period[%d]\n", real_duty, duty, period); pwm_hw_setDutyUnlock(dev, real_duty); } @@ -86,12 +94,14 @@ void pwm_enable(PwmDev dev, bool state) pwm_hw_disable(dev); } +MOD_DEFINE(pwm); + /** * Initialize PWM hw. */ void pwm_init(void) { - cpuflags_t flags; + cpu_flags_t flags; PwmDev dev; IRQ_SAVE_DISABLE(flags); @@ -103,6 +113,7 @@ void pwm_init(void) pwm_setDuty(dev, 0); IRQ_RESTORE(flags); + MOD_INIT(pwm); }