projet_voilier/Services/ServoMotor.h
Arnaud Vergnet 4e69b9b112 improve doc
2020-11-15 16:53:55 +01:00

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