From 1113fd6594a4f0667ff95b534126e64d1e9b5fe4 Mon Sep 17 00:00:00 2001 From: Yohan Simard Date: Tue, 13 Oct 2020 18:02:45 +0200 Subject: [PATCH] Add header files --- MDK-ARM/RTE/_Simulateur/RTE_Components.h | 3 +- MyDrivers/ADC.h | 70 +++++++++++++++ MyDrivers/GPIO.h | 70 +++++++++++++++ MyDrivers/Timer.h | 70 +++++++++++++++ MyDrivers/USART.h | 70 +++++++++++++++ Services/Accelerometer.h | 107 +++++++++++++++++++++++ Services/DCMotor.h | 107 +++++++++++++++++++++++ Services/IncrementalEncoder.h | 107 +++++++++++++++++++++++ Services/RFEmitter.h | 107 +++++++++++++++++++++++ Services/RFReceiver.h | 107 +++++++++++++++++++++++ Services/ServoMotor.h | 107 +++++++++++++++++++++++ Services/Voltage.h | 107 +++++++++++++++++++++++ Src/Command.h | 0 Src/Display.h | 0 Src/Orientation.h | 0 Src/Roll.h | 0 Src/Sail.h | 0 17 files changed, 1031 insertions(+), 1 deletion(-) create mode 100644 MyDrivers/ADC.h create mode 100644 MyDrivers/GPIO.h create mode 100644 MyDrivers/Timer.h create mode 100644 MyDrivers/USART.h create mode 100644 Services/Accelerometer.h create mode 100644 Services/DCMotor.h create mode 100644 Services/IncrementalEncoder.h create mode 100644 Services/RFEmitter.h create mode 100644 Services/RFReceiver.h create mode 100644 Services/ServoMotor.h create mode 100644 Services/Voltage.h create mode 100644 Src/Command.h create mode 100644 Src/Display.h create mode 100644 Src/Orientation.h create mode 100644 Src/Roll.h create mode 100644 Src/Sail.h diff --git a/MDK-ARM/RTE/_Simulateur/RTE_Components.h b/MDK-ARM/RTE/_Simulateur/RTE_Components.h index 1e9ee3e..ca6d1f5 100644 --- a/MDK-ARM/RTE/_Simulateur/RTE_Components.h +++ b/MDK-ARM/RTE/_Simulateur/RTE_Components.h @@ -1,6 +1,6 @@ /* - * Auto generated Run-Time-Environment Component Configuration File + * Auto generated Run-Time-Environment Configuration File * *** Do not modify ! *** * * Project: 'Project' @@ -17,4 +17,5 @@ #define CMSIS_device_header "stm32f10x.h" + #endif /* RTE_COMPONENTS_H */ diff --git a/MyDrivers/ADC.h b/MyDrivers/ADC.h new file mode 100644 index 0000000..f2fa06c --- /dev/null +++ b/MyDrivers/ADC.h @@ -0,0 +1,70 @@ +// RIEN A MODIFIER // + +#ifndef MY_TIMER_H +#define MY_TIMER_H + +/* +Driver pour Timer 1 à 4 du STM32F103RB + +*/ + +#include "stm32f103xb.h" + +/** + * @brief Active l'horloge et règle l'ARR et le PSC du timer visé + * @note Fonction à lancer avant toute autre. Le timer n'est pas encore lancé (voir MyTimerStart) + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * int Arr : valeur à placer dans ARR + * int Psc : valeur à placer dans PSC + * @retval None + */ +void MyTimer_Conf(TIM_TypeDef * Timer,int Arr, int Psc); + + +/** + * @brief Démarre le timer considéré + * @note + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * @retval None + */ +void MyTimer_Start(TIM_TypeDef * Timer); + + +/** + * @brief Arrêt le timer considéré + * @note + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * @retval None + */ +void MyTimer_Stop(TIM_TypeDef * Timer); + + +/** + * @brief Configure le Timer considéré en interruption sur débordement. + * @note A ce stade, les interruptions ne sont pas validés (voir MyTimer_IT_Enable ) + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * void (*IT_function) (void) : nom (adresse) de la fonction à lancer sur interruption + * int Prio : priorité associée à l'interruption + * @retval None + */ +void MyTimer_IT_Conf(TIM_TypeDef * Timer, void (*IT_function) (void),int Prio); + + +/** + * @brief Autorise les interruptions + * @note + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * @retval None + */ +void MyTimer_IT_Enable(TIM_TypeDef * Timer); + + +/** + * @brief Interdit les interruptions + * @note + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * @retval None + */ +void MyTimer_IT_Disable(TIM_TypeDef * Timer); + +#endif diff --git a/MyDrivers/GPIO.h b/MyDrivers/GPIO.h new file mode 100644 index 0000000..f2fa06c --- /dev/null +++ b/MyDrivers/GPIO.h @@ -0,0 +1,70 @@ +// RIEN A MODIFIER // + +#ifndef MY_TIMER_H +#define MY_TIMER_H + +/* +Driver pour Timer 1 à 4 du STM32F103RB + +*/ + +#include "stm32f103xb.h" + +/** + * @brief Active l'horloge et règle l'ARR et le PSC du timer visé + * @note Fonction à lancer avant toute autre. Le timer n'est pas encore lancé (voir MyTimerStart) + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * int Arr : valeur à placer dans ARR + * int Psc : valeur à placer dans PSC + * @retval None + */ +void MyTimer_Conf(TIM_TypeDef * Timer,int Arr, int Psc); + + +/** + * @brief Démarre le timer considéré + * @note + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * @retval None + */ +void MyTimer_Start(TIM_TypeDef * Timer); + + +/** + * @brief Arrêt le timer considéré + * @note + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * @retval None + */ +void MyTimer_Stop(TIM_TypeDef * Timer); + + +/** + * @brief Configure le Timer considéré en interruption sur débordement. + * @note A ce stade, les interruptions ne sont pas validés (voir MyTimer_IT_Enable ) + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * void (*IT_function) (void) : nom (adresse) de la fonction à lancer sur interruption + * int Prio : priorité associée à l'interruption + * @retval None + */ +void MyTimer_IT_Conf(TIM_TypeDef * Timer, void (*IT_function) (void),int Prio); + + +/** + * @brief Autorise les interruptions + * @note + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * @retval None + */ +void MyTimer_IT_Enable(TIM_TypeDef * Timer); + + +/** + * @brief Interdit les interruptions + * @note + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * @retval None + */ +void MyTimer_IT_Disable(TIM_TypeDef * Timer); + +#endif diff --git a/MyDrivers/Timer.h b/MyDrivers/Timer.h new file mode 100644 index 0000000..f2fa06c --- /dev/null +++ b/MyDrivers/Timer.h @@ -0,0 +1,70 @@ +// RIEN A MODIFIER // + +#ifndef MY_TIMER_H +#define MY_TIMER_H + +/* +Driver pour Timer 1 à 4 du STM32F103RB + +*/ + +#include "stm32f103xb.h" + +/** + * @brief Active l'horloge et règle l'ARR et le PSC du timer visé + * @note Fonction à lancer avant toute autre. Le timer n'est pas encore lancé (voir MyTimerStart) + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * int Arr : valeur à placer dans ARR + * int Psc : valeur à placer dans PSC + * @retval None + */ +void MyTimer_Conf(TIM_TypeDef * Timer,int Arr, int Psc); + + +/** + * @brief Démarre le timer considéré + * @note + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * @retval None + */ +void MyTimer_Start(TIM_TypeDef * Timer); + + +/** + * @brief Arrêt le timer considéré + * @note + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * @retval None + */ +void MyTimer_Stop(TIM_TypeDef * Timer); + + +/** + * @brief Configure le Timer considéré en interruption sur débordement. + * @note A ce stade, les interruptions ne sont pas validés (voir MyTimer_IT_Enable ) + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * void (*IT_function) (void) : nom (adresse) de la fonction à lancer sur interruption + * int Prio : priorité associée à l'interruption + * @retval None + */ +void MyTimer_IT_Conf(TIM_TypeDef * Timer, void (*IT_function) (void),int Prio); + + +/** + * @brief Autorise les interruptions + * @note + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * @retval None + */ +void MyTimer_IT_Enable(TIM_TypeDef * Timer); + + +/** + * @brief Interdit les interruptions + * @note + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * @retval None + */ +void MyTimer_IT_Disable(TIM_TypeDef * Timer); + +#endif diff --git a/MyDrivers/USART.h b/MyDrivers/USART.h new file mode 100644 index 0000000..f2fa06c --- /dev/null +++ b/MyDrivers/USART.h @@ -0,0 +1,70 @@ +// RIEN A MODIFIER // + +#ifndef MY_TIMER_H +#define MY_TIMER_H + +/* +Driver pour Timer 1 à 4 du STM32F103RB + +*/ + +#include "stm32f103xb.h" + +/** + * @brief Active l'horloge et règle l'ARR et le PSC du timer visé + * @note Fonction à lancer avant toute autre. Le timer n'est pas encore lancé (voir MyTimerStart) + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * int Arr : valeur à placer dans ARR + * int Psc : valeur à placer dans PSC + * @retval None + */ +void MyTimer_Conf(TIM_TypeDef * Timer,int Arr, int Psc); + + +/** + * @brief Démarre le timer considéré + * @note + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * @retval None + */ +void MyTimer_Start(TIM_TypeDef * Timer); + + +/** + * @brief Arrêt le timer considéré + * @note + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * @retval None + */ +void MyTimer_Stop(TIM_TypeDef * Timer); + + +/** + * @brief Configure le Timer considéré en interruption sur débordement. + * @note A ce stade, les interruptions ne sont pas validés (voir MyTimer_IT_Enable ) + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * void (*IT_function) (void) : nom (adresse) de la fonction à lancer sur interruption + * int Prio : priorité associée à l'interruption + * @retval None + */ +void MyTimer_IT_Conf(TIM_TypeDef * Timer, void (*IT_function) (void),int Prio); + + +/** + * @brief Autorise les interruptions + * @note + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * @retval None + */ +void MyTimer_IT_Enable(TIM_TypeDef * Timer); + + +/** + * @brief Interdit les interruptions + * @note + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * @retval None + */ +void MyTimer_IT_Disable(TIM_TypeDef * Timer); + +#endif diff --git a/Services/Accelerometer.h b/Services/Accelerometer.h new file mode 100644 index 0000000..4b03760 --- /dev/null +++ b/Services/Accelerometer.h @@ -0,0 +1,107 @@ +// RIEN A MODIFIER // + +#ifndef CHRONO_H +#define CHRONO_H + +/* +Service permettant de chornométrer jusqu'à 59mn 59s 99 1/100 +Utilise un timer au choix (TIMER1 à TIMER4). +Utilise la lib MyTimers.h /.c +*/ + +#include "stm32f103xb.h" + +/* ===================================================================================== +Les fonctions qui gèrent les IO (ajout par rapport à l'activité 1) +=======================================================================================*/ + + +#define PinStart LL_GPIO_PIN_8 +#define PinStop LL_GPIO_PIN_6 +// à compléter pour la pin reset du chronometre +#define PinLED LL_GPIO_PIN_10 +#define GPIO_Pin GPIOC +#define GPIO_LED GPIOC + + + + + + +/** + * @brief polle les 3 entrées et gènère les actions à faire + * @note Fct à lancer en tâche de fond (non bloquante) + * @param None + * @retval None + */ + +void Chrono_Background(void); + +//=======================================================================================// + + + + +// Type de donnée utilisé dans le module + +typedef struct { + char Hund; + char Sec; + char Min; +} Time; + + + + +/** + * @brief Configure le chronomètre. + * @note A lancer avant toute autre fonction. + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * @retval None + */ +void Chrono_Conf(TIM_TypeDef * Timer); + + + + + + +/** + * @brief Démarre le chronomètre. + * @note si la durée dépasse 59mn 59sec 99 cent, elle est remise à zéro et repart + * @param Aucun + * @retval Aucun + */ +void Chrono_Start(void); + + +/** + * @brief Arrête le chronomètre. + * @note + * @param Aucun + * @retval Aucun + */ +void Chrono_Stop(void); + + +/** + * @brief Remet le chronomètre à 0 + * @note + * @param Aucun + * @retval Aucun + */ +void Chrono_Reset(void); + + +/** + * @brief Renvoie l'adresse de la variable Time privée gérée dans le module Chrono.c + * @note + * @param Aucun + * @retval adresse de la variable Time + */ +Time * Chrono_Read(void); + + + + +#endif diff --git a/Services/DCMotor.h b/Services/DCMotor.h new file mode 100644 index 0000000..4b03760 --- /dev/null +++ b/Services/DCMotor.h @@ -0,0 +1,107 @@ +// RIEN A MODIFIER // + +#ifndef CHRONO_H +#define CHRONO_H + +/* +Service permettant de chornométrer jusqu'à 59mn 59s 99 1/100 +Utilise un timer au choix (TIMER1 à TIMER4). +Utilise la lib MyTimers.h /.c +*/ + +#include "stm32f103xb.h" + +/* ===================================================================================== +Les fonctions qui gèrent les IO (ajout par rapport à l'activité 1) +=======================================================================================*/ + + +#define PinStart LL_GPIO_PIN_8 +#define PinStop LL_GPIO_PIN_6 +// à compléter pour la pin reset du chronometre +#define PinLED LL_GPIO_PIN_10 +#define GPIO_Pin GPIOC +#define GPIO_LED GPIOC + + + + + + +/** + * @brief polle les 3 entrées et gènère les actions à faire + * @note Fct à lancer en tâche de fond (non bloquante) + * @param None + * @retval None + */ + +void Chrono_Background(void); + +//=======================================================================================// + + + + +// Type de donnée utilisé dans le module + +typedef struct { + char Hund; + char Sec; + char Min; +} Time; + + + + +/** + * @brief Configure le chronomètre. + * @note A lancer avant toute autre fonction. + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * @retval None + */ +void Chrono_Conf(TIM_TypeDef * Timer); + + + + + + +/** + * @brief Démarre le chronomètre. + * @note si la durée dépasse 59mn 59sec 99 cent, elle est remise à zéro et repart + * @param Aucun + * @retval Aucun + */ +void Chrono_Start(void); + + +/** + * @brief Arrête le chronomètre. + * @note + * @param Aucun + * @retval Aucun + */ +void Chrono_Stop(void); + + +/** + * @brief Remet le chronomètre à 0 + * @note + * @param Aucun + * @retval Aucun + */ +void Chrono_Reset(void); + + +/** + * @brief Renvoie l'adresse de la variable Time privée gérée dans le module Chrono.c + * @note + * @param Aucun + * @retval adresse de la variable Time + */ +Time * Chrono_Read(void); + + + + +#endif diff --git a/Services/IncrementalEncoder.h b/Services/IncrementalEncoder.h new file mode 100644 index 0000000..4b03760 --- /dev/null +++ b/Services/IncrementalEncoder.h @@ -0,0 +1,107 @@ +// RIEN A MODIFIER // + +#ifndef CHRONO_H +#define CHRONO_H + +/* +Service permettant de chornométrer jusqu'à 59mn 59s 99 1/100 +Utilise un timer au choix (TIMER1 à TIMER4). +Utilise la lib MyTimers.h /.c +*/ + +#include "stm32f103xb.h" + +/* ===================================================================================== +Les fonctions qui gèrent les IO (ajout par rapport à l'activité 1) +=======================================================================================*/ + + +#define PinStart LL_GPIO_PIN_8 +#define PinStop LL_GPIO_PIN_6 +// à compléter pour la pin reset du chronometre +#define PinLED LL_GPIO_PIN_10 +#define GPIO_Pin GPIOC +#define GPIO_LED GPIOC + + + + + + +/** + * @brief polle les 3 entrées et gènère les actions à faire + * @note Fct à lancer en tâche de fond (non bloquante) + * @param None + * @retval None + */ + +void Chrono_Background(void); + +//=======================================================================================// + + + + +// Type de donnée utilisé dans le module + +typedef struct { + char Hund; + char Sec; + char Min; +} Time; + + + + +/** + * @brief Configure le chronomètre. + * @note A lancer avant toute autre fonction. + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * @retval None + */ +void Chrono_Conf(TIM_TypeDef * Timer); + + + + + + +/** + * @brief Démarre le chronomètre. + * @note si la durée dépasse 59mn 59sec 99 cent, elle est remise à zéro et repart + * @param Aucun + * @retval Aucun + */ +void Chrono_Start(void); + + +/** + * @brief Arrête le chronomètre. + * @note + * @param Aucun + * @retval Aucun + */ +void Chrono_Stop(void); + + +/** + * @brief Remet le chronomètre à 0 + * @note + * @param Aucun + * @retval Aucun + */ +void Chrono_Reset(void); + + +/** + * @brief Renvoie l'adresse de la variable Time privée gérée dans le module Chrono.c + * @note + * @param Aucun + * @retval adresse de la variable Time + */ +Time * Chrono_Read(void); + + + + +#endif diff --git a/Services/RFEmitter.h b/Services/RFEmitter.h new file mode 100644 index 0000000..4b03760 --- /dev/null +++ b/Services/RFEmitter.h @@ -0,0 +1,107 @@ +// RIEN A MODIFIER // + +#ifndef CHRONO_H +#define CHRONO_H + +/* +Service permettant de chornométrer jusqu'à 59mn 59s 99 1/100 +Utilise un timer au choix (TIMER1 à TIMER4). +Utilise la lib MyTimers.h /.c +*/ + +#include "stm32f103xb.h" + +/* ===================================================================================== +Les fonctions qui gèrent les IO (ajout par rapport à l'activité 1) +=======================================================================================*/ + + +#define PinStart LL_GPIO_PIN_8 +#define PinStop LL_GPIO_PIN_6 +// à compléter pour la pin reset du chronometre +#define PinLED LL_GPIO_PIN_10 +#define GPIO_Pin GPIOC +#define GPIO_LED GPIOC + + + + + + +/** + * @brief polle les 3 entrées et gènère les actions à faire + * @note Fct à lancer en tâche de fond (non bloquante) + * @param None + * @retval None + */ + +void Chrono_Background(void); + +//=======================================================================================// + + + + +// Type de donnée utilisé dans le module + +typedef struct { + char Hund; + char Sec; + char Min; +} Time; + + + + +/** + * @brief Configure le chronomètre. + * @note A lancer avant toute autre fonction. + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * @retval None + */ +void Chrono_Conf(TIM_TypeDef * Timer); + + + + + + +/** + * @brief Démarre le chronomètre. + * @note si la durée dépasse 59mn 59sec 99 cent, elle est remise à zéro et repart + * @param Aucun + * @retval Aucun + */ +void Chrono_Start(void); + + +/** + * @brief Arrête le chronomètre. + * @note + * @param Aucun + * @retval Aucun + */ +void Chrono_Stop(void); + + +/** + * @brief Remet le chronomètre à 0 + * @note + * @param Aucun + * @retval Aucun + */ +void Chrono_Reset(void); + + +/** + * @brief Renvoie l'adresse de la variable Time privée gérée dans le module Chrono.c + * @note + * @param Aucun + * @retval adresse de la variable Time + */ +Time * Chrono_Read(void); + + + + +#endif diff --git a/Services/RFReceiver.h b/Services/RFReceiver.h new file mode 100644 index 0000000..4b03760 --- /dev/null +++ b/Services/RFReceiver.h @@ -0,0 +1,107 @@ +// RIEN A MODIFIER // + +#ifndef CHRONO_H +#define CHRONO_H + +/* +Service permettant de chornométrer jusqu'à 59mn 59s 99 1/100 +Utilise un timer au choix (TIMER1 à TIMER4). +Utilise la lib MyTimers.h /.c +*/ + +#include "stm32f103xb.h" + +/* ===================================================================================== +Les fonctions qui gèrent les IO (ajout par rapport à l'activité 1) +=======================================================================================*/ + + +#define PinStart LL_GPIO_PIN_8 +#define PinStop LL_GPIO_PIN_6 +// à compléter pour la pin reset du chronometre +#define PinLED LL_GPIO_PIN_10 +#define GPIO_Pin GPIOC +#define GPIO_LED GPIOC + + + + + + +/** + * @brief polle les 3 entrées et gènère les actions à faire + * @note Fct à lancer en tâche de fond (non bloquante) + * @param None + * @retval None + */ + +void Chrono_Background(void); + +//=======================================================================================// + + + + +// Type de donnée utilisé dans le module + +typedef struct { + char Hund; + char Sec; + char Min; +} Time; + + + + +/** + * @brief Configure le chronomètre. + * @note A lancer avant toute autre fonction. + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * @retval None + */ +void Chrono_Conf(TIM_TypeDef * Timer); + + + + + + +/** + * @brief Démarre le chronomètre. + * @note si la durée dépasse 59mn 59sec 99 cent, elle est remise à zéro et repart + * @param Aucun + * @retval Aucun + */ +void Chrono_Start(void); + + +/** + * @brief Arrête le chronomètre. + * @note + * @param Aucun + * @retval Aucun + */ +void Chrono_Stop(void); + + +/** + * @brief Remet le chronomètre à 0 + * @note + * @param Aucun + * @retval Aucun + */ +void Chrono_Reset(void); + + +/** + * @brief Renvoie l'adresse de la variable Time privée gérée dans le module Chrono.c + * @note + * @param Aucun + * @retval adresse de la variable Time + */ +Time * Chrono_Read(void); + + + + +#endif diff --git a/Services/ServoMotor.h b/Services/ServoMotor.h new file mode 100644 index 0000000..4b03760 --- /dev/null +++ b/Services/ServoMotor.h @@ -0,0 +1,107 @@ +// RIEN A MODIFIER // + +#ifndef CHRONO_H +#define CHRONO_H + +/* +Service permettant de chornométrer jusqu'à 59mn 59s 99 1/100 +Utilise un timer au choix (TIMER1 à TIMER4). +Utilise la lib MyTimers.h /.c +*/ + +#include "stm32f103xb.h" + +/* ===================================================================================== +Les fonctions qui gèrent les IO (ajout par rapport à l'activité 1) +=======================================================================================*/ + + +#define PinStart LL_GPIO_PIN_8 +#define PinStop LL_GPIO_PIN_6 +// à compléter pour la pin reset du chronometre +#define PinLED LL_GPIO_PIN_10 +#define GPIO_Pin GPIOC +#define GPIO_LED GPIOC + + + + + + +/** + * @brief polle les 3 entrées et gènère les actions à faire + * @note Fct à lancer en tâche de fond (non bloquante) + * @param None + * @retval None + */ + +void Chrono_Background(void); + +//=======================================================================================// + + + + +// Type de donnée utilisé dans le module + +typedef struct { + char Hund; + char Sec; + char Min; +} Time; + + + + +/** + * @brief Configure le chronomètre. + * @note A lancer avant toute autre fonction. + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * @retval None + */ +void Chrono_Conf(TIM_TypeDef * Timer); + + + + + + +/** + * @brief Démarre le chronomètre. + * @note si la durée dépasse 59mn 59sec 99 cent, elle est remise à zéro et repart + * @param Aucun + * @retval Aucun + */ +void Chrono_Start(void); + + +/** + * @brief Arrête le chronomètre. + * @note + * @param Aucun + * @retval Aucun + */ +void Chrono_Stop(void); + + +/** + * @brief Remet le chronomètre à 0 + * @note + * @param Aucun + * @retval Aucun + */ +void Chrono_Reset(void); + + +/** + * @brief Renvoie l'adresse de la variable Time privée gérée dans le module Chrono.c + * @note + * @param Aucun + * @retval adresse de la variable Time + */ +Time * Chrono_Read(void); + + + + +#endif diff --git a/Services/Voltage.h b/Services/Voltage.h new file mode 100644 index 0000000..4b03760 --- /dev/null +++ b/Services/Voltage.h @@ -0,0 +1,107 @@ +// RIEN A MODIFIER // + +#ifndef CHRONO_H +#define CHRONO_H + +/* +Service permettant de chornométrer jusqu'à 59mn 59s 99 1/100 +Utilise un timer au choix (TIMER1 à TIMER4). +Utilise la lib MyTimers.h /.c +*/ + +#include "stm32f103xb.h" + +/* ===================================================================================== +Les fonctions qui gèrent les IO (ajout par rapport à l'activité 1) +=======================================================================================*/ + + +#define PinStart LL_GPIO_PIN_8 +#define PinStop LL_GPIO_PIN_6 +// à compléter pour la pin reset du chronometre +#define PinLED LL_GPIO_PIN_10 +#define GPIO_Pin GPIOC +#define GPIO_LED GPIOC + + + + + + +/** + * @brief polle les 3 entrées et gènère les actions à faire + * @note Fct à lancer en tâche de fond (non bloquante) + * @param None + * @retval None + */ + +void Chrono_Background(void); + +//=======================================================================================// + + + + +// Type de donnée utilisé dans le module + +typedef struct { + char Hund; + char Sec; + char Min; +} Time; + + + + +/** + * @brief Configure le chronomètre. + * @note A lancer avant toute autre fonction. + * @param TIM_TypeDef Timer : indique le timer à utiliser par le chronomètre, TIM1, TIM2, TIM3 ou TIM4 + * @retval None + */ +void Chrono_Conf(TIM_TypeDef * Timer); + + + + + + +/** + * @brief Démarre le chronomètre. + * @note si la durée dépasse 59mn 59sec 99 cent, elle est remise à zéro et repart + * @param Aucun + * @retval Aucun + */ +void Chrono_Start(void); + + +/** + * @brief Arrête le chronomètre. + * @note + * @param Aucun + * @retval Aucun + */ +void Chrono_Stop(void); + + +/** + * @brief Remet le chronomètre à 0 + * @note + * @param Aucun + * @retval Aucun + */ +void Chrono_Reset(void); + + +/** + * @brief Renvoie l'adresse de la variable Time privée gérée dans le module Chrono.c + * @note + * @param Aucun + * @retval adresse de la variable Time + */ +Time * Chrono_Read(void); + + + + +#endif diff --git a/Src/Command.h b/Src/Command.h new file mode 100644 index 0000000..e69de29 diff --git a/Src/Display.h b/Src/Display.h new file mode 100644 index 0000000..e69de29 diff --git a/Src/Orientation.h b/Src/Orientation.h new file mode 100644 index 0000000..e69de29 diff --git a/Src/Roll.h b/Src/Roll.h new file mode 100644 index 0000000..e69de29 diff --git a/Src/Sail.h b/Src/Sail.h new file mode 100644 index 0000000..e69de29