From b25b18c222c69fc8518a47ea0d9aa84b38cc0522 Mon Sep 17 00:00:00 2001 From: Todd Treece Date: Tue, 18 Aug 2015 09:16:09 -0400 Subject: [PATCH] cache com port name --- lib/websocket_controller.js | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/lib/websocket_controller.js b/lib/websocket_controller.js index 9a08521..035f720 100644 --- a/lib/websocket_controller.js +++ b/lib/websocket_controller.js @@ -112,16 +112,24 @@ var WebsocketController = function(sockets, version) { machine.requestSettings(); }; + var comName = ''; + var onGetPorts = function(cb) { sp_controller.listPorts(function (ports) { sockets.emit('ports', ports); - if( !cb) + if(! cb) return; ports.forEach(function(p) { - if(/Arduino/gi.test(p.manufacturer)) cb(p.comName); + + if(! /Arduino/gi.test(p.manufacturer)) + return; + + comName = p.comName; + cb(p.comName); + }); }); @@ -196,10 +204,15 @@ var WebsocketController = function(sockets, version) { return; } - onGetPorts(function(cn) { + var init_ports = function(cn) { logger.log("trying to init port: " + cn); sp_controller.initPortWithConfigs(cn, config); - }); + }; + + if(! comName) + return onGetPorts(init_ports); + + init_ports(comName); };