From 59e507c94297f79dd99287c90c0839e886efcca6 Mon Sep 17 00:00:00 2001 From: kascade Date: Mon, 8 Jan 2007 13:10:43 +0000 Subject: [PATCH] updated profile loading git-svn-id: http://svn.3splooges.com/romraider-arch/trunk@408 d2e2e1cd-ba16-0410-be16-b7c4453c7c2d --- installer/install-linux.xml | 14 +++++------ installer/install-win.xml | 14 +++++------ logger.xml | 23 +++++-------------- .../io/port/SerialPortRefreshListener.java | 2 +- .../io/port/SerialPortRefresher.java | 10 ++++++-- src/enginuity/logger/EcuLogger.java | 13 ++++------- .../comms/manager/QueryManagerImpl.java | 4 +++- .../logger/ui/SerialPortComboBox.java | 5 +++- 8 files changed, 41 insertions(+), 44 deletions(-) diff --git a/installer/install-linux.xml b/installer/install-linux.xml index 1c3b0981..4f150a0c 100644 --- a/installer/install-linux.xml +++ b/installer/install-linux.xml @@ -22,7 +22,8 @@ - + @@ -37,15 +38,14 @@ Enginuity binary files - - + + @@ -78,13 +78,13 @@ - + - + The latest official ECU definitions - + diff --git a/installer/install-win.xml b/installer/install-win.xml index 2a0f83b9..6ab11449 100644 --- a/installer/install-win.xml +++ b/installer/install-win.xml @@ -22,7 +22,8 @@ - + @@ -38,15 +39,14 @@ - - + + @@ -75,13 +75,13 @@ - + - + The latest official ECU definitions - + diff --git a/logger.xml b/logger.xml index 11836d65..a38d5d62 100644 --- a/logger.xml +++ b/logger.xml @@ -972,10 +972,7 @@
- 0xFFFFFF - - - 0xEEEEEE + 0x008228
@@ -983,30 +980,22 @@
- +
- 0xFFFFFE - 0xFFFFFF - - - 0xFFFFFE - 0xFFFFFF - - - 0xFFFFFE - 0xFFFFFF + 0x00A6FC + 0x00A6FD
diff --git a/src/enginuity/io/port/SerialPortRefreshListener.java b/src/enginuity/io/port/SerialPortRefreshListener.java index 44b6826b..2be4f2d7 100644 --- a/src/enginuity/io/port/SerialPortRefreshListener.java +++ b/src/enginuity/io/port/SerialPortRefreshListener.java @@ -25,6 +25,6 @@ import java.util.Set; public interface SerialPortRefreshListener { - void refreshPortList(Set ports); + void refreshPortList(Set ports, String defaultSelectedPort); } diff --git a/src/enginuity/io/port/SerialPortRefresher.java b/src/enginuity/io/port/SerialPortRefresher.java index f66f136e..c9c3f3ad 100644 --- a/src/enginuity/io/port/SerialPortRefresher.java +++ b/src/enginuity/io/port/SerialPortRefresher.java @@ -33,19 +33,25 @@ public final class SerialPortRefresher implements Runnable { private static final long PORT_REFRESH_INTERVAL = 15000L; private final SerialPortDiscoverer serialPortDiscoverer = new SerialPortDiscovererImpl(); private SerialPortRefreshListener listener; + private final String defaultLoggerPort; - public SerialPortRefresher(SerialPortRefreshListener listener) { + public SerialPortRefresher(SerialPortRefreshListener listener, String defaultLoggerPort) { checkNotNull(listener); this.listener = listener; + this.defaultLoggerPort = defaultLoggerPort; } public void run() { while (true) { - listener.refreshPortList(listSerialPorts()); + refreshPortList(); ThreadUtil.sleep(PORT_REFRESH_INTERVAL); } } + private void refreshPortList() { + listener.refreshPortList(listSerialPorts(), defaultLoggerPort); + } + private Set listSerialPorts() { List portIdentifiers = serialPortDiscoverer.listPorts(); Set portNames = new TreeSet(); diff --git a/src/enginuity/logger/EcuLogger.java b/src/enginuity/logger/EcuLogger.java index 1b19c4ee..5f737bc9 100644 --- a/src/enginuity/logger/EcuLogger.java +++ b/src/enginuity/logger/EcuLogger.java @@ -132,11 +132,11 @@ public final class EcuLogger extends JFrame implements WindowListener, PropertyC public EcuLogger(Settings settings) { super(ENGINUITY_ECU_LOGGER_TITLE); bootstrap(settings); - startPortRefresherThread(); initControllerListeners(); initUserInterface(); initDataUpdateHandlers(); reloadUserProfile(settings.getLoggerProfileFilePath()); + startPortRefresherThread(); if (!isLogging()) startLogging(); } @@ -187,7 +187,7 @@ public final class EcuLogger extends JFrame implements WindowListener, PropertyC } private void startPortRefresherThread() { - Thread portRefresherThread = new Thread(new SerialPortRefresher(portsComboBox)); + Thread portRefresherThread = new Thread(new SerialPortRefresher(portsComboBox, settings.getLoggerPort())); portRefresherThread.setDaemon(true); portRefresherThread.start(); } @@ -224,7 +224,7 @@ public final class EcuLogger extends JFrame implements WindowListener, PropertyC private void loadUserProfile(EcuDataLoader dataLoader, String profileFilePath) { UserProfileLoader profileLoader = new UserProfileLoaderImpl(); UserProfile profile = profileLoader.loadProfile(profileFilePath); - setSelectedPort(profile); + initSelectedPort(profile); List ecuParams = dataLoader.getEcuParameters(); addConvertorUpdateListeners(ecuParams); clearParamTableModels(); @@ -233,12 +233,9 @@ public final class EcuLogger extends JFrame implements WindowListener, PropertyC loadEcuSwitches(dataLoader.getEcuSwitches(), profile); } - private void setSelectedPort(UserProfile profile) { + private void initSelectedPort(UserProfile profile) { if (profile != null) { - String serialPort = profile.getSerialPort(); - if (serialPort != null && serialPort.length() > 0) { - portsComboBox.setSelectedItem(serialPort); - } + settings.setLoggerPort(profile.getSerialPort()); } } diff --git a/src/enginuity/logger/comms/manager/QueryManagerImpl.java b/src/enginuity/logger/comms/manager/QueryManagerImpl.java index aad8bf90..0baac8fd 100644 --- a/src/enginuity/logger/comms/manager/QueryManagerImpl.java +++ b/src/enginuity/logger/comms/manager/QueryManagerImpl.java @@ -55,6 +55,7 @@ public final class QueryManagerImpl implements QueryManager { private final EcuInitCallback ecuInitCallback; private final MessageListener messageListener; private Thread queryManagerThread; + private boolean started; private boolean stop; public QueryManagerImpl(Settings settings, EcuInitCallback ecuInitCallback, MessageListener messageListener) { @@ -80,10 +81,11 @@ public final class QueryManagerImpl implements QueryManager { } public boolean isRunning() { - return !stop; + return started && !stop; } public void run() { + started = true; queryManagerThread = Thread.currentThread(); System.out.println("QueryManager started."); try { diff --git a/src/enginuity/logger/ui/SerialPortComboBox.java b/src/enginuity/logger/ui/SerialPortComboBox.java index a49f0b08..e54b7f47 100644 --- a/src/enginuity/logger/ui/SerialPortComboBox.java +++ b/src/enginuity/logger/ui/SerialPortComboBox.java @@ -37,7 +37,7 @@ public final class SerialPortComboBox extends JComboBox implements SerialPortRef this.settings = settings; } - public void refreshPortList(Set ports) { + public void refreshPortList(Set ports, String defaultSelectedPort) { checkNotNull(ports); boolean changeDetected = ports.isEmpty() || ports.size() != getItemCount(); if (!changeDetected) { @@ -63,6 +63,9 @@ public final class SerialPortComboBox extends JComboBox implements SerialPortRef } if (changeDetected) { String selectedPort = (String) getSelectedItem(); + if (selectedPort == null) { + selectedPort = defaultSelectedPort; + } removeAllItems(); if (!ports.isEmpty()) { for (String port : ports) {