From 4596e7450b79826fb46adb5a19f8d34036ee9a16 Mon Sep 17 00:00:00 2001 From: Hendrik Maus Date: Mon, 7 Jul 2014 18:35:04 +0200 Subject: [PATCH] Add cordovarduino --- cordovarduino/cordovarduino-tests.ts | 38 +++++++++++++ cordovarduino/cordovarduino.d.ts | 84 ++++++++++++++++++++++++++++ 2 files changed, 122 insertions(+) create mode 100644 cordovarduino/cordovarduino-tests.ts create mode 100644 cordovarduino/cordovarduino.d.ts diff --git a/cordovarduino/cordovarduino-tests.ts b/cordovarduino/cordovarduino-tests.ts new file mode 100644 index 000000000..a4fd60878 --- /dev/null +++ b/cordovarduino/cordovarduino-tests.ts @@ -0,0 +1,38 @@ +/// + +serial.requestPermission(function success() {}, function error() {}); +serial.open({}, function success() {}, function error() {}); +serial.write('data_string', function success() {}, function error() {}); +serial.read(function success() {}, function error() {}); +serial.registerReadCallback( + function success(data:any) { + var view = new Uint8Array(data); + console.log(view); + }, + function error() { + new Error("Failed to register read callback"); + }); +serial.close(function success() {}, function error() {}); + +var errorCallback = function (message:string) { + alert('Error: ' + message); +}; + +serial.requestPermission( + function (successMessage:string) { + serial.open( + {baudRate: 9600}, + function (successMessage:string) { + serial.write( + '1', + function (successMessage:string) { + alert(successMessage); + }, + errorCallback + ); + }, + errorCallback + ); + }, + errorCallback +); diff --git a/cordovarduino/cordovarduino.d.ts b/cordovarduino/cordovarduino.d.ts new file mode 100644 index 000000000..bcbee1d1c --- /dev/null +++ b/cordovarduino/cordovarduino.d.ts @@ -0,0 +1,84 @@ +// Type definitions for Cordovarduino plugin. +// Project: https://github.com/stereolux/cordovarduino +// Definitions by: Hendrik Maus +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +declare module Cordovardunio { + interface Serial { + /** + * Request permission to interact with the serial port. + * + * @param successCallback Function to call on success + * @param errorCallback Function to call on error + */ + requestPermission(successCallback:Function, errorCallback:Function): void; + + /** + * Open a connection. + * + * @param opts SerialOptions object + * @param successCallback Function to call on success + * @param errorCallback Function to call on error + */ + open(opts:SerialOptions, successCallback:Function, errorCallback:Function): void + + /** + * Write to the serial port. + * + * @param data String data to write to serial port + * @param successCallback Function to call on success + * @param errorCallback Function to call on error + */ + write(data:string, successCallback:Function, errorCallback:Function): void; + + /** + * Read from the serial port. + * + * @param successCallback Function to call on success + * @param errorCallback Function to call on error + */ + read(successCallback:Function, errorCallback:Function): void; + + /** + * Close connection. + * + * @param successCallback Function to call on success + * @param errorCallback Function to call on error + */ + close(successCallback:Function, errorCallback:Function): void; + + /** + * Register a callback for the driver reading incoming data from the serial device + * + * @param successCallback Function to call on success + * @param errorCallback Function to call on error + */ + registerReadCallback(successCallback:Function, errorCallback:Function): void; + } + + interface SerialOptions { + /** + * @defaultValue 9600 + */ + baudRate?: number; + + /** + * @defaultValue 8 + */ + dataBits?: number; + + /** + * @defaultValue 1 + */ + stopBits?: number; + + /** + * @defaultValue 0 + */ + parity?: number; + } +} + + +// Plugin will be surfaced as window.serial +declare var serial:Cordovardunio.Serial;