37#ifndef SERVO_PWM_PARAM_DEV 
   43#define SERVO_PWM_PARAM_DEV             PWM_DEV(0) 
   46#ifndef SERVO_PWM_PARAM_RES 
   52#define SERVO_PWM_PARAM_RES             UINT16_MAX 
   55#ifndef SERVO_PWM_PARAM_FREQ 
   61#define SERVO_PWM_PARAM_FREQ            50 
   64#ifndef SERVO_PWM_PARAMS 
   68#define SERVO_PWM_PARAMS    {\ 
   69        .pwm    = SERVO_PWM_PARAM_DEV, \ 
   70        .freq   = SERVO_PWM_PARAM_FREQ, \ 
   71        .res    = SERVO_PWM_PARAM_RES, \ 
 
   88#ifndef SERVO_TIMER_PARAM_DEV 
   94#define SERVO_TIMER_PARAM_DEV           TIMER_DEV(1) 
   97#ifndef SERVO_TIMER_PARAM_TIMER_FREQ 
  103#define SERVO_TIMER_PARAM_TIMER_FREQ    MHZ(1) 
  106#ifndef SERVO_TIMER_PARAM_SERVO_FREQ 
  112#define SERVO_TIMER_PARAM_SERVO_FREQ    50 
  115#ifndef SERVO_TIMER_PARAM_TIMER_CTX 
  129#define SERVO_TIMER_PARAM_TIMER_CTX     (&servo_timer_default_ctx) 
  132#ifndef SERVO_TIMER_PARAMS 
  136#define SERVO_TIMER_PARAMS    {\ 
  137        .timer      = SERVO_TIMER_PARAM_DEV, \ 
  138        .timer_freq = SERVO_TIMER_PARAM_TIMER_FREQ, \ 
  139        .servo_freq = SERVO_TIMER_PARAM_SERVO_FREQ, \ 
  140        .ctx        = SERVO_TIMER_PARAM_TIMER_CTX, \ 
 
  157#ifndef SERVO_PARAM_PWM_PARAMS 
  163#define SERVO_PARAM_PWM_PARAMS          (&servo_pwm_params[0]) 
  166#ifndef SERVO_PARAM_TIMER_PARAMS 
  172#define SERVO_PARAM_TIMER_PARAMS        (&servo_timer_params[0]) 
  175#ifndef SERVO_PARAM_PWM_CHAN 
  181#define SERVO_PARAM_PWM_CHAN            0 
  184#ifndef SERVO_PARAM_TIMER_CHAN 
  190#define SERVO_PARAM_TIMER_CHAN          1 
  193#ifndef SERVO_PARAM_PIN 
  199#define SERVO_PARAM_PIN                 GPIO_UNDEF 
  202#ifndef SERVO_PARAM_MIN_US 
  208#define SERVO_PARAM_MIN_US              900UL 
  211#ifndef SERVO_PARAM_MAX_US 
  217#define SERVO_PARAM_MAX_US              2100UL 
  224#ifdef MODULE_SERVO_PWM 
  225#define SERVO_PARAMS    {\ 
  226        .pwm        = SERVO_PARAM_PWM_PARAMS, \ 
  227        .min_us     = SERVO_PARAM_MIN_US, \ 
  228        .max_us     = SERVO_PARAM_MAX_US, \ 
  229        .pwm_chan   = SERVO_PARAM_PWM_CHAN, \ 
  232#ifdef MODULE_SERVO_TIMER 
  233#define SERVO_PARAMS    {\ 
  234        .timer      = SERVO_PARAM_TIMER_PARAMS, \ 
  235        .servo_pin  = SERVO_PARAM_PIN, \ 
  236        .min_us     = SERVO_PARAM_MIN_US, \ 
  237        .max_us     = SERVO_PARAM_MAX_US, \ 
  238        .timer_chan = SERVO_PARAM_TIMER_CHAN, \ 
  252#ifndef SERVO_SAULINFO 
  256#define SERVO_SAULINFO  { .name = "servo" } 
Low-level timer peripheral driver interface definitions.
 
Low-level GPIO peripheral driver interface definitions.
 
servo_timer_ctx_t servo_timer_default_ctx
Default timer context.
 
Low-level PWM peripheral driver interface definitions.
 
SAUL registry interface definition.
 
High-level driver for easy handling of servo motors.
 
static const servo_params_t servo_params[]
Parameters for controlling a servo.
 
#define SERVO_SAULINFO
Servo SAUL info.
 
#define SERVO_TIMER_PARAMS
TIMER parameters for controlling a servo.
 
static const servo_pwm_params_t servo_pwm_params[]
Servo PWM parameters.
 
#define SERVO_PWM_PARAMS
PWM parameters for controlling a servo.
 
static const servo_timer_params_t servo_timer_params[]
Servo timer parameters.
 
static const saul_reg_info_t servo_saul_info[]
Allocate and configure entries to the SAUL registry.
 
Additional data to collect for each entry.
 
Configuration parameters for a servo.
 
PWM configuration parameters for a servos.
 
Memory needed for book keeping when using periph_timer_periodic based servo driver.
 
Timer configuration parameters for a servos.