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+
517525export 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
527535export 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 {
625647export declare interface ProximityOption {
626648 pin : number | string ;
627649 controller : string ;
628- }
650+ }
629651
630652export 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
670693export declare class Sensor {
0 commit comments