46 lines
1.4 KiB
C
46 lines
1.4 KiB
C
#ifndef SERVO_MOTOR_H
|
|
#define SERVO_MOTOR_H
|
|
|
|
#include "stm32f103xb.h"
|
|
#include "Timer.h"
|
|
#include "GPIO.h"
|
|
|
|
/**
|
|
* @brief Configure le timer PWM et le GPIO pour le servo moteur
|
|
* @note
|
|
* @param TIM_TypeDef Timer : indique le timer à utiliser : TIM1, TIM2, TIM3 ou TIM4
|
|
* int channel : Le channel utilisé par le servo moteur
|
|
* GPIO_TypeDef gpio : Le GPIO à utiliser pour la sortie de la PWM
|
|
* int pin : Le PIN associé au GPIO
|
|
* @retval None
|
|
*/
|
|
void ServoMotor_conf(TIM_TypeDef * timer, int channel, GPIO_TypeDef * gpio, int pin);
|
|
|
|
/**
|
|
* @brief Démarre la PWM du servo moteur
|
|
* @note
|
|
* @param TIM_TypeDef Timer : indique le timer à utiliser : TIM1, TIM2, TIM3 ou TIM4
|
|
* @retval None
|
|
*/
|
|
void ServoMotor_start(TIM_TypeDef * timer);
|
|
|
|
/**
|
|
* @brief Modifie l'angle du servo moteur
|
|
* @note
|
|
* @param TIM_TypeDef Timer : indique le timer à utiliser : TIM1, TIM2, TIM3 ou TIM4
|
|
* int channel : Le channel utilisé par le servo moteur
|
|
* float angle : .En degrès (Valeur entre 0 et 359)
|
|
* @retval None
|
|
*/
|
|
void ServoMotor_setAngle(TIM_TypeDef * timer, int channel, int angle);
|
|
|
|
/**
|
|
* @brief Récupère l'angle du servo moteur
|
|
* @note
|
|
* @param TIM_TypeDef Timer : indique le timer à utiliser : TIM1, TIM2, TIM3 ou TIM4
|
|
* int channel : Le channel utilisé par le servo moteur
|
|
* @retval L'angle en degrès
|
|
*/
|
|
int ServoMotor_getAngle(TIM_TypeDef * timer, int channel);
|
|
|
|
#endif
|