diff --git a/onoff/onoff-tests.ts b/onoff/onoff-tests.ts new file mode 100644 index 000000000..d838360bd --- /dev/null +++ b/onoff/onoff-tests.ts @@ -0,0 +1,18 @@ +/// +/// +import * as onoff from 'onoff'; + +var led:onoff.Gpio = new onoff.Gpio(17, 'out'); + +var toggleLed = function():void { + var lastState:number = led.readSync(); + led.writeSync(lastState ^ 1); +}; + +var intervalId:NodeJS.Timer = setInterval(toggleLed, 100); + +setTimeout(function() { + clearInterval(intervalId); + led.writeSync(0); + led.unexport(); +}, 2000); diff --git a/onoff/onoff.d.ts b/onoff/onoff.d.ts new file mode 100644 index 000000000..9a4ade593 --- /dev/null +++ b/onoff/onoff.d.ts @@ -0,0 +1,55 @@ +// Type definitions for onoff +// Project: https://github.com/fivdi/onoff +// Definitions by: Marcel Ernst +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/// + +declare namespace __ONOFF { + + var version:string; + + interface GpioOptions { + debounceTimeout:number; + } + + class Gpio { + constructor(gpio:number, direction:string); + constructor(gpio:number, direction:string, edge:string); + constructor(gpio:number, direction:string, edge:string, options:GpioOptions); + constructor(gpio:number, direction:string, options:GpioOptions); + + gpio:number + gpioPath:string; + opts:GpioOptions; + readBuffer:Buffer; + listeners:Array<(error:Error, value:number) => void>; + valueFd:number; + + read(cb:(err:Error, value:number) => void):void; + readSync():number; + + write(value:number, cb:(err:Error, value:number) => void):void; + writeSync(value:number):void; + + watch(cb:(error:Error, value:number) => void):void; + unwatch():void; + unwatch(cb:(error:Error, value:number) => void):void; + unwatchAll():void; + + direction():string; + setDirection(value:string):void; + + edge():string; + setEdge(value:string):void; + + options():GpioOptions; + + unexport():void; + } + +} + +declare module "onoff" { + export = __ONOFF; +} \ No newline at end of file