-
Notifications
You must be signed in to change notification settings - Fork 24
Expand file tree
/
Copy pathArduino.js
More file actions
56 lines (48 loc) · 1.13 KB
/
Arduino.js
File metadata and controls
56 lines (48 loc) · 1.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
+(function (global, factory) {
if (typeof exports === 'undefined') {
factory(global.webduino || {});
} else {
module.exports = factory;
}
}(this, function (scope) {
'use strict';
var util = scope.util,
Board = scope.Board,
BoardEvent = scope.BoardEvent,
proto;
function Arduino(options) {
if (typeof options === 'string') {
options = {
transport: 'serial',
path: options
};
}
options = util.extend(getDefaultOptions(options), options);
Board.call(this, options);
}
function getDefaultOptions(opts) {
var def = {
serial: {
transport: 'serial',
baudRate: 57600
},
bluetooth: {
transport: 'bluetooth',
uuid: '1101'
}
};
return def[opts.transport] || {};
}
Arduino.prototype = proto = Object.create(Board.prototype, {
constructor: {
value: Arduino
}
});
proto.begin = function () {
this.once(BoardEvent.FIRMWARE_NAME, this._initialVersionResultHandler);
if (this._options.transport !== 'serial') {
this.reportFirmware();
}
};
scope.Arduino = Arduino;
}));