From 083c6851d650275065d00256bc8ca548b135cc13 Mon Sep 17 00:00:00 2001 From: leo Date: Wed, 3 Dec 2025 08:54:46 +0100 Subject: [PATCH] Transmission roulis okay --- Services/Transmission.c | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/Services/Transmission.c b/Services/Transmission.c index 5dc8648..2cf6f58 100644 --- a/Services/Transmission.c +++ b/Services/Transmission.c @@ -31,7 +31,7 @@ void Transmission_batterie(int batterie){ send_USART_String(USART1,"Batterie : "); //USART3 } else{ - send_USART_String(USART1, "ATTENTION LA BATTERIE EST SOUS LES 50% : "); //USART3 + send_USART_String(USART1, "SEUIL DE BATTERIE ATTEINT : "); //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 @@ -40,14 +40,26 @@ void Transmission_batterie(int batterie){ } void Transmission_roulis(char roulis){ - if (tickms-last4 >= 1000){ + char angabs; + if (tickms-last4 >= 2000){ 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){ + if (roulis >= 40 && !(roulis & (1<<7))){ send_USART_String(USART1, "ANGLE DE ROULIS TROP ELEVE : DEBORDAGE!!! \n"); //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 } + else if (roulis & (1<<7)) { + angabs = (1<<7) - (roulis & 0x7F); + if (angabs >= 40) send_USART_String(USART1, "ANGLE DE ROULIS TROP ELEVE : DEBORDAGE!!! \n"); //USART3 + else send_USART_String(USART1, "Angle de roulis : "); + send_USART(USART1,(angabs/10) + '0'); + send_USART(USART1,(angabs%10) + '0'); + } + else { + 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 } } \ No newline at end of file