kernel: preemptive and cooperative scheduler refactoring.
[bertos.git] / bertos / drv / dc_motor.h
index 75b2246f31180901ba206ce44729dfd409ce5286..9e7104037bc9f50cc70bb30dc21c350fd0b8f677 100644 (file)
  * -->
  *
  *
- * \brief DC motor driver (interface)
+ * \brief DC motor driver.
  *
  * \version $Id$
  *
  * \author Daniele Basile <asterix@develer.com>
  *
- * $WIZARD_MODULE = {
- * "name" : "dc_motor",
- * "depends" : ["pwm", "pid_control"],
- * "configuration" : "bertos/cfg/cfg_dc_motor.h"
- * }
+ * $WIZ$ module_name = "dc_motor"
+ * $WIZ$ module_depends = "pwm", "pid_control", "adc", "timer"
+ * $WIZ$ module_configuration = "bertos/cfg/cfg_dc_motor.h"
+ * $WIZ$ module_hw = "bertos/hw/hw_dc_motor.h"
  */
 
 #ifndef DRV_DC_MOTOR_H
@@ -78,6 +77,7 @@ typedef struct DCMotorConfig
 
        PwmDev pwm_dev;         ///< Pwm channel.
        pwm_freq_t freq;        ///< Pwm waveform frequency.
+       bool pol;               ///< Pwm waveform polarity.
 
        adc_ch_t adc_ch;        ///< ADC channel.
        adcread_t adc_max;      ///< ADC max scale value.
@@ -85,6 +85,8 @@ typedef struct DCMotorConfig
        mtime_t sample_delay;   ///< Delay before to sampling.
 
        bool dir;               ///< Default direction for select DC motor.
+       int speed_trm_id;       ///< Index of trimmer to set speed.
+       dc_speed_t speed;       ///< Default speed value for select DC motor.
 
 } DCMotorConfig;