|
@@ -24,7 +24,7 @@
|
24
|
24
|
|
25
|
25
|
Note that analogWrite of PWM on pins associated with the timer are disabled when the first servo is attached.
|
26
|
26
|
Timers are seized as needed in groups of 12 servos - 24 servos use two timers, 48 servos will use four.
|
27
|
|
- The sequence used to sieze timers is defined in timers.h
|
|
27
|
+ The sequence used to seize timers is defined in timers.h
|
28
|
28
|
|
29
|
29
|
The methods are:
|
30
|
30
|
|
|
@@ -50,7 +50,7 @@
|
50
|
50
|
/*
|
51
|
51
|
* Defines for 16 bit timers used with Servo library
|
52
|
52
|
*
|
53
|
|
- * If _useTimerX is defined then TimerX is a 16 bit timer on the curent board
|
|
53
|
+ * If _useTimerX is defined then TimerX is a 16 bit timer on the current board
|
54
|
54
|
* timer16_Sequence_t enumerates the sequence that the timers should be allocated
|
55
|
55
|
* _Nbr_16timers indicates how many 16 bit timers are available.
|
56
|
56
|
*
|
|
@@ -89,12 +89,12 @@ typedef enum { _timer3, _Nbr_16timers } timer16_Sequence_t ;
|
89
|
89
|
typedef enum { _Nbr_16timers } timer16_Sequence_t ;
|
90
|
90
|
#endif
|
91
|
91
|
|
92
|
|
-#define Servo_VERSION 2 // software version of this library
|
|
92
|
+#define Servo_VERSION 2 // software version of this library
|
93
|
93
|
|
94
|
94
|
#define MIN_PULSE_WIDTH 544 // the shortest pulse sent to a servo
|
95
|
95
|
#define MAX_PULSE_WIDTH 2400 // the longest pulse sent to a servo
|
96
|
96
|
#define DEFAULT_PULSE_WIDTH 1500 // default pulse width when servo is attached
|
97
|
|
-#define REFRESH_INTERVAL 20000 // minumim time to refresh servos in microseconds
|
|
97
|
+#define REFRESH_INTERVAL 20000 // minimum time to refresh servos in microseconds
|
98
|
98
|
|
99
|
99
|
#define SERVOS_PER_TIMER 12 // the maximum number of servos controlled by one timer
|
100
|
100
|
#define MAX_SERVOS (_Nbr_16timers * SERVOS_PER_TIMER)
|
|
@@ -118,13 +118,13 @@ public:
|
118
|
118
|
uint8_t attach(int pin); // attach the given pin to the next free channel, sets pinMode, returns channel number or 0 if failure
|
119
|
119
|
uint8_t attach(int pin, int min, int max); // as above but also sets min and max values for writes.
|
120
|
120
|
void detach();
|
121
|
|
- void write(int value); // if value is < 200 its treated as an angle, otherwise as pulse width in microseconds
|
|
121
|
+ void write(int value); // if value is < 200 it is treated as an angle, otherwise as pulse width in microseconds
|
122
|
122
|
void writeMicroseconds(int value); // Write pulse width in microseconds
|
123
|
123
|
int read(); // returns current pulse width as an angle between 0 and 180 degrees
|
124
|
124
|
int readMicroseconds(); // returns current pulse width in microseconds for this servo (was read_us() in first release)
|
125
|
125
|
bool attached(); // return true if this servo is attached, otherwise false
|
126
|
126
|
#if defined (ENABLE_AUTO_BED_LEVELING) && (PROBE_SERVO_DEACTIVATION_DELAY > 0)
|
127
|
|
- int pin; // store the hw pin of the servo
|
|
127
|
+ int pin; // store the hardware pin of the servo
|
128
|
128
|
#endif
|
129
|
129
|
private:
|
130
|
130
|
uint8_t servoIndex; // index into the channel data for this servo
|