diff --git a/pi-spi/pi-spi-tests.ts b/pi-spi/pi-spi-tests.ts new file mode 100644 index 000000000..9ec08f1ba --- /dev/null +++ b/pi-spi/pi-spi-tests.ts @@ -0,0 +1,29 @@ +/// + +import * as piSPI from 'pi-spi'; + +var spi:piSPI.SPI = piSPI.initialize("test"); +var b:Buffer = new Buffer("Hello, World!"); +var cb = function(error:Error, data:Buffer):void { }; + +spi.bitOrder(piSPI.order.LSB_FIRST); +spi.bitOrder(piSPI.order.MSB_FIRST); +console.log(spi.bitOrder()); + + +spi.dataMode(piSPI.mode.CPHA); +spi.dataMode(piSPI.mode.CPOL); +console.log(spi.dataMode()); + + +spi.clockSpeed(4e6); +console.log(spi.clockSpeed()); + + +spi.write(b, cb); +spi.read(13, cb); + +spi.transfer(b, cb); +spi.transfer(b, 13, cb); + +spi.close(); diff --git a/pi-spi/pi-spi.d.ts b/pi-spi/pi-spi.d.ts new file mode 100644 index 000000000..c535bd0bb --- /dev/null +++ b/pi-spi/pi-spi.d.ts @@ -0,0 +1,46 @@ +// Type definitions for pi-spi +// Project: https://github.com/natevw/pi-spi +// Definitions by: Marcel Ernst +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/// + +declare namespace __PI_SPI { + + enum mode { + CPHA = 0x01, + CPOL = 0x02 + } + + enum order { + MSB_FIRST = 0, + LSB_FIRST = 1 + } + + function initialize(device:string):__PI_SPI.SPI; + + class SPI { + clockSpeed():number; + clockSpeed(speed:number):void; + + dataMode():number; + dataMode(mode:mode):void; + + bitOrder():number; + bitOrder(order:order):void; + + + write(writebuf:Buffer, cb:(error:Error,data:Buffer) => void):void; + read(readcount:number, cb:(error:Error,data:Buffer) => void):void; + + transfer(writebuf:Buffer, cb:(error:Error,data:Buffer) => void ):void; + transfer(writebuf:Buffer, readcount:number, cb:(error:Error,data:Buffer) => void ):void; + + close():void; + } +} + + +declare module "pi-spi" { + export = __PI_SPI; +} \ No newline at end of file