Skip to content

Commit

Permalink
Refactoring code
Browse files Browse the repository at this point in the history
  • Loading branch information
cheton committed Jan 10, 2016
1 parent d0b5b4a commit 3ad9d9e
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 19 deletions.
File renamed without changes.
37 changes: 18 additions & 19 deletions server.js → app/server.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
var _ = require('lodash');
var log = require('./app/lib/log');
var settings = require('./app/config/settings');
var fs = require('fs');
var fse = require('fs-extra');
var path = require('path');
var parseText = require('gcode-parser').parseText;
var pubsub = require('pubsub-js');
var readline = require('readline');
var queue = require('./command-queue');
var serialport = require('serialport');
var SerialPort = serialport.SerialPort;
var log = require('./lib/log');
var queue = require('./lib/command-queue');
var settings = require('./config/settings');
var store = require('./store');

//
// Grbl 0.9j ['$' for help]
Expand All @@ -35,8 +36,6 @@ var matchGrblGCodeModes = function(msg) {
return msg.match(/\[(?:\w+[0-9]+\.?[0-9]*\s*)+\]/);
};

var serialports = {};

pubsub.subscribe('file:upload', function(msg, data) {
var meta = data.meta || {};
var gcode = data.contents || '';
Expand All @@ -49,7 +48,7 @@ pubsub.subscribe('file:upload', function(msg, data) {

var lines = _.pluck(data, 'line');
var port = meta.port;
var sp = serialports[port];
var sp = store.ports[port];

if (!(sp && sp.queue)) {
log.error('Failed to add %s to the queue: port=%s', JSON.stringify(meta.name), JSON.stringify(port));
Expand Down Expand Up @@ -82,7 +81,7 @@ module.exports = function(server) {
log.debug('socket.on(%s):', 'disconnect', { id: socket.id });

// Remove the socket of the disconnected client
_.each(serialports, function(sp) {
_.each(store.ports, function(sp) {
sp.sockets[socket.id] = undefined;
delete sp.sockets[socket.id];
});
Expand All @@ -99,7 +98,7 @@ module.exports = function(server) {

ports = ports.concat(_.get(settings, 'cnc.ports') || []);

var portsInUse = _(serialports)
var portsInUse = _(store.ports)
.filter(function(sp) {
return sp.serialPort && sp.serialPort.isOpen();
})
Expand All @@ -124,7 +123,7 @@ module.exports = function(server) {
socket.on('open', function(port, baudrate) {
log.debug('socket.on(%s):', 'open', { id: socket.id, port: port, baudrate: baudrate });

var sp = serialports[port] = serialports[port] || {
var sp = store.ports[port] = store.ports[port] || {
port: port,
ready: false,
pending: {
Expand Down Expand Up @@ -376,8 +375,8 @@ module.exports = function(server) {
inuse: false
});

serialports[port] = undefined;
delete serialports[port];
store.ports[port] = undefined;
delete store.ports[port];
});

serialPort.on('error', function() {
Expand Down Expand Up @@ -408,7 +407,7 @@ module.exports = function(server) {
socket.on('close', function(port) {
log.debug('socket.on(%s):', 'close', { id: socket.id, port: port });

var sp = serialports[port] || {};
var sp = store.ports[port] || {};
if (!(sp.serialPort && sp.serialPort.isOpen())) {
log.warn('The serial port is not open.', { port: port });
return;
Expand All @@ -426,8 +425,8 @@ module.exports = function(server) {
});

// Delete serial port
serialports[port] = undefined;
delete serialports[port];
store.ports[port] = undefined;
delete store.ports[port];
}

// Emit 'serialport:close' event
Expand All @@ -442,7 +441,7 @@ module.exports = function(server) {
socket.on('serialport:write', function(port, msg) {
log.debug('socket.on(%s):', 'serialport:write', { id: socket.id, port: port, msg: msg });

var sp = serialports[port] || {};
var sp = store.ports[port] || {};
if (!(sp.serialPort && sp.serialPort.isOpen())) {
log.warn('The serial port is not open.', { port: port, msg: msg });
return;
Expand All @@ -455,7 +454,7 @@ module.exports = function(server) {
socket.on('gcode:run', function(port) {
log.debug('socket.on(%s):', 'gcode:run', { id: socket.id, port: port });

var sp = serialports[port] || {};
var sp = store.ports[port] || {};
if (!(sp.serialPort && sp.serialPort.isOpen())) {
log.warn('The serial port is not open.', { port: port });
return;
Expand All @@ -467,7 +466,7 @@ module.exports = function(server) {
socket.on('gcode:pause', function(port) {
log.debug('socket.on(%s):', 'gcode:pause', { id: socket.id, port: port });

var sp = serialports[port] || {};
var sp = store.ports[port] || {};
if (!(sp.serialPort && sp.serialPort.isOpen())) {
log.warn('The serial port is not open.', { port: port });
return;
Expand All @@ -479,7 +478,7 @@ module.exports = function(server) {
socket.on('gcode:stop', function(port) {
log.debug('socket.on(%s):', 'gcode:stop', { id: socket.id, port: port });

var sp = serialports[port] || {};
var sp = store.ports[port] || {};
if (!(sp.serialPort && sp.serialPort.isOpen())) {
log.warn('The serial port is not open.', { port: port });
return;
Expand All @@ -491,7 +490,7 @@ module.exports = function(server) {
socket.on('gcode:unload', function(port) {
log.debug('socket.on(%s):', 'gcode:unload', { id: socket.id, port: port });

var sp = serialports[port] || {};
var sp = store.ports[port] || {};
if (!(sp.serialPort && sp.serialPort.isOpen())) {
log.warn('The serial port is not open.', { port: port });
return;
Expand Down
3 changes: 3 additions & 0 deletions app/store/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
module.exports = {
ports: {}
};

0 comments on commit 3ad9d9e

Please sign in to comment.