mirror of https://github.com/rusefi/RomRaider.git
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.
This commit is contained in:
parent
4a9f8d0032
commit
9f9ee0578e
|
@ -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<Integer, TxsDataItem> dataItems;
|
||||
private final ArrayList<TxsDataItem> dataItems;
|
||||
private final SerialConnection connection;
|
||||
|
||||
private boolean stop;
|
||||
|
@ -50,7 +50,7 @@ public final class TxsRunner implements Stoppable{
|
|||
|
||||
public TxsRunner(
|
||||
String port,
|
||||
HashMap<Integer, TxsDataItem> dataItems,
|
||||
ArrayList<TxsDataItem> 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()]));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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<Integer, TxsDataItem> dataItems =
|
||||
new HashMap<Integer, TxsDataItem>();
|
||||
private final ArrayList<TxsDataItem> dataItems =
|
||||
new ArrayList<TxsDataItem>();
|
||||
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<? extends ExternalDataItem> getDataItems() {
|
||||
return unmodifiableList(new ArrayList<TxsDataItem>(dataItems.values()));
|
||||
return unmodifiableList(dataItems);
|
||||
}
|
||||
|
||||
public Action getMenuAction(EcuLogger logger) {
|
||||
|
|
|
@ -68,24 +68,24 @@ public class TxsUtecLogger1DataSource implements ExternalDataSource {
|
|||
private static final int MODMAFV = 12;
|
||||
private static final int AFR = 13;
|
||||
|
||||
private final HashMap<Integer, TxsDataItem> dataItems =
|
||||
new HashMap<Integer, TxsDataItem>();
|
||||
private final ArrayList<TxsDataItem> dataItems =
|
||||
new ArrayList<TxsDataItem>();
|
||||
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<? extends ExternalDataItem> getDataItems() {
|
||||
return unmodifiableList(new ArrayList<TxsDataItem>(dataItems.values()));
|
||||
return unmodifiableList(new ArrayList<TxsDataItem>(dataItems));
|
||||
}
|
||||
|
||||
public Action getMenuAction(EcuLogger logger) {
|
||||
|
|
Loading…
Reference in New Issue