Skip to content

Commit 867913d

Browse files
Merge pull request DefinitelyTyped#29909 from xtrimsystems/master
Package: Johnny-five - Added objects MotorPins and Motors
2 parents bfc7007 + a83efae commit 867913d

File tree

2 files changed

+34
-6
lines changed

2 files changed

+34
-6
lines changed

types/johnny-five/index.d.ts

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
// Definitions by: Toshiya Nakakura <https://github.com/nakakura>
44
// Zoltan Ujvary <https://github.com/ujvzolee>
55
// Simon Colmer <https://github.com/workshop2>
6+
// XtrimSystems <https://github.com/xtrimsystems>
67
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
78

89
///<reference types="node"/>
@@ -514,9 +515,16 @@ export class Motion {
514515
on(event: "calibrated", cb: () => void): this;
515516
}
516517

518+
export interface MotorPins {
519+
pwm: number;
520+
dir: number;
521+
cdir?: number;
522+
brake?:number;
523+
}
524+
517525
export interface MotorOption {
518-
pins: any;
519-
current?: any;
526+
pins: MotorPins;
527+
current?: SensorOption;
520528
invertPWM?: boolean;
521529
address?: number;
522530
controller?: string;
@@ -525,16 +533,30 @@ export interface MotorOption {
525533
}
526534

527535
export declare class Motor {
528-
constructor(option: Array<number> | MotorOption);
536+
constructor(option: number[] | MotorOption);
537+
538+
readonly isOn: boolean;
539+
540+
forward(speed: number): void;
541+
fwd(speed: number): void;
542+
reverse(speed: number): void;
543+
rev(speed: number): void;
544+
start(speed?: number): void;
545+
stop(): void;
546+
brake(): void;
547+
release(): void;
548+
}
549+
550+
export declare class Motors {
551+
constructor(option: number[] | MotorOption[]);
529552

530553
readonly isOn: boolean;
531554

532555
forward(speed: number): void;
533556
fwd(speed: number): void;
534557
reverse(speed: number): void;
535558
rev(speed: number): void;
536-
start(): void;
537-
start(speed: number): void;
559+
start(speed?: number): void;
538560
stop(): void;
539561
brake(): void;
540562
release(): void;
@@ -625,7 +647,7 @@ export declare class Ping {
625647
export declare interface ProximityOption {
626648
pin: number | string;
627649
controller: string;
628-
}
650+
}
629651

630652
export declare interface ProximityData {
631653
cm: number;
@@ -665,6 +687,7 @@ export interface SensorOption {
665687
pin: number | string;
666688
freq?: boolean;
667689
threshold?: number;
690+
enabled?: boolean;
668691
}
669692

670693
export declare class Sensor {

types/johnny-five/johnny-five-tests.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,11 @@ board.on('ready', function(){
155155
}
156156
});
157157

158+
var motors = new five.Motors([
159+
{ controller: 'PCA9685', pins: { pwm: 4, dir: 6 }},
160+
{ controller: 'PCA9685', pins: { pwm: 5, dir: 7 }}
161+
]);
162+
158163
var piezo = new five.Piezo(3);
159164

160165
// Plays a song

0 commit comments

Comments
 (0)