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 /* For backward compatibility */
00090 #define pwm_testSetUp() pwm_testSetup()
00091 int pwm_testTearDown(void);
00092 
00093 #endif /* DRV_PWM_H */