add sail start and conf functions

This commit is contained in:
Arnaud Vergnet 2020-11-07 15:50:57 +01:00
parent be4e10b063
commit f24d419c1b
6 changed files with 46 additions and 18 deletions

View file

@ -173,7 +173,7 @@ void Timer_conf(TIM_TypeDef * timer, int arr, int psc)
int getArrFromFreq(float freq) int getArrFromFreq(float freq)
{ {
return (72000000 / freq) - 1; return (72000 / freq) - 1;
} }
void Timer_pwmo_conf(TIM_TypeDef * timer, int channel, float freq, float dutyCycle) void Timer_pwmo_conf(TIM_TypeDef * timer, int channel, float freq, float dutyCycle)

View file

@ -1,11 +1,11 @@
#include "ServoMotor.h" #include "ServoMotor.h"
#include "Timer.h"
#define SERVO_MOTO_FREQ 50 #define SERVO_MOTO_FREQ 50
void ServoMotor_conf(TIM_TypeDef * timer, int channel) void ServoMotor_conf(TIM_TypeDef * timer, int channel, GPIO_TypeDef * gpio, int pin)
{ {
Timer_pwmo_conf(timer, channel, SERVO_MOTO_FREQ, 0); Timer_pwmo_conf(timer, channel, SERVO_MOTO_FREQ, 0.5);
GPIO_conf(gpio, pin, LL_GPIO_MODE_ALTERNATE, LL_GPIO_OUTPUT_PUSHPULL, LL_GPIO_PULL_UP);
} }
void ServoMotor_start(TIM_TypeDef * timer) void ServoMotor_start(TIM_TypeDef * timer)

View file

@ -2,15 +2,19 @@
#define SERVO_MOTOR_H #define SERVO_MOTOR_H
#include "stm32f103xb.h" #include "stm32f103xb.h"
#include "Timer.h"
#include "GPIO.h"
/** /**
* @brief Configure le servo moteur associé au timer donné * @brief Configure le servo moteur associé au timer donné
* @note * @note
* @param TIM_TypeDef Timer : indique le timer à utiliser : TIM1, TIM2, TIM3 ou TIM4 * @param TIM_TypeDef Timer : indique le timer à utiliser : TIM1, TIM2, TIM3 ou TIM4
* int channel : Le channel utilisé par le servo moteur * 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 * @retval None
*/ */
void ServoMotor_conf(TIM_TypeDef * timer, int channel); void ServoMotor_conf(TIM_TypeDef * timer, int channel, GPIO_TypeDef * gpio, int pin);
/** /**
* @brief Démarre les servo moteurs associés au timer donné * @brief Démarre les servo moteurs associés au timer donné

View file

@ -1 +1,28 @@
#include "Sail.h" #include "Sail.h"
#include "ServoMotor.h"
TIM_TypeDef * SAIL_TIMER = TIM4;
const int SAIL_CHANNEL = LL_TIM_CHANNEL_CH3;
GPIO_TypeDef * SAIL_GPIO = GPIOB;
const int SAIL_PIN = LL_GPIO_PIN_8;
void Sail_conf()
{
ServoMotor_conf(SAIL_TIMER, SAIL_CHANNEL, SAIL_GPIO, SAIL_PIN);
}
void Sail_background()
{
}
void Sail_reset()
{
}
void Sail_start()
{
Timer_start(SAIL_TIMER);
}

View file

@ -7,7 +7,7 @@
* @param None * @param None
* @retval None * @retval None
*/ */
void Sail_conf(); void Sail_conf(void);
/** /**
* @brief Execute la tache de fond des voiles en fonction des valeurs récupérées par les drivers * @brief Execute la tache de fond des voiles en fonction des valeurs récupérées par les drivers
@ -15,7 +15,7 @@ void Sail_conf();
* @param None * @param None
* @retval None * @retval None
*/ */
void Sail_background(); void Sail_background(void);
/** /**
* @brief Mets la voile à 90 degres * @brief Mets la voile à 90 degres
@ -23,7 +23,7 @@ void Sail_background();
* @param None * @param None
* @retval None * @retval None
*/ */
void Sail_reset(); void Sail_reset(void);
/** /**
* @brief Réinitialise la voile à sa position initiale * @brief Réinitialise la voile à sa position initiale
@ -31,6 +31,6 @@ void Sail_reset();
* @param None * @param None
* @retval None * @retval None
*/ */
void Sail_start(); void Sail_start(void);
#endif #endif

View file

@ -20,7 +20,7 @@
#include "stm32f1xx_ll_utils.h" // utile dans la fonction SystemClock_Config #include "stm32f1xx_ll_utils.h" // utile dans la fonction SystemClock_Config
#include "stm32f1xx_ll_system.h" // utile dans la fonction SystemClock_Config #include "stm32f1xx_ll_system.h" // utile dans la fonction SystemClock_Config
#include "Chrono.h" #include "Sail.h"
void SystemClock_Config(void); void SystemClock_Config(void);
@ -31,8 +31,6 @@ void SystemClock_Config(void);
* @param None * @param None
* @retval None * @retval None
*/ */
Time * time;
int main(void) int main(void)
{ {
@ -41,14 +39,13 @@ int main(void)
/* Add your application code here */ /* Add your application code here */
// Configuration chronomètre // Configuration chronomètre
Chrono_Conf(TIM3); // Chrono_Conf(TIM3);
// Lancement chronomètre // Lancement chronomètre
Chrono_Start(); // Chrono_Start();
// time = Chrono_Read();
time = Chrono_Read();
/* Infinite loop */ Sail_conf();
Sail_start();
while (1) while (1)
{ {
} }