mirror of https://github.com/rusefi/RomRaider.git
Implement Diagnostic Trouble Codes parsing from logger definition.
This commit is contained in:
parent
1c9467704f
commit
2484deabfc
|
@ -272,6 +272,7 @@ public final class EcuLogger extends AbstractFrame implements MessageListener {
|
|||
private final JLabel startText = new JLabel(" Initializing Logger...");
|
||||
private final String HOME = System.getProperty("user.home");
|
||||
private StatusIndicator statusIndicator;
|
||||
private List<EcuSwitch> dtcodes = new ArrayList<EcuSwitch>();
|
||||
|
||||
public EcuLogger(Settings settings) {
|
||||
super(ECU_LOGGER_TITLE);
|
||||
|
@ -523,6 +524,7 @@ public final class EcuLogger extends AbstractFrame implements MessageListener {
|
|||
addConvertorUpdateListeners(ecuParams);
|
||||
loadEcuParams(ecuParams);
|
||||
loadEcuSwitches(dataLoader.getEcuSwitches());
|
||||
dtcodes = dataLoader.getEcuCodes();
|
||||
if (target.equals("ECU")) initFileLoggingController(dataLoader.getFileLoggingControllerSwitch());
|
||||
settings.setLoggerConnectionProperties(dataLoader.getConnectionProperties());
|
||||
if (dataLoader.getDefVersion() == null) {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* RomRaider Open-Source Tuning, Logging and Reflashing
|
||||
* Copyright (C) 2006-2012 RomRaider.com
|
||||
* Copyright (C) 2006-2013 RomRaider.com
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@ -42,4 +42,6 @@ public interface EcuDataLoader {
|
|||
ConnectionProperties getConnectionProperties();
|
||||
|
||||
String getDefVersion();
|
||||
|
||||
List<EcuSwitch> getEcuCodes();
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* RomRaider Open-Source Tuning, Logging and Reflashing
|
||||
* Copyright (C) 2006-2012 RomRaider.com
|
||||
* Copyright (C) 2006-2013 RomRaider.com
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@ -42,6 +42,7 @@ public final class EcuDataLoaderImpl implements EcuDataLoader {
|
|||
private Map<String, EcuDefinition> ecuDefinitionMap = new HashMap<String, EcuDefinition>();
|
||||
private List<EcuParameter> ecuParameters = new ArrayList<EcuParameter>();
|
||||
private List<EcuSwitch> ecuSwitches = new ArrayList<EcuSwitch>();
|
||||
private List<EcuSwitch> dtcodes = new ArrayList<EcuSwitch>();
|
||||
private EcuSwitch fileLoggingControllerSwitch;
|
||||
private ConnectionProperties connectionProperties;
|
||||
private String defVersion;
|
||||
|
@ -81,6 +82,7 @@ public final class EcuDataLoaderImpl implements EcuDataLoader {
|
|||
fileLoggingControllerSwitch = handler.getFileLoggingControllerSwitch();
|
||||
connectionProperties = handler.getConnectionProperties();
|
||||
defVersion = handler.getVersion();
|
||||
dtcodes = handler.getEcuCodes();
|
||||
} finally {
|
||||
inputStream.close();
|
||||
}
|
||||
|
@ -117,4 +119,8 @@ public final class EcuDataLoaderImpl implements EcuDataLoader {
|
|||
public String getDefVersion() {
|
||||
return defVersion;
|
||||
}
|
||||
|
||||
public List<EcuSwitch> getEcuCodes() {
|
||||
return dtcodes;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -67,6 +67,7 @@ public final class LoggerDefinitionHandler extends DefaultHandler {
|
|||
private static final String TAG_SWITCH = "switch";
|
||||
private static final String TAG_ECUPARAM = "ecuparam";
|
||||
private static final String TAG_ECU = "ecu";
|
||||
private static final String TAG_DTCODE = "dtcode";
|
||||
private static final String ATTR_VERSION = "version";
|
||||
private static final String ATTR_ID = "id";
|
||||
private static final String ATTR_NAME = "name";
|
||||
|
@ -93,11 +94,14 @@ public final class LoggerDefinitionHandler extends DefaultHandler {
|
|||
private static final String ATTR_GAUGE_MAX = "gauge_max";
|
||||
private static final String ATTR_GAUGE_STEP = "gauge_step";
|
||||
private static final String ATTR_TARGET = "target";
|
||||
private static final String ATTR_TMPADDR = "tmpaddr";
|
||||
private static final String ATTR_MEMADDR = "memaddr";
|
||||
private final String protocol;
|
||||
private final String fileLoggingControllerSwitchId;
|
||||
private final EcuInit ecuInit;
|
||||
private List<EcuParameter> params = new ArrayList<EcuParameter>();
|
||||
private List<EcuSwitch> switches = new ArrayList<EcuSwitch>();
|
||||
private List<EcuSwitch> dtcodes = new ArrayList<EcuSwitch>();
|
||||
private EcuSwitch fileLoggingControllerSwitch;
|
||||
private ConnectionProperties connectionProperties;
|
||||
private Map<String, EcuData> ecuDataMap;
|
||||
|
@ -140,6 +144,7 @@ public final class LoggerDefinitionHandler extends DefaultHandler {
|
|||
params = new ArrayList<EcuParameter>();
|
||||
switches = new ArrayList<EcuSwitch>();
|
||||
ecuDataMap = new HashMap<String, EcuData>();
|
||||
dtcodes = new ArrayList<EcuSwitch>();
|
||||
}
|
||||
|
||||
public void startElement(String uri, String localName, String qName, Attributes attributes) {
|
||||
|
@ -208,6 +213,17 @@ public final class LoggerDefinitionHandler extends DefaultHandler {
|
|||
derived = false;
|
||||
} else if (TAG_ECU.equals(qName)) {
|
||||
ecuIds = attributes.getValue(ATTR_ID);
|
||||
} else if (TAG_DTCODE.equals(qName)) {
|
||||
id = attributes.getValue(ATTR_ID);
|
||||
name = attributes.getValue(ATTR_NAME);
|
||||
desc = attributes.getValue(ATTR_DESC);
|
||||
address = new EcuAddressImpl(
|
||||
new String[] {attributes.getValue(ATTR_TMPADDR),
|
||||
attributes.getValue(ATTR_MEMADDR)
|
||||
},
|
||||
1,
|
||||
Integer.valueOf(attributes.getValue(ATTR_BIT)));
|
||||
resetLists();
|
||||
}
|
||||
}
|
||||
charBuffer = new StringBuilder();
|
||||
|
@ -288,6 +304,11 @@ public final class LoggerDefinitionHandler extends DefaultHandler {
|
|||
fileLoggingControllerSwitch = new EcuSwitchImpl(id, name, desc, address, convertors);
|
||||
}
|
||||
}
|
||||
} else if (TAG_DTCODE.equals(qName)) {
|
||||
final EcuDataConvertor[] convertors = new EcuDataConvertor[]{new EcuSwitchConvertorImpl(address.getBit())};
|
||||
final EcuSwitch ecuSwitch = new EcuSwitchImpl(id, name, desc, address, convertors);
|
||||
dtcodes.add(ecuSwitch);
|
||||
ecuDataMap.put(ecuSwitch.getId(), ecuSwitch);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -312,6 +333,10 @@ public final class LoggerDefinitionHandler extends DefaultHandler {
|
|||
return version;
|
||||
}
|
||||
|
||||
public List<EcuSwitch> getEcuCodes() {
|
||||
return dtcodes;
|
||||
}
|
||||
|
||||
private void resetLists() {
|
||||
addrStrings.clear();
|
||||
EcuAddressCreated = false;
|
||||
|
|
Loading…
Reference in New Issue