Ajout de pleins de commentaires + modifications voile
This commit is contained in:
parent
96c8eb9242
commit
cc4d4415e9
9 changed files with 223 additions and 66 deletions
|
@ -432,6 +432,54 @@
|
||||||
<ExecCommand></ExecCommand>
|
<ExecCommand></ExecCommand>
|
||||||
<Expression></Expression>
|
<Expression></Expression>
|
||||||
</Bp>
|
</Bp>
|
||||||
|
<Bp>
|
||||||
|
<Number>3</Number>
|
||||||
|
<Type>0</Type>
|
||||||
|
<LineNumber>35</LineNumber>
|
||||||
|
<EnabledFlag>1</EnabledFlag>
|
||||||
|
<Address>0</Address>
|
||||||
|
<ByteObject>0</ByteObject>
|
||||||
|
<HtxType>0</HtxType>
|
||||||
|
<ManyObjects>0</ManyObjects>
|
||||||
|
<SizeOfObject>0</SizeOfObject>
|
||||||
|
<BreakByAccess>0</BreakByAccess>
|
||||||
|
<BreakIfRCount>0</BreakIfRCount>
|
||||||
|
<Filename>..\Src\Voilier.c</Filename>
|
||||||
|
<ExecCommand></ExecCommand>
|
||||||
|
<Expression></Expression>
|
||||||
|
</Bp>
|
||||||
|
<Bp>
|
||||||
|
<Number>4</Number>
|
||||||
|
<Type>0</Type>
|
||||||
|
<LineNumber>36</LineNumber>
|
||||||
|
<EnabledFlag>1</EnabledFlag>
|
||||||
|
<Address>0</Address>
|
||||||
|
<ByteObject>0</ByteObject>
|
||||||
|
<HtxType>0</HtxType>
|
||||||
|
<ManyObjects>0</ManyObjects>
|
||||||
|
<SizeOfObject>0</SizeOfObject>
|
||||||
|
<BreakByAccess>0</BreakByAccess>
|
||||||
|
<BreakIfRCount>0</BreakIfRCount>
|
||||||
|
<Filename>..\Src\Voilier.c</Filename>
|
||||||
|
<ExecCommand></ExecCommand>
|
||||||
|
<Expression></Expression>
|
||||||
|
</Bp>
|
||||||
|
<Bp>
|
||||||
|
<Number>5</Number>
|
||||||
|
<Type>0</Type>
|
||||||
|
<LineNumber>81</LineNumber>
|
||||||
|
<EnabledFlag>1</EnabledFlag>
|
||||||
|
<Address>0</Address>
|
||||||
|
<ByteObject>0</ByteObject>
|
||||||
|
<HtxType>0</HtxType>
|
||||||
|
<ManyObjects>0</ManyObjects>
|
||||||
|
<SizeOfObject>0</SizeOfObject>
|
||||||
|
<BreakByAccess>0</BreakByAccess>
|
||||||
|
<BreakIfRCount>0</BreakIfRCount>
|
||||||
|
<Filename>..\Src\Voilier.c</Filename>
|
||||||
|
<ExecCommand></ExecCommand>
|
||||||
|
<Expression></Expression>
|
||||||
|
</Bp>
|
||||||
</Breakpoint>
|
</Breakpoint>
|
||||||
<WatchWindow1>
|
<WatchWindow1>
|
||||||
<Ww>
|
<Ww>
|
||||||
|
@ -514,7 +562,7 @@
|
||||||
<GroupNumber>1</GroupNumber>
|
<GroupNumber>1</GroupNumber>
|
||||||
<FileNumber>1</FileNumber>
|
<FileNumber>1</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>1</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<bDave2>0</bDave2>
|
<bDave2>0</bDave2>
|
||||||
<PathWithFileName>..\Src\Voilier.c</PathWithFileName>
|
<PathWithFileName>..\Src\Voilier.c</PathWithFileName>
|
||||||
|
@ -582,7 +630,7 @@
|
||||||
<GroupNumber>2</GroupNumber>
|
<GroupNumber>2</GroupNumber>
|
||||||
<FileNumber>6</FileNumber>
|
<FileNumber>6</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>1</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<bDave2>0</bDave2>
|
<bDave2>0</bDave2>
|
||||||
<PathWithFileName>..\Src\Voile.c</PathWithFileName>
|
<PathWithFileName>..\Src\Voile.c</PathWithFileName>
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
#ifndef ALLURE_H
|
#ifndef ALLURE_H
|
||||||
#define ALLURE_H
|
#define ALLURE_H
|
||||||
|
|
||||||
|
/* PERSONNES QUI ONT TRAVAILLE SUR CE MODULE : PAUL */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Configure la girouette pour la détection de l'allure (sens du vent).
|
* @brief Configure la girouette pour la détection de l'allure (sens du vent).
|
||||||
* @note Configuration des ports PA6 et 7 en alternate input pour récupérer les signaux
|
* @note Configuration des ports PA6 et 7 en alternate input pour récupérer les signaux
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
#ifndef GOUVERNAIL_H
|
#ifndef GOUVERNAIL_H
|
||||||
#define GOUVERNAIL_H
|
#define GOUVERNAIL_H
|
||||||
|
|
||||||
|
/* PERSONNES QUI ONT TRAVAILLE SUR CE MODULE : PAUL, ELISE */
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Configure le récepteur de la télécommande ainsi que le plateau rotatif.
|
* @brief Configure le récepteur de la télécommande ainsi que le plateau rotatif.
|
||||||
* @note Configuration du port PB6 et 7 en alternate input pour récupérer les signaux de la télécommande
|
* @note Configuration du port PB6 et 7 en alternate input pour récupérer les signaux de la télécommande
|
||||||
|
|
|
@ -75,12 +75,6 @@ void ConfSecurite(){
|
||||||
LL_ADC_Enable(ADC1);
|
LL_ADC_Enable(ADC1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Recuperer le niveau de batterie
|
|
||||||
* @note ADC1 -> Channel 12 (Rang 2)
|
|
||||||
* @param None
|
|
||||||
* @retval niveau de batterie en pourcentage
|
|
||||||
*/
|
|
||||||
int RecupNiveauBatterie(void){
|
int RecupNiveauBatterie(void){
|
||||||
// Lancement de la conversion
|
// Lancement de la conversion
|
||||||
LL_ADC_INJ_StartConversionSWStart(ADC1);
|
LL_ADC_INJ_StartConversionSWStart(ADC1);
|
||||||
|
@ -93,12 +87,6 @@ int RecupNiveauBatterie(void){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Met le flag de dangerBatterie à 1 si batterie faible.
|
|
||||||
* @note
|
|
||||||
* @param un entier representant le niveau de batterie en pourcentage
|
|
||||||
* @retval
|
|
||||||
*/
|
|
||||||
int CalculerDangerNiveauBatterie(int niveau){
|
int CalculerDangerNiveauBatterie(int niveau){
|
||||||
if ( niveau <= Seuil)
|
if ( niveau <= Seuil)
|
||||||
{
|
{
|
||||||
|
@ -111,12 +99,6 @@ int CalculerDangerNiveauBatterie(int niveau){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @brief Mets le flag drapeauDangerRouli a 1 si l angle de rouli est mauvais
|
|
||||||
* @note Si le voilier prend un angle de roulis supe´rieur a` 40° -> MSG de danger + voiles sont imme´diatement rela^che´es
|
|
||||||
* @param un entier representant l angle de rouli
|
|
||||||
* @retval NONE
|
|
||||||
*/
|
|
||||||
int CalculerDangerChavirement(int gamma){
|
int CalculerDangerChavirement(int gamma){
|
||||||
if ( gamma >= SeuilAngle)
|
if ( gamma >= SeuilAngle)
|
||||||
{
|
{
|
||||||
|
@ -128,12 +110,6 @@ int CalculerDangerChavirement(int gamma){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* @brief Recuperer l angle de rouli
|
|
||||||
* @note ADC1 -> Channel 10 (Rang 1)
|
|
||||||
* @param None
|
|
||||||
* @retval angle de rouli
|
|
||||||
*/
|
|
||||||
int RecupRouli(){
|
int RecupRouli(){
|
||||||
// Lancement de la conversion
|
// Lancement de la conversion
|
||||||
LL_ADC_INJ_StartConversionSWStart(ADC1);
|
LL_ADC_INJ_StartConversionSWStart(ADC1);
|
||||||
|
|
|
@ -1,44 +1,49 @@
|
||||||
#ifndef SECURITE_H
|
#ifndef SECURITE_H
|
||||||
#define SECURITE_H
|
#define SECURITE_H
|
||||||
|
|
||||||
/**
|
/* PERSONNES QUI ONT TRAVAILLE SUR CE MODULE : ELIES, AURIANE, ELISE */
|
||||||
* @brief
|
|
||||||
* @note
|
|
||||||
* @param
|
/**
|
||||||
* @retval
|
* @brief Mets le flag drapeauDangerRouli a 1 si l angle de roulis est mauvais
|
||||||
*/
|
* @note Si le voilier prend un angle de roulis supérieur à 40° -> MSG de danger + voiles sont immédiatement relâchées
|
||||||
|
* @param un entier representant l angle de roulis (entre 0 et 90 degrés)
|
||||||
|
* @retval NONE
|
||||||
|
*/
|
||||||
int CalculerDangerChavirement(int gamma);
|
int CalculerDangerChavirement(int gamma);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief
|
* @brief Recuperer l angle de rouli
|
||||||
* @note
|
* @note ADC1 -> Channel 10 (Rang 1)
|
||||||
* @param
|
* @param None
|
||||||
* @retval
|
* @retval angle de rouli (entre 0 et 90 degrès)
|
||||||
*/
|
*/
|
||||||
int RecupRouli(void);
|
int RecupRouli(void);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief
|
* @brief Recuperer le niveau de batterie
|
||||||
* @note
|
* @note ADC1 -> Channel 12 (Rang 2)
|
||||||
* @param
|
* @param None
|
||||||
* @retval
|
* @retval niveau de batterie en pourcentage (entre 0 et 100)
|
||||||
*/
|
*/
|
||||||
int RecupNiveauBatterie(void);
|
int RecupNiveauBatterie(void);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief
|
* @brief Configuration de l'ADC 1 pour l'acceleromètre et le niveau de batterie
|
||||||
* @note A lancer en 1er avant tout
|
* @note Channels 10 et 12. A lancer en 1er
|
||||||
* @param
|
* @param None
|
||||||
* @retval
|
* @retval None
|
||||||
*/
|
*/
|
||||||
void ConfSecurite(void);
|
void ConfSecurite(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief
|
* @brief Met le flag de dangerBatterie à 1 si batterie faible.
|
||||||
* @note
|
* @note
|
||||||
* @param
|
* @param un entier representant le niveau de batterie en pourcentage
|
||||||
* @retval
|
* @retval 1 si danger, 0 si pas de danger
|
||||||
*/
|
*/
|
||||||
int CalculerDangerNiveauBatterie(int niveau);
|
int CalculerDangerNiveauBatterie(int niveau);
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,42 @@
|
||||||
#ifndef TRANSMISSION_H
|
#ifndef TRANSMISSION_H
|
||||||
#define TRANSMISSION_H
|
#define TRANSMISSION_H
|
||||||
|
|
||||||
|
|
||||||
|
/* PERSONNES QUI ONT TRAVAILLE SUR CE MODULE : PAUL, ELIES, AURIANE */
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Initialiser la structure de transmission avec les chaines de caractères pour l'envoi régulier
|
||||||
|
* @note Flag d'envoi mis à 1 à la fin pour activer la transmission dans EnvoyerCaractere
|
||||||
|
* @param 2 chaines de caractères pour l'allure et la tension des voiles
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
void EnvoiRegulier(char * Allure, char * tension);
|
void EnvoiRegulier(char * Allure, char * tension);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Initialiser la structure de transmission avec les chaines de caractères pour l'envoi excptionnel
|
||||||
|
* @note Flag d'envoi mis à 1 à la fin pour activer la transmission dans EnvoyerCaractere
|
||||||
|
Envoi excpetionnel peut être un message d'alerte pour la batterie ou le roulis
|
||||||
|
* @param A chaine de caractère pour indiquer quel danger est mis en avant
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
void EnvoiExceptionnel(char * msgAlarme);
|
void EnvoiExceptionnel(char * msgAlarme);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Appelée en BG dans le while(1). Si le flag d'envoi est à 1, envoi le prochain caractère contenu dans la
|
||||||
|
structure transmission
|
||||||
|
* @note
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
void EnvoyerCaractere(void);
|
void EnvoyerCaractere(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Configuration de l'USART pour les transmissions
|
||||||
|
* @note None
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
void ConfTransmission(void);
|
void ConfTransmission(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
82
Src/Voile.c
82
Src/Voile.c
|
@ -15,21 +15,35 @@
|
||||||
#define A_BETA_TO_GAMMA ((GAMMA_90 - GAMMA_0)/90.0) //Coefficient directeur de la relation entre l'angle de voile et la PWM
|
#define A_BETA_TO_GAMMA ((GAMMA_90 - GAMMA_0)/90.0) //Coefficient directeur de la relation entre l'angle de voile et la PWM
|
||||||
#define B_BETA_TO_GAMMA (GAMMA_0) //Ordonnée a l'origine
|
#define B_BETA_TO_GAMMA (GAMMA_0) //Ordonnée a l'origine
|
||||||
|
|
||||||
|
//Valeurs de CCR1 pour la PWM output
|
||||||
|
#define POSITION_00 1000
|
||||||
|
#define POSITION_10 1100
|
||||||
|
#define POSITION_20 1200
|
||||||
|
#define POSITION_30 1300
|
||||||
|
#define POSITION_40 1400
|
||||||
|
#define POSITION_50 1500
|
||||||
|
#define POSITION_60 1600
|
||||||
|
#define POSITION_70 1700
|
||||||
|
#define POSITION_80 1800
|
||||||
|
#define POSITION_90 1900
|
||||||
|
|
||||||
|
|
||||||
int angleVoileActuel = 0; //angle de la voile. Mis à jour quans on la tend. de 0 à 45.
|
int angleVoileActuel = 0; //angle de la voile. Mis à jour quans on la tend. de 0 à 45.
|
||||||
|
|
||||||
void ConfVoile(void){
|
|
||||||
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOA);
|
|
||||||
LL_TIM_SetAutoReload(Timer, ARR);
|
|
||||||
LL_TIM_SetPrescaler(Timer, PSC);
|
|
||||||
LL_GPIO_SetPinMode(GPIOA,LL_GPIO_PIN_8,LL_GPIO_MODE_ALTERNATE);
|
|
||||||
LL_GPIO_SetPinOutputType(GPIOA,LL_GPIO_PIN_8,LL_GPIO_OUTPUT_PUSHPULL);
|
|
||||||
LL_TIM_OC_SetMode(Timer, channel, LL_TIM_OCMODE_PWM1);
|
|
||||||
Timer->CCER |= TIM_CCER_CC1E;
|
|
||||||
Timer->BDTR |= 0x1 << 15;
|
|
||||||
Timer->CCR1 = 1500; // par defaut tendu à 1ms
|
|
||||||
LL_TIM_EnableCounter(Timer);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
void ConfVoile(void){
|
||||||
|
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOA); //Enable l'horloge du GPIOA
|
||||||
|
LL_TIM_SetAutoReload(Timer, ARR); //On règle l'ARR
|
||||||
|
LL_TIM_SetPrescaler(Timer, PSC); //On règle le PSC
|
||||||
|
LL_GPIO_SetPinMode(GPIOA,LL_GPIO_PIN_8,LL_GPIO_MODE_ALTERNATE); //Pin en mode output alternate
|
||||||
|
LL_GPIO_SetPinOutputType(GPIOA,LL_GPIO_PIN_8,LL_GPIO_OUTPUT_PUSHPULL); //Pin en mode output pushpull
|
||||||
|
LL_TIM_OC_SetMode(Timer, channel, LL_TIM_OCMODE_PWM1); //On met le timer en mode PWM1 sur le channel choisi
|
||||||
|
Timer->CCER |= TIM_CCER_CC1E; //On enable le comptage dans le timer en output
|
||||||
|
Timer->BDTR |= 0x1 << 15; //Comme on utilise le Timer1, on met le bit MOE à 1
|
||||||
|
Timer->CCR1 = 1500; // par defaut tendu à 1ms
|
||||||
|
LL_TIM_EnableCounter(Timer); //On commence le comptage
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int RecupTensionVoile(void){
|
int RecupTensionVoile(void){
|
||||||
|
@ -49,7 +63,49 @@ int CalculerTension(int alpha){
|
||||||
|
|
||||||
void TendreVoile(int theta)
|
void TendreVoile(int theta)
|
||||||
{
|
{
|
||||||
Timer->CCR1 = (int)(A_BETA_TO_GAMMA * (float)theta + B_BETA_TO_GAMMA) ;
|
if (theta < 5){
|
||||||
|
Timer->CCR1 = POSITION_00;
|
||||||
|
angleVoileActuel = 0;
|
||||||
|
}
|
||||||
|
if (theta < 10){
|
||||||
|
Timer->CCR1 = POSITION_10;
|
||||||
|
angleVoileActuel = 10;
|
||||||
|
}
|
||||||
|
else if(theta < 20){
|
||||||
|
Timer->CCR1 = POSITION_20;
|
||||||
|
angleVoileActuel = 20;
|
||||||
|
}
|
||||||
|
else if(theta < 30){
|
||||||
|
Timer->CCR1 = POSITION_30;
|
||||||
|
angleVoileActuel = 30;
|
||||||
|
}
|
||||||
|
else if(theta < 40){
|
||||||
|
Timer->CCR1 = POSITION_40;
|
||||||
|
angleVoileActuel = 40;
|
||||||
|
}
|
||||||
|
else if(theta < 50){
|
||||||
|
Timer->CCR1 = POSITION_50;
|
||||||
|
angleVoileActuel = 50;
|
||||||
|
}
|
||||||
|
else if(theta < 60){
|
||||||
|
Timer->CCR1 = POSITION_60;
|
||||||
|
angleVoileActuel = 60;
|
||||||
|
}
|
||||||
|
else if(theta < 70){
|
||||||
|
Timer->CCR1 = POSITION_70;
|
||||||
|
angleVoileActuel = 70;
|
||||||
|
}
|
||||||
|
else if(theta < 80){
|
||||||
|
Timer->CCR1 = POSITION_80;
|
||||||
|
angleVoileActuel = 80;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
Timer->CCR1 = POSITION_90;
|
||||||
|
angleVoileActuel = 90;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//Timer->CCR1 = (int)(A_BETA_TO_GAMMA * (float)theta + B_BETA_TO_GAMMA) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
char * TensionVoileToString(int theta) {
|
char * TensionVoileToString(int theta) {
|
||||||
|
|
41
Src/Voile.h
41
Src/Voile.h
|
@ -1,18 +1,51 @@
|
||||||
#ifndef VOILE_H
|
#ifndef VOILE_H
|
||||||
#define VOILE_H
|
#define VOILE_H
|
||||||
|
|
||||||
|
/* PERSONNES QUI ONT TRAVAILLE SUR CE MODULE : ELIES, AURIANE */
|
||||||
|
|
||||||
|
/* RESOLUTION PWM SERVOMOTEUR : 10 POSITIONS POSSIBLES*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Configuration du Timer en mode PWM output
|
||||||
|
* @note Timer1 en thérie
|
||||||
|
* @param
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
void ConfVoile(void);
|
void ConfVoile(void);
|
||||||
|
|
||||||
|
/**
|
||||||
char * ToString(int theta) ;
|
* @brief Retourne la valeur de l'angle de la voile actuel en degrés
|
||||||
|
* @note
|
||||||
|
* @param
|
||||||
|
* @retval Un angle compris entre 5 et 90 (en degrés) (10 valeurs possibles entre dans [5,10,20,30,40,50,60,70,80,90]
|
||||||
|
*/
|
||||||
int RecupTensionVoile(void);
|
int RecupTensionVoile(void);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Calcule à partir de l'angle alpha (allure), l'angle theta (de la voile) à avoir
|
||||||
|
* @note Si alpha < 45, on détend la voile (theta = 90)
|
||||||
|
* @param Un entier alpha compris entre 0 et 180
|
||||||
|
* @retval Un angle theta compris entre 0 et 90 degrés (en degrés)
|
||||||
|
*/
|
||||||
int CalculerTension(int alpha);
|
int CalculerTension(int alpha);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Met à jour le registre CCR1 pour tendre la voile selon theta
|
||||||
|
* @note 10 niveaus possibles pour la résolution PWM.
|
||||||
|
* @param Un entier theta entre 0 et 90
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
void TendreVoile(int theta);
|
void TendreVoile(int theta);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Associe un chaine de caractère a une valeur d'angle de voile
|
||||||
|
* @note
|
||||||
|
* @param theta : un entier entre 10 valeurs possibles [5,10,20,30,40,50,60,70,80,90]
|
||||||
|
* @retval Une chaine de caractère représentant l'angle de voile
|
||||||
|
*/
|
||||||
char * TensionVoileToString(int theta);
|
char * TensionVoileToString(int theta);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -9,6 +9,10 @@
|
||||||
#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
|
||||||
|
|
||||||
|
|
||||||
|
/* PERSONNES QUI ONT TRAVAILLE SUR CE MODULE : PAUL, ELIES, AURIANE, ELIES */
|
||||||
|
|
||||||
|
|
||||||
void SystemClock_Config(void);
|
void SystemClock_Config(void);
|
||||||
|
|
||||||
void ConfSysTick(void){
|
void ConfSysTick(void){
|
||||||
|
@ -53,7 +57,7 @@ void Envoi3s(){
|
||||||
*/
|
*/
|
||||||
void Task100ms(){
|
void Task100ms(){
|
||||||
|
|
||||||
int dangerRoulis = 0; //Variable qui permet de ne pas tendre les voiles si il y a trop de roulis
|
int dangerRoulis = 0; //Variable qui permet de ne pas tendre les voiles si il y a trop de roulis
|
||||||
|
|
||||||
//Anti-Chavirement
|
//Anti-Chavirement
|
||||||
if(CalculerDangerChavirement(RecupRouli())){//renvoi boolean : int à 0 si faux et 1 si vrai
|
if(CalculerDangerChavirement(RecupRouli())){//renvoi boolean : int à 0 si faux et 1 si vrai
|
||||||
|
|
Loading…
Reference in a new issue