*
* \brief PWM driver (implementation)
*
- * \version $Id$
*
* \author Francesco Sacchi <batt@develer.com>
* \author Daniele Basile <asterix@develer.com>
*/
+#include "cfg/cfg_pwm.h"
+
#include <cfg/macros.h>
+#include <cfg/module.h>
+
+// Define logging setting (for cfg/log.h module).
+#define LOG_LEVEL PWM_LOG_LEVEL
+#define LOG_VERBOSITY PWM_LOG_FORMAT
+
+#include <cfg/log.h>
#include <cfg/debug.h>
#include <drv/pwm.h>
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);
}
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);
pwm_setDuty(dev, 0);
IRQ_RESTORE(flags);
+ MOD_INIT(pwm);
}