Contiki-NG
Files

Driver for a Generic Servo actuator. More...

Files

file  servo.c
 Driver for a generic Servo driver.
 
file  servo.h
 Header file for a Generic Servo driver.
 

Servo default settings

#define SERVO_DEFAULT_FREQ   50
 50 Hz
 
#define SERVO_MAX_DEGREES   180
 
#define SERVO_MIN_VAL   9600 /**> roughly equals to 3% duty cycle */
 
#define SERVO_MAX_VAL   38400 /**> roughly equals to 12% duty cycle */
 

Servo general purpose timers mapping

#define SERVO_CHANNEL_1   0x001
 GPT0-B.
 
#define SERVO_CHANNEL_2   0x100
 GPT1-A.
 
#define SERVO_CHANNEL_3   0x101
 GPT1-B.
 
#define SERVO_CHANNEL_4   0x200
 GPT2-A.
 
#define SERVO_CHANNEL_5   0x201
 GPT2-B.
 
#define SERVO_CHANNEL_6   0x300
 GPT3-A.
 
#define SERVO_CHANNEL_7   0x301
 GPT3-B.
 

Servo general constants

#define SERVO_SUCCESS   0
 
#define SERVO_ERROR   (-1)
 

Servo public funtions

int servo_position (uint16_t gptab, uint8_t port, uint8_t pin, uint16_t pos)
 Configures and positions a servo in a given position (by degrees) The servo will lock its position as long as it is not stopped. More...
 
int servo_stop (uint16_t gptab, uint8_t port, uint8_t pin)
 Fully stop a servo and reconfigures back the pin/port as GPIO. More...
 

Detailed Description

Driver for a Generic Servo actuator.

Function Documentation

◆ servo_position()

int servo_position ( uint16_t  gptab,
uint8_t  port,
uint8_t  pin,
uint16_t  pos 
)

Configures and positions a servo in a given position (by degrees) The servo will lock its position as long as it is not stopped.

Parameters
gptabServo channel (PWM GPT from 1-7)
portPort number to use as PWM
pinPin number to use as PWM
posPosition to map the servo to (0-360ยบ, integer)
Returns
SERVO_SUCCESS if successful, else SERVO_ERROR

Definition at line 55 of file servo.c.

◆ servo_stop()

int servo_stop ( uint16_t  gptab,
uint8_t  port,
uint8_t  pin 
)

Fully stop a servo and reconfigures back the pin/port as GPIO.

Parameters
gptabServo channel (PWM GPT from 1-7)
portPort number to use as PWM
pinPin number to use as PWM
Returns
SERVO_SUCCESS if successful, else SERVO_ERROR

Definition at line 105 of file servo.c.

References SERVO_CHANNEL_1, and SERVO_CHANNEL_7.