Moving Servo min and max parameters to the attach() function from the constructor.

This commit is contained in:
David A. Mellis 2008-08-21 23:48:38 +00:00
parent 1994278a7a
commit 2ed2ee36e7
2 changed files with 14 additions and 5 deletions

View File

@ -53,13 +53,20 @@ void Servo::releaseTimer1() {}
#define NO_ANGLE (0xff)
Servo::Servo() : pin(0), angle(NO_ANGLE), min16(34), max16(150) {}
Servo::Servo(int min, int max) : pin(0), angle(NO_ANGLE), min16(min / 16), max16(max / 16) {}
Servo::Servo() : pin(0), angle(NO_ANGLE) {}
uint8_t Servo::attach(int pinArg)
{
return attach(pinArg, 544, 2400);
}
uint8_t Servo::attach(int pinArg, int min, int max)
{
if (pinArg != 9 && pinArg != 10) return 0;
min16 = min / 16;
max16 = max / 16;
pin = pinArg;
angle = NO_ANGLE;
digitalWrite(pin, LOW);

View File

@ -36,9 +36,11 @@ class Servo
static uint8_t attached10;
public:
Servo();
Servo(int, int); // pulse length for 0 degrees in microseconds, 540uS default
uint8_t attach(int);
// pulse length for 0 degrees in microseconds, 544uS default
// pulse length for 180 degrees in microseconds, 2400uS default
uint8_t attach(int); // attach to a pin, sets pinMode, returns 0 on failure, won't
uint8_t attach(int, int, int);
// attach to a pin, sets pinMode, returns 0 on failure, won't
// position the servo until a subsequent write() happens
// Only works for 9 and 10.
void detach();