60 #if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
66 typedef enum { _timer5, _timer3, _timer4, _Nbr_16timers } timer16_Sequence_t ;
68 #elif defined(__AVR_ATmega32U4__)
72 typedef enum { _timer3, _Nbr_16timers } timer16_Sequence_t ;
74 #elif defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__)
78 typedef enum { _timer3, _Nbr_16timers } timer16_Sequence_t ;
80 #elif defined(__AVR_ATmega128__) ||defined(__AVR_ATmega1281__) || defined(__AVR_ATmega1284P__) ||defined(__AVR_ATmega2561__)
84 typedef enum { _timer3, _Nbr_16timers } timer16_Sequence_t ;
89 typedef enum { _Nbr_16timers } timer16_Sequence_t ;
92 #define Servo_VERSION 2
94 #define MIN_PULSE_WIDTH 544
95 #define MAX_PULSE_WIDTH 2400
96 #define DEFAULT_PULSE_WIDTH 1500
97 #define REFRESH_INTERVAL 20000
99 #define SERVOS_PER_TIMER 12
100 #define MAX_SERVOS (_Nbr_16timers * SERVOS_PER_TIMER)
102 #define INVALID_SERVO 255
106 uint8_t isActive :1 ;
118 uint8_t attach(
int pin);
119 uint8_t attach(
int pin,
int min,
int max);
121 void write(
int value);
122 void writeMicroseconds(
int value);
124 int readMicroseconds();
126 #if defined (ENABLE_AUTO_BED_LEVELING) && (PROBE_SERVO_DEACTIVATION_DELAY > 0)