Projet voilier 4IRA1 Arnaud Vergnet Marino Benassai Bastien Picco Yohan Simard
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ServoMotor.h 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #ifndef SERVO_MOTOR_H
  2. #define SERVO_MOTOR_H
  3. #include "stm32f103xb.h"
  4. #include "Timer.h"
  5. #include "GPIO.h"
  6. /**
  7. * @brief Configure le timer PWM et le GPIO pour le servo moteur
  8. * @note
  9. * @param TIM_TypeDef Timer : indique le timer à utiliser : TIM1, TIM2, TIM3 ou TIM4
  10. * int channel : Le channel utilisé par le servo moteur
  11. * GPIO_TypeDef gpio : Le GPIO à utiliser pour la sortie de la PWM
  12. * int pin : Le PIN associé au GPIO
  13. * @retval None
  14. */
  15. void ServoMotor_conf(TIM_TypeDef * timer, int channel, GPIO_TypeDef * gpio, int pin);
  16. /**
  17. * @brief Démarre la PWM du servo moteur
  18. * @note
  19. * @param TIM_TypeDef Timer : indique le timer à utiliser : TIM1, TIM2, TIM3 ou TIM4
  20. * @retval None
  21. */
  22. void ServoMotor_start(TIM_TypeDef * timer);
  23. /**
  24. * @brief Modifie l'angle du servo moteur
  25. * @note
  26. * @param TIM_TypeDef Timer : indique le timer à utiliser : TIM1, TIM2, TIM3 ou TIM4
  27. * int channel : Le channel utilisé par le servo moteur
  28. * float angle : .En degrès (Valeur entre 0 et 359)
  29. * @retval None
  30. */
  31. void ServoMotor_setAngle(TIM_TypeDef * timer, int channel, int angle);
  32. /**
  33. * @brief Récupère l'angle du servo moteur
  34. * @note
  35. * @param TIM_TypeDef Timer : indique le timer à utiliser : TIM1, TIM2, TIM3 ou TIM4
  36. * int channel : Le channel utilisé par le servo moteur
  37. * @retval L'angle en degrès
  38. */
  39. int ServoMotor_getAngle(TIM_TypeDef * timer, int channel);
  40. #endif