From 0fc121930fbffd8b214f6ff1b14ece04b54fc9aa Mon Sep 17 00:00:00 2001 From: "Elise.B" Date: Mon, 19 Oct 2020 10:45:50 +0200 Subject: [PATCH] Modif Voilier (main) --- Src/Voilier.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) diff --git a/Src/Voilier.c b/Src/Voilier.c index 80da42a..6c2473a 100644 --- a/Src/Voilier.c +++ b/Src/Voilier.c @@ -1,4 +1,73 @@ +#include "Allure.h" +#include "AntiChavirement.h" +#include "Batterie.h" +#include "Gouvernail.h" +#include "Heure.h" +#include "Transmission.h" +#include "Voile.h" + + +/** + * @brief configure tous les periphs qu'on va utiliser en appelant les + fonctions de config de chaque "module" + * @note + * @param None + * @retval None + */ +void Setup(){ + ConfAllure(); + ConfVoile(); + ConfGouvernail(); + ConfAntiChavirement(); + +} + + +//on utilise EnvoiRegulier de Transmission +//TODO : récuperer les valeurs des params de EnvoiRegulier +//Interruption toute les 3s via un Timer qui déclenche cette fonction qui permet d'envoyer ce qu'il faut + +/** + * @brief + * @note + * @param + * @retval + */ +void Envoi3s(){ + +} + +/** + * @brief tache qui va fonctionner en fond qui gere l'orientation + des voiles, le gouvernail et aussi le systeme anti-chavirement + * @note relacher les voiles <=> tendre les voiles avec un angle à 90° + * @param None + * @retval None + */ +void Background(){ + //Voiles + int allure = RecupAllure(); //on recupere l'allulre via la girouette + int tensionVoile = CalculerTension(allure); //grace à l'allure on peut calculer la tension à appliquer sur la voile + TendreVoile(tensionVoile); //on tend la voile grâce à la tension obtenue + + //Gouvernail + int valeurTelecommande = LireTelecommande(); //on lit la valeur renvoyée par la télécommande + int vitesse = CalculerVitesse(valeurTelecommande);//gràace à la valeur de la telecommande on calcule la vitesse souhaitée + CommanderMoteur(vitesse);//On commande le moteur pour aller à la vitesse voulue + + //Anti-Chavirement + int rouli = RecupRouli(); + int danger = CalculerDanger(rouli);//renvoi boolean : int à 0 si faux et 1 si vrai + if(danger){ + TendreVoile(90); //si il y a danger on relache les voiles (relacher les voiles = les mettre à 90) + } + +} + int main(){ - //c'est le main ici + Setup(); + while(1){ + Background(); + } return 0; } \ No newline at end of file