@@ -34,7 +34,7 @@ Servo::Servo()
34
34
void Servo::attach (uint8_t pinNumber)
35
35
{
36
36
_servoPinNumber = pinNumber;
37
- _servoPadNumber = ap3_gpio_pin2pad (pinNumber );
37
+ pinMode (_servoPinNumber, OUTPUT );
38
38
}
39
39
40
40
void Servo::write (uint8_t servoPosition)
@@ -43,9 +43,9 @@ void Servo::write(uint8_t servoPosition)
43
43
if (_servoPosition > 180 )
44
44
_servoPosition = 180 ; // Bounds check
45
45
46
- uint16_t newServoPosition = map (servoPosition, 0 , 180 , 0 , 1023 );
46
+ uint16_t newServoPosition = map (servoPosition, 0 , 181 , 0 , (( uint16_t ) 0x01 << getServoResolution ()) );
47
47
48
- servoWrite (_servoPadNumber , newServoPosition); // This and the above write should both produce 1.5 ms wide pulses, though using different resolutions
48
+ servoWrite (_servoPinNumber , newServoPosition); // This and the above write should both produce 1.5 ms wide pulses, though using different resolutions
49
49
}
50
50
51
51
// void Servo::writeMicroseconds(uint8_t servoPosition)
@@ -55,9 +55,9 @@ void Servo::write(uint8_t servoPosition)
55
55
56
56
void Servo::detach (void )
57
57
{
58
- _servoPinNumber = NULL ;
59
- _servoPadNumber = NULL ;
60
58
pinMode (_servoPinNumber, INPUT); // Will stop PWM output
59
+
60
+ _servoPinNumber = 0 ;
61
61
}
62
62
63
63
uint8_t Servo::read (void )
0 commit comments