pwm.h
Go to the documentation of this file.00001
00046 #ifndef DRV_PWM_H
00047 #define DRV_PWM_H
00048
00049 #include "hw/pwm_map.h"
00050
00051 #include <cpu/attr.h>
00052
00053 #include CPU_HEADER(pwm)
00054
00055 #include <cfg/compiler.h>
00056
00057 #define PWM_MAX_DUTY ((pwm_duty_t)0xFFFF)
00058 #define PWM_MAX_PERIOD 0xFFFF
00059 #define PWM_MAX_PERIOD_LOG2 16
00060
00064 typedef uint16_t pwm_duty_t;
00065 typedef uint32_t pwm_freq_t;
00066
00067
00068
00072 INLINE void pwm_setPolarity(PwmDev dev, bool pol)
00073 {
00074 pwm_hw_setPolarity(dev, pol);
00075 }
00076
00077 void pwm_setDuty(PwmDev dev, pwm_duty_t duty);
00078 void pwm_setFrequency(PwmDev dev, pwm_freq_t freq);
00079 void pwm_enable(PwmDev dev, bool state);
00080 void pwm_init(void);
00081
00087 void pwm_testRun(void);
00088 int pwm_testSetup(void);
00089
00090 #define pwm_testSetUp() pwm_testSetup()
00091 int pwm_testTearDown(void);
00092
00093 #endif