-
Notifications
You must be signed in to change notification settings - Fork 27
/
buildlight.js
43 lines (38 loc) · 1.09 KB
/
buildlight.js
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
var _BuildLight = require('buildlight');
/**
* class BuildLight
*
* @param {String} opts: optional
* - scheme: color scheme array, defaults to [ 'red', 'green', 'blue' ]
* scheme allows flexibility to use BuildLight with various Delcom devices (RGB, RGY)
* - usbled: path to usbled installation, if not specified then it will try to
* find a usbled installation at /sys/bus/usb/drivers/usbled/
*/
function BuildLight(opts) {
this.opts = opts || {};
}
/**
* Notify build status as a colour on Delcom USB Visual Indocator build light.
*
* @param {String} status: build status
*/
BuildLight.prototype.notify = function (status) {
const COLOURS = {
OK: 'green',
FAIL: 'red',
WARN: 'on' // all colours switched on is closer to yellow
},
UNKNOWN = 'blue';
var buildLight = new _BuildLight(this.opts),
colour = COLOURS[status];
if (status === 'FAIL') {
buildLight.blink(colour, function (err) {
if (err) {
console.error(err.message);
}
});
} else {
buildLight[colour || UNKNOWN]();
}
};
module.exports = BuildLight;