Merge in 9 months of work on capper branch #71
|
@ -183,8 +183,8 @@
|
|||
"camera_capper_identifier" : "8",
|
||||
"camera_capper_projector_identifier" : "9",
|
||||
"camera_capper_projectors_identifier" : "0",
|
||||
"cap_on" : "A",
|
||||
"cap_off" : "B"
|
||||
"capper_on" : "A",
|
||||
"capper_off" : "B"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -46,6 +46,8 @@
|
|||
<div id="projector_backward" class="row" y="1"></div>
|
||||
<div id="projector_second_backward" class="row proj2" y="3"></div>
|
||||
|
||||
<div id="capper" class="row capper" y="4"></div>
|
||||
|
||||
<div id="light_set" class="row spacer"></div>
|
||||
<div id="numbers" class="row"></div>
|
||||
</div>
|
||||
|
@ -60,6 +62,8 @@
|
|||
<div><span>PROJ </span><i class="fa fa-minus"></i></div>
|
||||
<div class="proj2"><span>PROJ2 </span><i class="fa fa-minus"></i></div>
|
||||
|
||||
<div class="capper"><span>BLANK </span><i class="fa fa-times"></i></div>
|
||||
|
||||
<div class="spacer"><span>LIGHT</span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -2496,6 +2496,7 @@ const cmd = require('./lib/ui/cmd.js');
|
|||
const devices = require('./lib/ui/devices.js');
|
||||
const filmout = require('./lib/ui/filmout.js');
|
||||
const mse = require('./lib/ui/mscript.js');
|
||||
const capper = require('./lib/ui/capper.js');
|
||||
const Mscript = require('./lib/mscript');
|
||||
const { delay } = require('./lib/delay');
|
||||
|
||||
|
@ -2525,4 +2526,5 @@ async function init () {
|
|||
proj.init();
|
||||
cam.init();
|
||||
seq.init();
|
||||
capper.init();
|
||||
};
|
|
@ -360,7 +360,9 @@ class Arduino {
|
|||
write: async function (cmd, cb) {
|
||||
const t = {
|
||||
c: cfg.arduino.cam.time + cfg.arduino.cam.delay,
|
||||
p: cfg.arduino.proj.time + cfg.arduino.proj.delay
|
||||
p: cfg.arduino.proj.time + cfg.arduino.proj.delay,
|
||||
A: 180,
|
||||
B: 180
|
||||
};
|
||||
let timeout = t[cmd];
|
||||
if (typeof timeout === 'undefined')
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,89 @@
|
|||
'use strict';
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
/** class representing capper functions **/
|
||||
class Capper {
|
||||
/**
|
||||
*
|
||||
**/
|
||||
constructor(arduino, cfg, ui, filmout) {
|
||||
this.state = {
|
||||
capper: false
|
||||
};
|
||||
this.arduino = null;
|
||||
this.id = 'capper';
|
||||
this.arduino = arduino;
|
||||
this.cfg = cfg;
|
||||
this.ui = ui;
|
||||
this.filmout = filmout;
|
||||
this.init();
|
||||
}
|
||||
/**
|
||||
*
|
||||
**/
|
||||
async init() {
|
||||
const Log = require('log');
|
||||
this.log = await Log({ label: this.id });
|
||||
this.ipc = require('electron').ipcMain;
|
||||
this.listen();
|
||||
}
|
||||
/**
|
||||
*
|
||||
**/
|
||||
listen() {
|
||||
this.ipc.on(this.id, this.listener.bind(this));
|
||||
}
|
||||
/**
|
||||
*
|
||||
**/
|
||||
async capper(state, id) {
|
||||
let cmd;
|
||||
let ms;
|
||||
if (state) {
|
||||
cmd = this.cfg.arduino.cmd[`${this.id}_on`];
|
||||
}
|
||||
else {
|
||||
cmd = this.cfg.arduino.cmd[`${this.id}_off`];
|
||||
}
|
||||
this.state.capper = state;
|
||||
try {
|
||||
ms = await this.arduino.send(this.id, cmd);
|
||||
}
|
||||
catch (err) {
|
||||
this.log.error(err);
|
||||
}
|
||||
return await this.end(cmd, id, ms);
|
||||
}
|
||||
/**
|
||||
*
|
||||
**/
|
||||
async listener(event, arg) {
|
||||
if (typeof arg.capper !== 'undefined') {
|
||||
try {
|
||||
await this.capper(arg.capper, arg.id);
|
||||
}
|
||||
catch (err) {
|
||||
this.log.error(err);
|
||||
}
|
||||
}
|
||||
event.returnValue = true;
|
||||
}
|
||||
/**
|
||||
*
|
||||
**/
|
||||
async end(cmd, id, ms) {
|
||||
let message = '';
|
||||
if (cmd === this.cfg.arduino.cmd.capper_on) {
|
||||
message = 'Capper set to ON';
|
||||
}
|
||||
else if (cmd === this.cfg.arduino.cmd.capper_off) {
|
||||
message = 'Capper set to OFF';
|
||||
}
|
||||
message += ` ${ms}ms`;
|
||||
this.log.info(message);
|
||||
this.ui.send(this.id, { cmd: cmd, id: id, ms: ms });
|
||||
}
|
||||
}
|
||||
module.exports = function (arduino, cfg, ui, filmout) {
|
||||
return new Capper(arduino, cfg, ui, filmout);
|
||||
};
|
||||
//# sourceMappingURL=index.js.map
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capper/index.ts"],"names":[],"mappings":"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"}
|
|
@ -170,6 +170,22 @@ class Devices {
|
|||
this.log.info('Connected to fake LIGHT device', 'SERIAL', true, true);
|
||||
return true;
|
||||
}
|
||||
/**
|
||||
*
|
||||
**/
|
||||
async fakeCapper() {
|
||||
this.connected.capper = '/dev/fake';
|
||||
try {
|
||||
await this.arduino.fakeConnect('capper');
|
||||
}
|
||||
catch (err) {
|
||||
console.error(err);
|
||||
this.log.error(`Error connecting to fake CAPPER device`, 'SERIAL', true, true);
|
||||
return false;
|
||||
}
|
||||
this.log.info('Connected to fake CAPPER device', 'SERIAL', true, true);
|
||||
return true;
|
||||
}
|
||||
/**
|
||||
*
|
||||
**/
|
||||
|
@ -449,6 +465,9 @@ class Devices {
|
|||
if (this.connected.capper) {
|
||||
capper = { arduino: this.connected.capper };
|
||||
}
|
||||
else {
|
||||
await this.fakeCapper();
|
||||
}
|
||||
if (this.settings.state.camera && this.settings.state.camera.intval) {
|
||||
c.intval = this.settings.state.camera.intval;
|
||||
}
|
||||
|
@ -484,7 +503,6 @@ class Devices {
|
|||
light,
|
||||
profile: this.settings.state.profile
|
||||
};
|
||||
console.log("CHECK " + camera);
|
||||
if (projector_second && projector_second.arduino) {
|
||||
args.projector_second = projector_second;
|
||||
this.settings.update('projector_second', projector_second);
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,57 @@
|
|||
'use strict';
|
||||
let capper;
|
||||
class Capper {
|
||||
constructor() {
|
||||
this.queue = {};
|
||||
this.lock = false;
|
||||
this.id = 'capper';
|
||||
this.state = true;
|
||||
}
|
||||
init() {
|
||||
this.listen();
|
||||
}
|
||||
enable() {
|
||||
$('.capper').addClass('on');
|
||||
}
|
||||
set(state, callback) {
|
||||
let obj;
|
||||
if (this.lock) {
|
||||
return false;
|
||||
}
|
||||
obj = {
|
||||
state,
|
||||
id: uuid()
|
||||
};
|
||||
ipcRenderer.sendSync(this.id, obj);
|
||||
if (typeof callback !== 'undefined') {
|
||||
obj.callback = callback;
|
||||
}
|
||||
this.queue[obj.id] = obj;
|
||||
this.lock = true;
|
||||
}
|
||||
end(c, id, ms) {
|
||||
if (c === cfg.arduino.cmd.capper_on) {
|
||||
this.state = true;
|
||||
}
|
||||
else if (c === cfg.arduino.cmd.capper_off) {
|
||||
this.state = false;
|
||||
}
|
||||
if (typeof this.queue[id] !== 'undefined') {
|
||||
if (typeof this.queue[id].callback !== 'undefined') {
|
||||
this.queue[id].callback(ms);
|
||||
}
|
||||
delete this.queue[id];
|
||||
this.lock = false;
|
||||
}
|
||||
}
|
||||
listen() {
|
||||
ipcRenderer.on(this.id, function (event, arg) {
|
||||
capper.end(arg.cmd, arg.id, arg.ms);
|
||||
return event.returnValue = true;
|
||||
});
|
||||
}
|
||||
;
|
||||
}
|
||||
capper = new Capper();
|
||||
module.exports = capper;
|
||||
//# sourceMappingURL=capper.js.map
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"capper.js","sourceRoot":"","sources":["../../src/lib/ui/capper.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAQb,IAAI,MAAe,CAAC;AAQpB,MAAM,MAAM;IAMX;QALA,UAAK,GAAS,EAAE,CAAC;QACjB,SAAI,GAAa,KAAK,CAAC;QACvB,OAAE,GAAY,QAAQ,CAAC;QACvB,UAAK,GAAa,IAAI,CAAC;IAIvB,CAAC;IAED,IAAI;QACH,IAAI,CAAC,MAAM,EAAE,CAAC;IACf,CAAC;IAEM,MAAM;QACZ,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEM,GAAG,CAAE,KAAe,EAAE,QAAmB;QAC/C,IAAI,GAAiB,CAAC;QAEtB,IAAI,IAAI,CAAC,IAAI,EAAE;YACd,OAAO,KAAK,CAAC;SACb;QAED,GAAG,GAAG;YACL,KAAK;YACL,EAAE,EAAG,IAAI,EAAE;SACX,CAAC;QAEF,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAEnC,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;YACpC,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;SACxB;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IAEM,GAAG,CAAE,CAAU,EAAE,EAAW,EAAE,EAAW;QAC/C,IAAI,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE;YACpC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;SAClB;aAAM,IAAI,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE;YAC5C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACnB;QACD,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,WAAW,EAAE;YAC1C,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACnD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;aAC5B;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;SAClB;IACF,CAAC;IACO,MAAM;QACb,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,KAAa,EAAE,GAAS;YACzD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YACpC,OAAO,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;QACjC,CAAC,CAAC,CAAC;IACJ,CAAC;IAAA,CAAC;CAEF;AAED,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;AACtB,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC"}
|
|
@ -98,6 +98,9 @@ class Devices {
|
|||
//add second row of camera pads to grid
|
||||
cam.second.enable();
|
||||
}
|
||||
if (arg.capper) {
|
||||
capper.enable();
|
||||
}
|
||||
return event.returnValue = true;
|
||||
});
|
||||
}
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -37,6 +37,7 @@ let filmout;
|
|||
let dev;
|
||||
let cmd;
|
||||
let seq;
|
||||
let capper;
|
||||
|
||||
const cfg = require('./data/cfg.json')
|
||||
|
||||
|
@ -127,6 +128,10 @@ var init = async function () {
|
|||
proj2 = require('proj')(arduino, cfg, mainWindow.webContents, filmout, true)
|
||||
}
|
||||
|
||||
if (dev && dev.connected && dev.connected.capper) {
|
||||
capper = require('capper')(arduino, cfg, mainWindow.webContents, filmout, true)
|
||||
}
|
||||
|
||||
cmd = require('cmd')(cfg, proj, cam, light, cam2, proj2)
|
||||
seq = require('sequencer')(cfg, cmd, mainWindow.webContents)
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
"animated-gif-detector": "^1.2.0",
|
||||
"arduino": "file:lib/arduino",
|
||||
"cam": "file:lib/cam",
|
||||
"capper": "file:lib/capper",
|
||||
"capture": "file:lib/capture",
|
||||
"cmd": "file:lib/cmd",
|
||||
"delay": "file:lib/delay",
|
||||
|
@ -75,6 +76,7 @@
|
|||
"version": "1.0.0",
|
||||
"license": "ISC"
|
||||
},
|
||||
"lib/capper": {},
|
||||
"lib/capture": {
|
||||
"version": "1.0.0",
|
||||
"license": "ISC"
|
||||
|
@ -2070,6 +2072,10 @@
|
|||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/capper": {
|
||||
"resolved": "lib/capper",
|
||||
"link": true
|
||||
},
|
||||
"node_modules/capture": {
|
||||
"resolved": "lib/capture",
|
||||
"link": true
|
||||
|
@ -12940,6 +12946,9 @@
|
|||
"integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
|
||||
"optional": true
|
||||
},
|
||||
"capper": {
|
||||
"version": "file:lib/capper"
|
||||
},
|
||||
"capture": {
|
||||
"version": "file:lib/capture"
|
||||
},
|
||||
|
|
|
@ -54,6 +54,7 @@
|
|||
"animated-gif-detector": "^1.2.0",
|
||||
"arduino": "file:lib/arduino",
|
||||
"cam": "file:lib/cam",
|
||||
"capper" : "file:lib/capper",
|
||||
"capture": "file:lib/capture",
|
||||
"cmd": "file:lib/cmd",
|
||||
"delay": "file:lib/delay",
|
||||
|
|
|
@ -22,6 +22,7 @@ const cmd = require('./lib/ui/cmd.js');
|
|||
const devices = require('./lib/ui/devices.js');
|
||||
const filmout = require('./lib/ui/filmout.js');
|
||||
const mse = require('./lib/ui/mscript.js');
|
||||
const capper = require('./lib/ui/capper.js');
|
||||
const Mscript = require('./lib/mscript');
|
||||
const { delay } = require('./lib/delay');
|
||||
|
||||
|
@ -51,4 +52,5 @@ async function init () {
|
|||
proj.init();
|
||||
cam.init();
|
||||
seq.init();
|
||||
capper.init();
|
||||
};
|
|
@ -0,0 +1,83 @@
|
|||
'use strict';
|
||||
|
||||
/// <reference path ="jquery.d.ts"/>
|
||||
|
||||
declare var uuid : any;
|
||||
declare var ipcRenderer : any;
|
||||
declare var w2ui : any;
|
||||
|
||||
let capper : Capper;
|
||||
|
||||
interface CapperEvent {
|
||||
id : string;
|
||||
state : boolean;
|
||||
callback? : Function;
|
||||
}
|
||||
|
||||
class Capper {
|
||||
public enabled = false;
|
||||
queue : any = {};
|
||||
lock : boolean = false;
|
||||
id : string = 'capper';
|
||||
state : boolean = true;
|
||||
|
||||
constructor () {
|
||||
|
||||
}
|
||||
|
||||
init () {
|
||||
this.listen();
|
||||
}
|
||||
|
||||
public enable () {
|
||||
$('.capper').addClass('on');
|
||||
enabled = true
|
||||
}
|
||||
|
||||
public set (state : boolean, callback : Function) {
|
||||
let obj : CapperEvent;
|
||||
|
||||
if (this.lock) {
|
||||
return false;
|
||||
}
|
||||
|
||||
obj = {
|
||||
state,
|
||||
id : uuid()
|
||||
};
|
||||
|
||||
ipcRenderer.sendSync(this.id, obj);
|
||||
|
||||
if (typeof callback !== 'undefined') {
|
||||
obj.callback = callback;
|
||||
}
|
||||
|
||||
this.queue[obj.id] = obj;
|
||||
this.lock = true;
|
||||
}
|
||||
|
||||
public end (c : string, id : string, ms : number) {
|
||||
if (c === cfg.arduino.cmd.capper_on) {
|
||||
this.state = true;
|
||||
} else if (c === cfg.arduino.cmd.capper_off) {
|
||||
this.state = false;
|
||||
}
|
||||
if (typeof this.queue[id] !== 'undefined') {
|
||||
if (typeof this.queue[id].callback !== 'undefined') {
|
||||
this.queue[id].callback(ms);
|
||||
}
|
||||
delete this.queue[id];
|
||||
this.lock = false;
|
||||
}
|
||||
}
|
||||
private listen () {
|
||||
ipcRenderer.on(this.id, function (event : Event, arg : any) {
|
||||
capper.end(arg.cmd, arg.id, arg.ms);
|
||||
return event.returnValue = true;
|
||||
});
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
capper = new Capper();
|
||||
module.exports = capper;
|
|
@ -96,6 +96,9 @@ class Devices {
|
|||
//add second row of camera pads to grid
|
||||
cam.second.enable();
|
||||
}
|
||||
if (arg.capper) {
|
||||
capper.enable();
|
||||
}
|
||||
return event.returnValue = true;
|
||||
}
|
||||
|
||||
|
|
|
@ -123,6 +123,7 @@ class Grid {
|
|||
'camera_second_backward',
|
||||
'projector_backward',
|
||||
'projector_second_backward',
|
||||
'black',
|
||||
'light_set',
|
||||
'numbers'
|
||||
];
|
||||
|
|
|
@ -183,8 +183,8 @@
|
|||
"camera_capper_identifier" : "8",
|
||||
"camera_capper_projector_identifier" : "9",
|
||||
"camera_capper_projectors_identifier" : "0",
|
||||
"cap_on" : "A",
|
||||
"cap_off" : "B"
|
||||
"capper_on" : "A",
|
||||
"capper_off" : "B"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -219,6 +219,10 @@ module Debug () {
|
|||
//translate([1.5, -38 + 2 -10, -11.8 + 11 + 2 +.75]) rotate([90, 0, 0])OptoEndstop();
|
||||
}
|
||||
|
||||
module Base () {
|
||||
|
||||
}
|
||||
|
||||
Render="Cap";
|
||||
|
||||
if (Render=="Debug") {
|
||||
|
@ -234,4 +238,6 @@ if (Render=="Debug") {
|
|||
} else if (Render=="OptoEndstopMount") {
|
||||
echo("Deprecated");
|
||||
//rotate([-90,0,0]) OptoEndstopMount();
|
||||
} else if (Render=="Base") {
|
||||
|
||||
}
|
|
@ -360,7 +360,9 @@ class Arduino {
|
|||
write : async function (cmd : string, cb : any) {
|
||||
const t : any = {
|
||||
c : cfg.arduino.cam.time + cfg.arduino.cam.delay,
|
||||
p : cfg.arduino.proj.time + cfg.arduino.proj.delay
|
||||
p : cfg.arduino.proj.time + cfg.arduino.proj.delay,
|
||||
A : 180,
|
||||
B : 180
|
||||
}
|
||||
let timeout : number = t[cmd]
|
||||
if (typeof timeout === 'undefined') timeout = 10
|
||||
|
|
|
@ -182,6 +182,22 @@ class Devices {
|
|||
this.log.info('Connected to fake LIGHT device', 'SERIAL', true, true)
|
||||
return true
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
**/
|
||||
private async fakeCapper () {
|
||||
this.connected.capper = '/dev/fake'
|
||||
try {
|
||||
await this.arduino.fakeConnect('capper')
|
||||
} catch (err) {
|
||||
console.error(err)
|
||||
this.log.error(`Error connecting to fake CAPPER device`, 'SERIAL', true, true)
|
||||
return false
|
||||
}
|
||||
this.log.info('Connected to fake CAPPER device', 'SERIAL', true, true)
|
||||
return true
|
||||
}
|
||||
/**
|
||||
*
|
||||
**/
|
||||
|
@ -441,6 +457,8 @@ class Devices {
|
|||
|
||||
if (this.connected.capper) {
|
||||
capper = { arduino : this.connected.capper }
|
||||
} else {
|
||||
await this.fakeCapper()
|
||||
}
|
||||
|
||||
if (this.settings.state.camera && this.settings.state.camera.intval) {
|
||||
|
@ -480,7 +498,6 @@ class Devices {
|
|||
profile: this.settings.state.profile
|
||||
}
|
||||
|
||||
console.log("CHECK " + camera)
|
||||
if (projector_second && projector_second.arduino) {
|
||||
args.projector_second = projector_second
|
||||
this.settings.update('projector_second', projector_second)
|
||||
|
|
Loading…
Reference in New Issue