Remove unneeded doxygen tags.
[bertos.git] / bertos / drv / pwm.h
index 03d98453499af5f23a6fb4643a414acfefebc1b9..db00b62a293ebd35baa419944f9595b93c212a82 100644 (file)
  * Copyright 2005 Develer S.r.l. (http://www.develer.com/)
  * -->
  *
- * \version $Id$
  *
- * \brief PWM driver (interface)
+ * \brief Pulse Width Modulation (PWM) driver.
  *
- * \version $Id$
  * \author Francesco Sacchi <batt@develer.com>
+ * \author Daniele Basile <asterix@develer.com>
+ *
+ * $WIZ$ module_name = "pwm"
+ * $WIZ$ module_configuration = "bertos/cfg/cfg_pwm.h"
+ * $WIZ$ module_hw = "bertos/hw/pwm_map.h"
+ * $WIZ$ module_supports = "not avr and not cm3"
  */
 
 #ifndef DRV_PWM_H
 #define DRV_PWM_H
 
-#include <pwm_map.h>
+#include "hw/pwm_map.h"
+
+#include <cpu/attr.h>
+
+#include CPU_HEADER(pwm)
+
 #include <cfg/compiler.h>
 
+#define PWM_MAX_DUTY              ((pwm_duty_t)0xFFFF)
+#define PWM_MAX_PERIOD                         0xFFFF
+#define PWM_MAX_PERIOD_LOG2                        16
+
+/**
+ * PWM type define.
+ */
 typedef uint16_t pwm_duty_t;
+typedef uint32_t pwm_freq_t;
+
+
+
+/**
+ * Set PWM polarity of pwm \p dev.
+ */
+INLINE void pwm_setPolarity(PwmDev dev, bool pol)
+{
+    pwm_hw_setPolarity(dev, pol);
+}
 
 void pwm_setDuty(PwmDev dev, pwm_duty_t duty);
+void pwm_setFrequency(PwmDev dev, pwm_freq_t freq);
+void pwm_setPolarity(PwmDev dev, bool pol);
+void pwm_enable(PwmDev dev, bool state);
 void pwm_init(void);
 
-#define PWM_MAX_DUTY 100
+/*
+ * Test function prototypes.
+ *
+ * See pwm_test.c for implemntation of these functions.
+ */
+void pwm_testRun(void);
+int pwm_testSetup(void);
+/* For backward compatibility */
+#define pwm_testSetUp() pwm_testSetup()
+int pwm_testTearDown(void);
 
 #endif /* DRV_PWM_H */