diff --git a/src/enginuity/logger/utec/comm/UtecSerialConnection.java b/src/enginuity/logger/utec/comm/UtecSerialConnection.java index 7a494fc0..b33135d5 100755 --- a/src/enginuity/logger/utec/comm/UtecSerialConnection.java +++ b/src/enginuity/logger/utec/comm/UtecSerialConnection.java @@ -631,15 +631,15 @@ public class UtecSerialConnection implements SerialPortEventListener { // Logger data else { - CommEvent commEvent = new CommEvent(); - commEvent.setLoggerData(new String(inputBuffer)); - commEvent.setLoggerData(true); + LoggerEvent loggerEvent = new LoggerEvent(); + loggerEvent.setLoggerData(new String(inputBuffer)); + loggerEvent.setLoggerData(true); Iterator portIterator = portListeners.iterator(); while (portIterator.hasNext()) { - CommListener theListener = (CommListener) portIterator.next(); - if(commEvent.isValidData() == true){ - theListener.getCommEvent(commEvent); + LoggerListener theListener = (LoggerListener) portIterator.next(); + if(loggerEvent.isValidData() == true){ + theListener.getCommEvent(loggerEvent); } } diff --git a/src/enginuity/logger/utec/commEvent/CommEvent.java b/src/enginuity/logger/utec/commEvent/LoggerEvent.java similarity index 76% rename from src/enginuity/logger/utec/commEvent/CommEvent.java rename to src/enginuity/logger/utec/commEvent/LoggerEvent.java index 7067dbb1..5b6ad413 100755 --- a/src/enginuity/logger/utec/commEvent/CommEvent.java +++ b/src/enginuity/logger/utec/commEvent/LoggerEvent.java @@ -9,7 +9,10 @@ package enginuity.logger.utec.commEvent; import java.util.*; + +import enginuity.logger.utec.gui.mapTabs.DataManager; import enginuity.logger.utec.mapData.UtecMapData; +import enginuity.logger.utec.properties.UtecProperties; /** @@ -18,7 +21,7 @@ import enginuity.logger.utec.mapData.UtecMapData; * To change the template for this generated type comment go to * Window - Preferences - Java - Code Generation - Code and Comments */ -public class CommEvent { +public class LoggerEvent { private String UtecBuffer = null; private String[] data = new String[6]; private double[] doubleData = null; //new double[6]; @@ -45,17 +48,27 @@ public class CommEvent { if(theData.startsWith("--")){ theData = "0.0"; } - if(theData.equalsIgnoreCase("ecu.")){ - theData = "0.0"; - } try{ doubleData[i] = Double.parseDouble(theData); }catch (NumberFormatException e) { - System.out.println("Number error in commevent:"+theData); + System.out.println("Number error in commevent."); this.isValidData = false; return; } + + + // Valid data found + String[] afrIndex = UtecProperties.getProperties("utec.afrIndex"); + if(afrIndex == null || afrIndex[0] == null || afrIndex[0].length() < 1){ + // No afr data available + }else{ + System.out.println("AFR Data available."); + UtecAFRListener utecAFRListener = DataManager.getUtecAFRListener(); + if(utecAFRListener != null){ + utecAFRListener.receivedUtecAFRData(Double.parseDouble(afrIndex[0])); + } + } } } diff --git a/src/enginuity/logger/utec/commEvent/CommListener.java b/src/enginuity/logger/utec/commEvent/LoggerListener.java similarity index 82% rename from src/enginuity/logger/utec/commEvent/CommListener.java rename to src/enginuity/logger/utec/commEvent/LoggerListener.java index 41ed025b..b9c3b178 100755 --- a/src/enginuity/logger/utec/commEvent/CommListener.java +++ b/src/enginuity/logger/utec/commEvent/LoggerListener.java @@ -12,6 +12,6 @@ package enginuity.logger.utec.commEvent; * To change the template for this generated type comment go to * Window - Preferences - Java - Code Generation - Code and Comments */ -public interface CommListener { - public void getCommEvent(CommEvent e); +public interface LoggerListener { + public void getCommEvent(LoggerEvent e); } diff --git a/src/enginuity/logger/utec/commEvent/UtecAFRListener.java b/src/enginuity/logger/utec/commEvent/UtecAFRListener.java new file mode 100644 index 00000000..8ebb4e0d --- /dev/null +++ b/src/enginuity/logger/utec/commEvent/UtecAFRListener.java @@ -0,0 +1,5 @@ +package enginuity.logger.utec.commEvent; + +public interface UtecAFRListener { + public void receivedUtecAFRData(double newAFRReading); +} diff --git a/src/enginuity/logger/utec/gui/bottomControl/BottomUtecControl.java b/src/enginuity/logger/utec/gui/bottomControl/BottomUtecControl.java index b74d1d1c..c1fe6e97 100755 --- a/src/enginuity/logger/utec/gui/bottomControl/BottomUtecControl.java +++ b/src/enginuity/logger/utec/gui/bottomControl/BottomUtecControl.java @@ -20,7 +20,7 @@ import enginuity.logger.utec.commEvent.*; * Preferences - Java - Code Generation - Code and Comments */ public class BottomUtecControl extends JPanel implements ActionListener, - CommListener { + LoggerListener { // Buttons to be used private JButton openButton; @@ -191,7 +191,7 @@ public class BottomUtecControl extends JPanel implements ActionListener, } } - public void getCommEvent(CommEvent e) { + public void getCommEvent(LoggerEvent e) { if (e.isLoggerData()) { String utecData = e.getUtecBuffer(); totalLog += utecData; diff --git a/src/enginuity/logger/utec/gui/mapTabs/DataManager.java b/src/enginuity/logger/utec/gui/mapTabs/DataManager.java index 22db62b2..66c5eac4 100644 --- a/src/enginuity/logger/utec/gui/mapTabs/DataManager.java +++ b/src/enginuity/logger/utec/gui/mapTabs/DataManager.java @@ -1,5 +1,6 @@ package enginuity.logger.utec.gui.mapTabs; +import enginuity.logger.utec.commEvent.UtecAFRListener; import enginuity.logger.utec.mapData.UtecMapData; public class DataManager { @@ -10,6 +11,7 @@ public class DataManager { private static UtecTableModel timingListener = null; private static UtecTableModel boostListener = null; + private static UtecAFRListener utecAFRListener = null; public static void setCurrentMap(UtecMapData newUtecMap){ currentMapData = newUtecMap; @@ -57,4 +59,14 @@ public class DataManager { public static UtecMapData getCurrentMapData() { return currentMapData; } + + + public static UtecAFRListener getUtecAFRListener() { + return utecAFRListener; + } + + + public static void setUtecAFRListener(UtecAFRListener utecAFRListener) { + DataManager.utecAFRListener = utecAFRListener; + } } diff --git a/src/enginuity/logger/utec/gui/realtimeData/RealTimeData.java b/src/enginuity/logger/utec/gui/realtimeData/RealTimeData.java index a090ad5e..3fd3986a 100755 --- a/src/enginuity/logger/utec/gui/realtimeData/RealTimeData.java +++ b/src/enginuity/logger/utec/gui/realtimeData/RealTimeData.java @@ -15,7 +15,7 @@ import enginuity.logger.utec.commInterface.UtecInterface; * * Class displays live data from the UTEC */ -public class RealTimeData extends JComponent implements CommListener{ +public class RealTimeData extends JComponent implements LoggerListener{ //Recieved utec data, start values are zero public double[] doubleData = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; @@ -156,7 +156,7 @@ public class RealTimeData extends JComponent implements CommListener{ } - public void getCommEvent(CommEvent e){ + public void getCommEvent(LoggerEvent e){ if(e.isLoggerData()){ doubleData = e.getDoubleData(); System.out.println("Got new data:"+doubleData[0]+"," + doubleData[1]);