pwm.h

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