X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fdrv%2Fpwm.c;h=d09d9627caa16a0d9da491ee06409ac376203d94;hb=b46f64914c62fbb0297728280478681659469654;hp=dd1f13491412b1c5c6eee179f1938f2e5995aaf9;hpb=48606ccf318afe90b928fb43e0bd48586ff8d632;p=bertos.git diff --git a/bertos/drv/pwm.c b/bertos/drv/pwm.c index dd1f1349..d09d9627 100644 --- a/bertos/drv/pwm.c +++ b/bertos/drv/pwm.c @@ -32,21 +32,30 @@ * * \brief PWM driver (implementation) * - * \version $Id$ * * \author Francesco Sacchi * \author Daniele Basile */ -#include -#include - -#include -#include +#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(pwm) + +#include +#include + /** * Set duty of pwm channel \p dev. @@ -56,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); } @@ -85,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); @@ -102,6 +113,7 @@ void pwm_init(void) pwm_setDuty(dev, 0); IRQ_RESTORE(flags); + MOD_INIT(pwm); }