From 2b69d0d33d72e2ae9d433fc1345bb9148ee4c9c0 Mon Sep 17 00:00:00 2001 From: leo Date: Wed, 3 Dec 2025 10:39:04 +0100 Subject: [PATCH] VF Okay --- Services/bordage.c | 5 +++-- Services/bordage.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Services/bordage.c b/Services/bordage.c index 1a46c41..d22baa8 100644 --- a/Services/bordage.c +++ b/Services/bordage.c @@ -12,10 +12,11 @@ void Init_bordage(){ MyGPIO_Init(GPIOA, 8, AltOut_Ppull); } -void Update_bordage (TIM_TypeDef *Timer, char channel, float roulis){ +void Update_bordage (TIM_TypeDef *Timer, char channel, char roulis){ float val; val = TIM4->CNT; - if (roulis < -40.0 || roulis > 40.0) { + char roulisabs = (1<<7) - (roulis & 0x7F); + if ((roulis >= 40.0 && !(roulis & (1<<7))) || ((roulis & (1<<7)) && (roulisabs >= 40))) { Mytimer_PWM_cycle(Timer, channel, 5); } else { diff --git a/Services/bordage.h b/Services/bordage.h index d362d59..f2518b9 100644 --- a/Services/bordage.h +++ b/Services/bordage.h @@ -4,7 +4,7 @@ void Init_bordage(); -void Update_bordage (TIM_TypeDef *Timer, char channel, float roulis); +void Update_bordage (TIM_TypeDef *Timer, char channel, char roulis); int Calcul_Angle();