Members
-
<readonly> history
-
Description
The last five position updatesProperties
Name Type Description timestampdate Timestamp of position update targetnumber The user requested position degreesnumber The actual position (factors in offset and invert) pulseWidthnumber The corrected pulseWidth (factors in offset and invert) Returns
Details
-
<readonly> last
-
Description
The most recent position updateProperties
Name Type Description timestampdate Timestamp of position update targetnumber The user requested position degreesnumber The actual position (factors in offset and invert) pulseWidthnumber The corrected pulseWidth (factors in offset and invert) Returns
Details
-
<readonly> position
-
Description
The most recent request and corrected position (factors in offset and invert)Returns
Details
Methods
-
configure( options ) → {Servo}
-
Description
Configure a ServoParameters
Name Type Description optionsobject Device configuration options Name Type Attributes Default Description pinnumber | string <optional> If passing an object, a pin number or pin identifier iostring | constructor <optional> builtin/pwm If passing an object, a string specifying a path to the IO provider or a constructor typestring <optional> "standard" Type of servo ("standard" or "continuous") pwmRangeArray.<number> <optional> [600, 2400] The pulse width range in microseconds deadbandArray.<number> <optional> [90,90] The degree range at which a continuos motion servo will not turn rangeArray.<number> <optional> [0, 180] The allowed range of motion in degrees deviceRangeArray.<number> <optional> [0, 180] The physical range (throw) of the servo in degrees startAtnumber <optional> "Any value within options.range" The desired start position of the servo offsetnumber <optional> 0 Adjust the position of the servo for trimming invertboolean <optional> false Reverses the direction of rotation centerboolean <optional> false Center the servo on instantiation Returns
Examples
Move a continuos rotation servo forward
import Servo from "j5e/servo"; const servo = await new Servo({ pin: 12 }); servo.configure({type: "continuous"}); servo.cw();Details
-
to( degrees [, time [, rate ] ] ) → {Servo}
-
Description
Set the servo's position to given degree over time.Parameters
Name Type Attributes Default Description degreesNumber | Object Degrees to move servo to or an animation object (See j5e's Timeline and Tweening Tools) timeNumber <optional> Time to spend in motion. If degrees is a number and this value is ommitted, the servo will move to the requested degrees as quickly as possible. rateNumber <optional> 20 The target frame rate of the motion transiton Returns
Examples
Move a servo to 180° as quickly as possible
import Servo from "j5e/servo"; const servo = await new Servo(12); servo.to(180);Move a servo to 180° over one second
import Servo from "j5e/servo"; const servo = await new Servo(12); servo.to(180, 1000);Move a servo to 180° using an animation segment object
import Servo from "j5e/servo"; import { inOutQuad } from "j5e/easing"; const servo = await new Servo(12); servo.to({ duration: 1000, cuePoints: [0, 1.0], keyFrames: [ null, 180 ], easing: inOutQuad });Details
-
step( degrees [, time ] ) → {Servo}
-
Description
Update the servo position by specified degrees (over time)Parameters
Name Type Attributes Description degreesNumber Degrees to turn servo to. timeNumber <optional> Time to spend in motion. Returns
Examples
Move a servo to 120° as quickly as possible
import Servo from "j5e/servo"; const servo = await new Servo(12); // The servo's default position is 90 degrees servo.step(30);Move a servo to 120° over one second
import Servo from "j5e/servo"; const servo = await new Servo(12); // The servo's default position is 90 degrees servo.step(30, 1000);Details
-
min( [ time ] ) → {Servo}
-
Description
min Set Servo to minimum degrees, defaults to 0degParameters
Name Type Attributes Description timeNumber <optional> Time to spend in motion. Returns
Examples
Move a servo to 0° as quickly as possible
import Servo from "j5e/servo"; const servo = await new Servo(12); servo.min();Move a servo to 0° over one second
import Servo from "j5e/servo"; const servo = await new Servo(12); servo.min(1000);Details
-
max( [ time ] ) → {Object}
-
Description
Set Servo to maximum degrees, defaults to 180degParameters
Name Type Attributes Description timeNumber <optional> Time to spend in motion. Returns
Examples
Move a standard servo to 180° as quickly as possible
import Servo from "j5e/servo"; const servo = await new Servo(12); servo.max();Move a standard servo to 180° over one second
import Servo from "j5e/servo"; const servo = await new Servo(12); servo.max(1000);Details
-
center( [ time ] ) → {Object}
-
Description
Set Servo to centerpoint, defaults to 90degParameters
Name Type Attributes Description timeNumber <optional> Time to spend in motion. Returns
Examples
Move a servo to 180° and then back to 90° as quickly as possible
import Servo from "j5e/servo"; import { timer } from "j5e/fn"; const servo = await new Servo(12); servo.to(180); timer.setTimeout(function() { servo.center(); }, 1000);Move a servo to 180° and then back to 90° over one second
import Servo from "j5e/servo"; import { timer } from "j5e/fn"; const servo = await new Servo(12); servo.to(180); timer.setTimeout(function() { servo.center(1000); }, 1000);Details
-
home() → {Servo}
-
Description
Return Servo to its startAt positionReturns
Examples
Move a servo to 180° and then back to 90° as quickly as possible
import Servo from "j5e/servo"; import { timer } from "j5e/fn"; const servo = await new Servo(12); servo.to(180); timer.setTimeout(function() { servo.home(); }, 1000);Details
-
sweep( opts ) → {Servo}
-
Description
Sweep the servo between min and max or provided rangeParameters
Name Type Description optsArray | Object An array describing the range of the sweep in degrees or an animation segment options object Returns
Examples
Sweep a servo back and forth between 10° to 170°
import Servo from "j5e/servo"; const servo = await new Servo(12); servo.sweep([10, 170])); example <caption>Sweep a servo back and forth between 10° to 170° with inOutCirc easing</caption> import Servo from "j5e/servo"; import {inOutCirc} from "j5e/easing"; const servo = await new Servo(12); servo.sweep({ keyFrames: [10, 170], cuePoints: [0, 1], easing: inOutCirc });Details
-
stop()
-
Description
Stop a moving servo return {Servo}Examples
Sweep a servo back and forth for two seconds then stop
import Servo from "j5e/servo"; const servo = await new Servo(12); servo.sweep([10, 170])); timer.setTimeout(function() { servo.stop(); }, 2000);Details
-
cw( speed ) → {Servo}
-
Description
Move a continuous rotation servo clockwiseParameters
Name Type Default Description speednumber 1 Speed between 0 and 1. Returns
Examples
Move a continuos rotation servo clockwise
import Servo from "j5e/servo"; const servo = await new Servo({ pin: 12, type: "continuous"}); servo.cw();Move a continuos rotation servo clockwise at half speed
import Servo from "j5e/servo"; const servo = await new Servo({ pin: 12, type: "continuous"}); servo.cw(0.5);Details
-
ccw( speed ) → {Servo}
-
Description
Move a continuous rotation servo counter-clockwiseParameters
Name Type Default Description speednumber 1 Speed between 0 and 1. Returns
Examples
Move a continuos rotation servo counter-clockwise
import Servo from "j5e/servo"; const servo = await new Servo({ pin: 12, type: "continuous"}); servo.ccw();Move a continuos rotation servo counter-clockwise at half speed
import Servo from "j5e/servo"; const servo = await new Servo({ pin: 12, type: "continuous"}); servo.ccw(0.5);Details
-
on( event, listener )
-
Description
Create an event listenerParameters
Name Type Description eventstring The name of the event to listen for listenerfunction A callback to run when the event is fired. Details
-
removeListener( event, listener )
-
Description
Remove an event listenerParameters
Name Type Description eventstring The name of the event that we are removing a listener from listenerfunction The callback that we are removing Details
-
once( event, listener )
-
Description
Create an event listener that will only fire one time.Parameters
Name Type Description eventstring The name of the event to listen for listenerfunction A callback to run when the event is fired. Details
