ALABORDAGE
This commit is contained in:
parent
083c6851d6
commit
7c2658d178
2 changed files with 24 additions and 13 deletions
|
|
@ -3,6 +3,8 @@
|
|||
#include <bordage.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){
|
||||
MyTimer_Init(Timer,ValARR,ValPSC);
|
||||
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);
|
||||
}
|
||||
|
||||
void Update_bodage (TIM_TypeDef *Timer, char channel){
|
||||
void Update_bodage (TIM_TypeDef *Timer, char channel, float roulis, int* angle){
|
||||
float val;
|
||||
int val2;
|
||||
val = TIM4->CNT;
|
||||
val2 = TIM4->CNT;
|
||||
if (roulis < -40.0 || roulis > 40.0) {
|
||||
Mytimer_PWM_cycle(Timer, channel, 5);
|
||||
}
|
||||
else {
|
||||
if (val <4.0*45.0 || val > 4.0*(360.0-45.0)) {
|
||||
Mytimer_PWM_cycle(Timer, channel, 9);
|
||||
}
|
||||
else
|
||||
if (val <= 720.0) {
|
||||
*angle = 2*(val2)/12 -30;
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -4,6 +4,6 @@
|
|||
|
||||
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
|
||||
Loading…
Reference in a new issue