#ifndef __SERVO_H__
#define __SERVO_H__
#include "../common/def.h"
typedef struct _servo {
volatile int8_t servoDiret;
volatile uint16_t servoPos;
volatile uint8_t servoEnabled;
} SERVO;
void servoInit(SERVO *servo);
void servoMove180(SERVO *servo);
#endif /* __SERVO_H__ */
// servo.c
#include "servo.h"
void servoInit(SERVO *servo) {
servo->servoPos = 370;
servo->servoDiret = 1;
servo->servoEnabled = 0;
}
void servoMove180(SERVO *servo) {
servo->servoPos += servo->servoDiret;
if(servo->servoPos >= 635) {
servo->servoPos = 635;
servo->servoDiret = -1;
}
else if (servo->servoPos < 105) {
servo->servoPos = 105;
servo->servoDiret = 1;
}
}