From 9f9ee0578e587c2c976b290aca0b9cd06f924a05 Mon Sep 17 00:00:00 2001 From: Walter Stypula Date: Sat, 22 Sep 2012 17:38:01 -0500 Subject: [PATCH] Updated Txs Loggers Added a index support in TxsDataItem. This allows txs tuner lite and pro to operate out of the same class. TxsTuner class now properly allows pulling data from the same index. --- .../logger/external/txs/io/TxsRunner.java | 8 ++--- .../external/txs/plugin/TxsDataItem.java | 8 ++++- .../txs/plugin/TxsTunerDataSource.java | 18 +++++------ .../txs/plugin/TxsUtecLogger1DataSource.java | 32 +++++++++---------- 4 files changed, 35 insertions(+), 31 deletions(-) diff --git a/src/com/romraider/logger/external/txs/io/TxsRunner.java b/src/com/romraider/logger/external/txs/io/TxsRunner.java index 03914623..eecccc00 100644 --- a/src/com/romraider/logger/external/txs/io/TxsRunner.java +++ b/src/com/romraider/logger/external/txs/io/TxsRunner.java @@ -22,7 +22,7 @@ package com.romraider.logger.external.txs.io; import static com.romraider.util.ParamChecker.isNullOrEmpty; import static org.apache.log4j.Logger.getLogger; -import java.util.HashMap; +import java.util.ArrayList; import org.apache.log4j.Logger; @@ -41,7 +41,7 @@ public final class TxsRunner implements Stoppable{ private static final String SPLIT_DELIMITER = " "; private static final byte[] EXIT = new byte[]{24}; - private final HashMap dataItems; + private final ArrayList dataItems; private final SerialConnection connection; private boolean stop; @@ -50,7 +50,7 @@ public final class TxsRunner implements Stoppable{ public TxsRunner( String port, - HashMap dataItems, + ArrayList dataItems, String logger, String device) { this.connection = new SerialConnectionImpl(port, CONNECTION_PROPS); @@ -130,7 +130,7 @@ public final class TxsRunner implements Stoppable{ if(dataItem != null) { //Set value to dataItem - dataItem.setData(parseDouble(values[i])); + dataItem.setData(parseDouble(values[dataItem.getItemIndex()])); } } diff --git a/src/com/romraider/logger/external/txs/plugin/TxsDataItem.java b/src/com/romraider/logger/external/txs/plugin/TxsDataItem.java index fd197de0..10f8b187 100644 --- a/src/com/romraider/logger/external/txs/plugin/TxsDataItem.java +++ b/src/com/romraider/logger/external/txs/plugin/TxsDataItem.java @@ -29,15 +29,21 @@ import com.romraider.logger.external.core.ExternalSensorConversions; public final class TxsDataItem implements ExternalDataItem, DataListener { private EcuDataConvertor[] convertors; private final String name; + private final int itemIndex; private double data; - public TxsDataItem(String name, ExternalSensorConversions... convertorList) { + public TxsDataItem(String name, int itemIndex, ExternalSensorConversions... convertorList) { super(); this.name = name; + this.itemIndex = itemIndex; convertors = new EcuDataConvertor[convertorList.length]; convertors = loadConvertors(this, convertors, convertorList); } + public int getItemIndex(){ + return itemIndex; + } + public String getName() { return name; } diff --git a/src/com/romraider/logger/external/txs/plugin/TxsTunerDataSource.java b/src/com/romraider/logger/external/txs/plugin/TxsTunerDataSource.java index 6fe6a365..fbcd9458 100644 --- a/src/com/romraider/logger/external/txs/plugin/TxsTunerDataSource.java +++ b/src/com/romraider/logger/external/txs/plugin/TxsTunerDataSource.java @@ -33,9 +33,7 @@ import static com.romraider.util.ThreadUtil.runAsDaemon; import static java.util.Collections.unmodifiableList; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; - import javax.swing.Action; import com.romraider.logger.ecu.EcuLogger; @@ -53,16 +51,16 @@ public class TxsTunerDataSource implements ExternalDataSource { private static final int TUNER_PRO_AFR = 1; private static final int TUNER_PRO_KNOCK = 11; - private final HashMap dataItems = - new HashMap(); + private final ArrayList dataItems = + new ArrayList(); private TxsRunner runner; private String port; { - dataItems.put(TUNER_LITE_AFR, new TxsDataItem(DEVICE_NAME + "Lite AFR", AFR_147, LAMBDA, AFR_90, AFR_146, AFR_64, AFR_155, AFR_172, AFR_34)); - dataItems.put(TUNER_PRO_RPM, new TxsDataItem(DEVICE_NAME + "Pro Knock", TXS_RPM)); - dataItems.put(TUNER_PRO_AFR, new TxsDataItem(DEVICE_NAME + "Pro AFR", AFR_147, LAMBDA, AFR_90, AFR_146, AFR_64, AFR_155, AFR_172, AFR_34)); - dataItems.put(TUNER_PRO_KNOCK, new TxsDataItem(DEVICE_NAME + "Pro Knock", TXS_KNOCK)); + dataItems.add(new TxsDataItem(DEVICE_NAME + "Lite AFR", TUNER_LITE_AFR, AFR_147, LAMBDA, AFR_90, AFR_146, AFR_64, AFR_155, AFR_172, AFR_34)); + dataItems.add(new TxsDataItem(DEVICE_NAME + "Pro RPM", TUNER_PRO_RPM, TXS_RPM)); + dataItems.add(new TxsDataItem(DEVICE_NAME + "Pro AFR", TUNER_PRO_AFR, LAMBDA, AFR_147, AFR_90, AFR_146, AFR_64, AFR_155, AFR_172, AFR_34)); + dataItems.add(new TxsDataItem(DEVICE_NAME + "Pro Knock", TUNER_PRO_KNOCK, TXS_KNOCK)); } public String getId() { @@ -74,11 +72,11 @@ public class TxsTunerDataSource implements ExternalDataSource { } public String getVersion() { - return "0.01"; + return "2012.09.22"; } public List getDataItems() { - return unmodifiableList(new ArrayList(dataItems.values())); + return unmodifiableList(dataItems); } public Action getMenuAction(EcuLogger logger) { diff --git a/src/com/romraider/logger/external/txs/plugin/TxsUtecLogger1DataSource.java b/src/com/romraider/logger/external/txs/plugin/TxsUtecLogger1DataSource.java index 5dbbe9e6..93947fb3 100644 --- a/src/com/romraider/logger/external/txs/plugin/TxsUtecLogger1DataSource.java +++ b/src/com/romraider/logger/external/txs/plugin/TxsUtecLogger1DataSource.java @@ -68,24 +68,24 @@ public class TxsUtecLogger1DataSource implements ExternalDataSource { private static final int MODMAFV = 12; private static final int AFR = 13; - private final HashMap dataItems = - new HashMap(); + private final ArrayList dataItems = + new ArrayList(); private TxsRunner runner; private String port; { - dataItems.put(RPM, new TxsDataItem(DEVICE_NAME + "RPM", TXS_RPM)); - dataItems.put(BOOST, new TxsDataItem(DEVICE_NAME + "BOOST", TXS_BOOST)); - dataItems.put(MAFV, new TxsDataItem(DEVICE_NAME + "MAFV", TXS_MAFV)); - dataItems.put(TPS, new TxsDataItem(DEVICE_NAME + "TPS", TXS_TPS)); - dataItems.put(LOAD, new TxsDataItem(DEVICE_NAME + "LOAD", TXS_LOAD)); - dataItems.put(KNOCK, new TxsDataItem(DEVICE_NAME + "KNOCK", TXS_KNOCK)); - dataItems.put(ECUIGN, new TxsDataItem(DEVICE_NAME + "ECUIGN", TXS_IGN)); - dataItems.put(IDC, new TxsDataItem(DEVICE_NAME + "IDC", TXS_IDC)); - dataItems.put(MODIGN, new TxsDataItem(DEVICE_NAME + "MODIGN", TXS_IGN)); - dataItems.put(MAPVE_MODFUEL, new TxsDataItem(DEVICE_NAME + "MAPVE/MODFUEL", TXS_MODFUEL, TXS_MAPVE)); - dataItems.put(MODMAFV, new TxsDataItem(DEVICE_NAME + "MODMAFV", TXS_MAFV)); - dataItems.put(AFR, new TxsDataItem(DEVICE_NAME + "AFR", AFR_147, LAMBDA, AFR_90, AFR_146, AFR_64, AFR_155, AFR_172, AFR_34)); + dataItems.add(new TxsDataItem(DEVICE_NAME + "RPM", RPM, TXS_RPM)); + dataItems.add(new TxsDataItem(DEVICE_NAME + "BOOST", BOOST, TXS_BOOST)); + dataItems.add(new TxsDataItem(DEVICE_NAME + "MAFV", MAFV, TXS_MAFV)); + dataItems.add(new TxsDataItem(DEVICE_NAME + "TPS", TPS, TXS_TPS)); + dataItems.add(new TxsDataItem(DEVICE_NAME + "LOAD", LOAD, TXS_LOAD)); + dataItems.add(new TxsDataItem(DEVICE_NAME + "KNOCK", KNOCK, TXS_KNOCK)); + dataItems.add(new TxsDataItem(DEVICE_NAME + "ECUIGN", ECUIGN, TXS_IGN)); + dataItems.add(new TxsDataItem(DEVICE_NAME + "IDC", IDC, TXS_IDC)); + dataItems.add(new TxsDataItem(DEVICE_NAME + "MODIGN", MODIGN, TXS_IGN)); + dataItems.add(new TxsDataItem(DEVICE_NAME + "MAPVE/MODFUEL", MAPVE_MODFUEL, TXS_MODFUEL, TXS_MAPVE)); + dataItems.add(new TxsDataItem(DEVICE_NAME + "MODMAFV", MODMAFV, TXS_MAFV)); + dataItems.add(new TxsDataItem(DEVICE_NAME + "AFR", AFR, AFR_147, LAMBDA, AFR_90, AFR_146, AFR_64, AFR_155, AFR_172, AFR_34)); } public String getId() { @@ -97,11 +97,11 @@ public class TxsUtecLogger1DataSource implements ExternalDataSource { } public String getVersion() { - return "0.01"; + return "2012.09.20"; } public List getDataItems() { - return unmodifiableList(new ArrayList(dataItems.values())); + return unmodifiableList(new ArrayList(dataItems)); } public Action getMenuAction(EcuLogger logger) {