Projet_Voilier/Services/Transmission.c
2025-12-02 23:04:10 +01:00

53 lines
No EOL
1.9 KiB
C

#include <stm32f10x.h>
#include <Transmission.h>
#include <USART.h>
extern uint32_t tickms;
uint32_t last1 = 0;
uint32_t last3 = 0;
uint32_t last4 = 0;
void Transmission_Init(void){
My_USART_Init(USART1); //USART3
}
void Transmission_allure(int angle_voiles){
if (tickms-last1 >= 5000){
last1 = tickms;
if (angle_voiles < 23) send_USART_String(USART1,"Le bateau navigue vent debout. \n"); //USART3
else if (angle_voiles < 27) send_USART_String(USART1,"Le bateau navigue au pres. \n"); //USART3
else if (angle_voiles < 38) send_USART_String(USART1,"Le bateau navigue au pres bon plein. \n"); //USART3
else if (angle_voiles < 53) send_USART_String(USART1,"Le bateau navigue au travers. \n"); //USART3
else if (angle_voiles < 71) send_USART_String(USART1,"Le bateau navigue au grand large. \n"); //USART3
else if (angle_voiles <= 90) send_USART_String(USART1,"Le bateau navigue vent arriere. \n"); //USART3
else send_USART_String(USART1,"ERREUR DANS L'ANGLE!! \n"); //USART3
}
}
void Transmission_batterie(int batterie){
if (tickms-last3 >= 5000){
last3 = tickms;
if(batterie > 50){
send_USART_String(USART1,"Batterie : "); //USART3
}
else{
send_USART_String(USART1, "ATTENTION LA BATTERIE EST SOUS LES 50% : "); //USART3
}
send_USART(USART1,(batterie/10) + '0'); // Envoie le chiffre des dizaines //USART3
send_USART(USART1,(batterie%10) + '0'); // Envoie le chiffre des unités //USART3
send_USART_String(USART1,"%\n"); //USART3
}
}
void Transmission_roulis(char roulis){
if (tickms-last4 >= 1000){
last4 = tickms;
send_USART_String(USART1, "Angle de roulis : "); //USART3
send_USART(USART1,(roulis/10) + '0'); // Envoie le chiffre des dizaines //USART3
send_USART(USART1,(roulis%10) + '0'); // Envoie le chiffre des unités //USART3
send_USART_String(USART1," degre(s)\n"); //USART3
if (roulis >= 40){
send_USART_String(USART1, "ANGLE DE ROULIS TROP ELEVE : DEBORDAGE!!! \n"); //USART3
}
}
}