From a6b833ad1e4c5df6e46932bb0a49893a831d5f59 Mon Sep 17 00:00:00 2001 From: voulot_d Date: Fri, 13 Jan 2017 15:51:55 +0100 Subject: [PATCH] Closedown --- devices/CurrentCamera.properties | 2 +- plugins/ScreenPanel.java | 86 +++++++++++++++++--------------- 2 files changed, 48 insertions(+), 40 deletions(-) diff --git a/devices/CurrentCamera.properties b/devices/CurrentCamera.properties index ced3320..30eef5e 100644 --- a/devices/CurrentCamera.properties +++ b/devices/CurrentCamera.properties @@ -1,4 +1,4 @@ -#Fri Jan 13 15:48:47 CET 2017 +#Fri Jan 13 15:51:11 CET 2017 colormap=Temperature colormapAutomatic=true colormapMax=0.0 diff --git a/plugins/ScreenPanel.java b/plugins/ScreenPanel.java index 4e7cd12..2dba96a 100644 --- a/plugins/ScreenPanel.java +++ b/plugins/ScreenPanel.java @@ -502,6 +502,49 @@ public class ScreenPanel extends Panel { filter.close(); filter = null; } + + //Parallelizing initialization + Thread tcomboScreen = new Thread(() -> { + try { + screen = new DiscretePositioner("CurrentScreen", cameraName + ":SET_SCREEN1_POS", cameraName + ":GET_SCREEN1_POS"); + screen.initialize(); + DefaultComboBoxModel model = new DefaultComboBoxModel(); + for (String pos : screen.getPositions()) { + model.addElement(pos); + } + comboScreen.setModel(model); + comboScreen.setSelectedItem(screen.read()); + + } catch (Exception ex) { + comboScreen.setModel(new DefaultComboBoxModel()); + System.err.println(ex.getMessage()); + screen = null; + } + comboScreen.setEnabled(screen != null); + valueScreen.setDevice(screen); + }); + tcomboScreen.start(); + + Thread tcomboFilter = new Thread(() -> { + try { + filter = new DiscretePositioner("CurrentFilter", cameraName + ":SET_FILTER", cameraName + ":GET_FILTER"); + filter.initialize(); + DefaultComboBoxModel model = new DefaultComboBoxModel(); + for (String pos : filter.getPositions()) { + model.addElement(pos); + } + comboFilter.setModel(model); + comboFilter.setSelectedItem(filter.read()); + } catch (Exception ex) { + System.err.println(ex.getMessage()); + filter = null; + } + comboFilter.setEnabled(filter != null); + valueFilter.setDevice(filter); + }); + tcomboFilter.start(); + + try { Path configFile = Paths.get(configFolder, cameraName + ".json"); cameraConfigJson = configFile.toFile().exists() ? new String(Files.readAllBytes(configFile)) : null; @@ -650,45 +693,10 @@ public class ScreenPanel extends Panel { } finally { checkReticle(); onTimer(); - } - if (camera.isInitialized()){ - Thread t = new Thread(() -> { - try { - screen = new DiscretePositioner("CurrentScreen", cameraName + ":SET_SCREEN1_POS", cameraName + ":GET_SCREEN1_POS"); - screen.initialize(); - DefaultComboBoxModel model = new DefaultComboBoxModel(); - for (String pos : screen.getPositions()) { - model.addElement(pos); - } - comboScreen.setModel(model); - comboScreen.setSelectedItem(screen.read()); - - } catch (Exception ex) { - comboScreen.setModel(new DefaultComboBoxModel()); - System.err.println(ex.getMessage()); - screen = null; - } - comboScreen.setEnabled(screen != null); - valueScreen.setDevice(screen); - }); - t.start(); - try { - filter = new DiscretePositioner("CurrentFilter", cameraName + ":SET_FILTER", cameraName + ":GET_FILTER"); - filter.initialize(); - DefaultComboBoxModel model = new DefaultComboBoxModel(); - for (String pos : filter.getPositions()) { - model.addElement(pos); - } - comboFilter.setModel(model); - comboFilter.setSelectedItem(filter.read()); - } catch (Exception ex) { - System.err.println(ex.getMessage()); - filter = null; - } - comboFilter.setEnabled(filter != null); - valueFilter.setDevice(filter); - t.join(); - } + } + + tcomboScreen.join(); + tcomboFilter.join(); }