ALABORDAGE

This commit is contained in:
William Woodward 2025-12-03 09:05:49 +01:00
parent 083c6851d6
commit 7c2658d178
2 changed files with 24 additions and 13 deletions

View file

@ -3,6 +3,8 @@
#include <bordage.h> #include <bordage.h>
#include <MyTimer.h> #include <MyTimer.h>
// int* anglequonveut=0; A DECLARER DANS LE MAIN
void Init_bordage(TIM_TypeDef *Timer, char channel, unsigned short ValARR, unsigned short ValPSC){ void Init_bordage(TIM_TypeDef *Timer, char channel, unsigned short ValARR, unsigned short ValPSC){
MyTimer_Init(Timer,ValARR,ValPSC); MyTimer_Init(Timer,ValARR,ValPSC);
Mytimer_PWM(Timer, channel); Mytimer_PWM(Timer, channel);
@ -10,21 +12,30 @@ void Init_bordage(TIM_TypeDef *Timer, char channel, unsigned short ValARR, unsig
MyGPIO_Init(GPIOA, 0, AltOut_Ppull); MyGPIO_Init(GPIOA, 0, AltOut_Ppull);
} }
void Update_bodage (TIM_TypeDef *Timer, char channel){ void Update_bodage (TIM_TypeDef *Timer, char channel, float roulis, int* angle){
float val; float val;
int val2;
val = TIM4->CNT; val = TIM4->CNT;
if (val <4.0*45.0 || val > 4.0*(360.0-45.0)) { val2 = TIM4->CNT;
Mytimer_PWM_cycle(Timer, channel, 9); if (roulis < -40.0 || roulis > 40.0) {
Mytimer_PWM_cycle(Timer, channel, 5);
} }
else else {
if (val <= 720.0) { if (val <4.0*45.0 || val > 4.0*(360.0-45.0)) {
val/= -108.0; Mytimer_PWM_cycle(Timer, channel, 9);
val+= 35.0/3.0;
Mytimer_PWM_cycle(Timer, channel, (int) val);
} }
else{ else
val/= 108.0; if (val <= 720.0) {
val+= -5.0/3.0; *angle = 2*(val2)/12 -30;
Mytimer_PWM_cycle(Timer, channel, (int) val); val/= -108.0;
val+= 35.0/3.0;
Mytimer_PWM_cycle(Timer, channel, (int) val);
}
else{
*angle = -2*(val2)/12 + 210;
val/= 108.0;
val+= -5.0/3.0;
Mytimer_PWM_cycle(Timer, channel, (int) val);
}
} }
} }

View file

@ -4,6 +4,6 @@
void Init_bordage(TIM_TypeDef *Timer, char channel, unsigned short ValARR, unsigned short ValPSC); void Init_bordage(TIM_TypeDef *Timer, char channel, unsigned short ValARR, unsigned short ValPSC);
void Update_bodage (TIM_TypeDef *Timer, char channel); void Update_bodage (TIM_TypeDef *Timer, char channel, float roulis, int* angle);
#endif #endif