mirror of https://github.com/rusefi/RomRaider.git
More Externals convertor updates.
git-svn-id: https://svn2.assembla.com/svn/romraider/trunk@340 38686702-15cf-42e4-a595-3071df8bf5ea
This commit is contained in:
parent
5955e152c6
commit
0d5229ac91
|
@ -20,21 +20,16 @@
|
|||
package com.romraider.logger.ecu.definition;
|
||||
|
||||
import static com.romraider.logger.ecu.definition.xml.ConverterMaxMinDefaults.getMaxMin;
|
||||
import static com.romraider.util.ByteUtil.asUnsignedInt;
|
||||
import static com.romraider.util.JEPUtil.evaluate;
|
||||
import static com.romraider.util.ParamChecker.isValidBit;
|
||||
import static java.lang.Float.intBitsToFloat;
|
||||
|
||||
import com.romraider.logger.ecu.ui.handler.dash.GaugeMinMax;
|
||||
import com.romraider.logger.external.core.ExternalDataItem;
|
||||
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.Map;
|
||||
|
||||
public final class ExternalDataConvertorImpl implements EcuDataConvertor {
|
||||
private final String units;
|
||||
private final String expression;
|
||||
private final GaugeMinMax gaugeMinMax;
|
||||
private final GaugeMinMax gaugeMinMax = new GaugeMinMax(0,0,0);
|
||||
private final ExternalDataItem dataItem;
|
||||
private DecimalFormat format;
|
||||
|
||||
|
@ -43,16 +38,19 @@ public final class ExternalDataConvertorImpl implements EcuDataConvertor {
|
|||
// <conversion units="hPa" expr="x*37/255/14.50377*1000" format="0" gauge_min="-1200" gauge_max="2800" gauge_step="400" />
|
||||
// <conversion units="bar" expr="x*37/255/14.50377" format="0.000" gauge_min="-1.2" gauge_max="2.8" gauge_step="0.4" />
|
||||
|
||||
public ExternalDataConvertorImpl(ExternalDataItem dataItem) {
|
||||
public ExternalDataConvertorImpl(ExternalDataItem dataItem, String units, String expression,
|
||||
String format
|
||||
// GaugeMinMax gaugeMinMax
|
||||
) {
|
||||
this.dataItem = dataItem;
|
||||
this.units = dataItem.getUnits();
|
||||
this.expression = "x";
|
||||
this.gaugeMinMax = new GaugeMinMax(0,0,0);
|
||||
this.format = new DecimalFormat("0.##");
|
||||
this.units = units;
|
||||
this.expression = expression;
|
||||
this.format = new DecimalFormat(format);
|
||||
}
|
||||
|
||||
public double convert(byte[] bytes) {
|
||||
double value = dataItem.getData();
|
||||
// int value = asUnsignedInt(bytes);
|
||||
double result = evaluate(expression, value);
|
||||
return Double.isNaN(result) || Double.isInfinite(result) ? 0.0 : result;
|
||||
}
|
||||
|
@ -72,4 +70,8 @@ public final class ExternalDataConvertorImpl implements EcuDataConvertor {
|
|||
public String getFormat() {
|
||||
return format.toPattern();
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return getUnits();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -40,8 +40,7 @@ public final class ExternalDataImpl implements ExternalData {
|
|||
public ExternalDataImpl(final ExternalDataItem dataItem, ExternalDataSource dataSource) {
|
||||
checkNotNull(dataItem, dataSource);
|
||||
this.dataSource = dataSource;
|
||||
EcuDataConvertor[] convertors = {new ExternalDataConvertorImpl(dataItem)};
|
||||
this.convertors = convertors;
|
||||
this.convertors = dataItem.getConvertors();
|
||||
id = createId(dataItem);
|
||||
name = dataItem.getName();
|
||||
description = dataItem.getDescription();
|
||||
|
|
|
@ -19,6 +19,8 @@
|
|||
|
||||
package com.romraider.logger.external.aem.plugin;
|
||||
|
||||
import com.romraider.logger.ecu.definition.EcuDataConvertor;
|
||||
import com.romraider.logger.ecu.definition.ExternalDataConvertorImpl;
|
||||
import com.romraider.logger.external.core.DataListener;
|
||||
import com.romraider.logger.external.core.ExternalDataItem;
|
||||
|
||||
|
@ -33,9 +35,9 @@ public final class AemDataItem implements ExternalDataItem, DataListener {
|
|||
return "AEM UEGO AFR data";
|
||||
}
|
||||
|
||||
public String getUnits() {
|
||||
return "AFR";
|
||||
}
|
||||
// public String getUnits() {
|
||||
// return "AFR";
|
||||
// }
|
||||
|
||||
public double getData() {
|
||||
return data;
|
||||
|
@ -44,4 +46,20 @@ public final class AemDataItem implements ExternalDataItem, DataListener {
|
|||
public void setData(double data) {
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
// public String getFormat() {
|
||||
// return "0.##";
|
||||
// }
|
||||
//
|
||||
// public String getExpression() {
|
||||
// return "x";
|
||||
// }
|
||||
|
||||
public EcuDataConvertor[] getConvertors() {
|
||||
String units = "AFR";
|
||||
String expression = "x";
|
||||
String format = "0.##";
|
||||
EcuDataConvertor[] convertors = {new ExternalDataConvertorImpl(this, units, expression, format)};
|
||||
return convertors;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,6 +19,8 @@
|
|||
|
||||
package com.romraider.logger.external.aem2.plugin;
|
||||
|
||||
import com.romraider.logger.ecu.definition.EcuDataConvertor;
|
||||
import com.romraider.logger.ecu.definition.ExternalDataConvertorImpl;
|
||||
import com.romraider.logger.external.core.DataListener;
|
||||
import com.romraider.logger.external.core.ExternalDataItem;
|
||||
|
||||
|
@ -26,16 +28,16 @@ public final class AemDataItem implements ExternalDataItem, DataListener {
|
|||
private double data;
|
||||
|
||||
public String getName() {
|
||||
return "AEM UEGO Lambda [19200]";
|
||||
return "AEM UEGO [19200 baud]";
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return "AEM UEGO Lambda data";
|
||||
return "AEM UEGO Wideband data";
|
||||
}
|
||||
|
||||
public String getUnits() {
|
||||
return "Lambda";
|
||||
}
|
||||
// public String getUnits() {
|
||||
// return "Lambda";
|
||||
// }
|
||||
|
||||
public double getData() {
|
||||
return data;
|
||||
|
@ -44,4 +46,20 @@ public final class AemDataItem implements ExternalDataItem, DataListener {
|
|||
public void setData(double data) {
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
// public String getFormat() {
|
||||
// return "0.##";
|
||||
// }
|
||||
//
|
||||
// public String getExpression() {
|
||||
// return "x";
|
||||
// }
|
||||
|
||||
public EcuDataConvertor[] getConvertors() {
|
||||
String units = "Lambda";
|
||||
String expression = "x";
|
||||
String format = "0.##";
|
||||
EcuDataConvertor[] convertors = {new ExternalDataConvertorImpl(this, units, expression, format)};
|
||||
return convertors;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,12 +19,20 @@
|
|||
|
||||
package com.romraider.logger.external.core;
|
||||
|
||||
import com.romraider.logger.ecu.definition.EcuDataConvertor;
|
||||
|
||||
public interface ExternalDataItem {
|
||||
String getName();
|
||||
|
||||
String getDescription();
|
||||
|
||||
String getUnits();
|
||||
// String getUnits();
|
||||
//
|
||||
// String getFormat();
|
||||
//
|
||||
// String getExpression();
|
||||
|
||||
double getData();
|
||||
|
||||
EcuDataConvertor[] getConvertors();
|
||||
}
|
||||
|
|
|
@ -19,6 +19,8 @@
|
|||
|
||||
package com.romraider.logger.external.fourteenpoint7.plugin;
|
||||
|
||||
import com.romraider.logger.ecu.definition.EcuDataConvertor;
|
||||
import com.romraider.logger.ecu.definition.ExternalDataConvertorImpl;
|
||||
import com.romraider.logger.external.core.ExternalDataItem;
|
||||
import com.romraider.logger.external.core.RawDataListener;
|
||||
|
||||
|
@ -31,12 +33,12 @@ public final class NawDataItem implements ExternalDataItem, RawDataListener {
|
|||
}
|
||||
|
||||
public String getDescription() {
|
||||
return "14Point7 NAW_7S AFR data";
|
||||
return "14Point7 NAW_7S Wideband data";
|
||||
}
|
||||
|
||||
public String getUnits() {
|
||||
return "AFR";
|
||||
}
|
||||
// public String getUnits() {
|
||||
// return "AFR";
|
||||
// }
|
||||
|
||||
public double getData() {
|
||||
if (bytes == null) return 0.0;
|
||||
|
@ -46,4 +48,20 @@ public final class NawDataItem implements ExternalDataItem, RawDataListener {
|
|||
public void setBytes(byte[] bytes) {
|
||||
this.bytes = bytes;
|
||||
}
|
||||
|
||||
// public String getFormat() {
|
||||
// return "0.##";
|
||||
// }
|
||||
//
|
||||
// public String getExpression() {
|
||||
// return "x";
|
||||
// }
|
||||
|
||||
public EcuDataConvertor[] getConvertors() {
|
||||
String units = "AFR";
|
||||
String expression = "x";
|
||||
String format = "0.##";
|
||||
EcuDataConvertor[] convertors = {new ExternalDataConvertorImpl(this, units, expression, format)};
|
||||
return convertors;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,6 +19,8 @@
|
|||
|
||||
package com.romraider.logger.external.innovate.generic.serial.plugin;
|
||||
|
||||
import com.romraider.logger.ecu.definition.EcuDataConvertor;
|
||||
import com.romraider.logger.ecu.definition.ExternalDataConvertorImpl;
|
||||
import com.romraider.logger.external.core.DataListener;
|
||||
import com.romraider.logger.external.core.ExternalDataItem;
|
||||
|
||||
|
@ -33,9 +35,9 @@ public final class InnovateDataItem implements ExternalDataItem, DataListener {
|
|||
return "Innovate Wideband AFR data";
|
||||
}
|
||||
|
||||
public String getUnits() {
|
||||
return "AFR";
|
||||
}
|
||||
// public String getUnits() {
|
||||
// return "AFR";
|
||||
// }
|
||||
|
||||
public double getData() {
|
||||
return data;
|
||||
|
@ -44,4 +46,20 @@ public final class InnovateDataItem implements ExternalDataItem, DataListener {
|
|||
public void setData(double data) {
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
// public String getFormat() {
|
||||
// return "0.##";
|
||||
// }
|
||||
//
|
||||
// public String getExpression() {
|
||||
// return "x";
|
||||
// }
|
||||
|
||||
public EcuDataConvertor[] getConvertors() {
|
||||
String units = "AFR";
|
||||
String expression = "x";
|
||||
String format = "0.##";
|
||||
EcuDataConvertor[] convertors = {new ExternalDataConvertorImpl(this, units, expression, format)};
|
||||
return convertors;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,6 +19,8 @@
|
|||
|
||||
package com.romraider.logger.external.innovate.lm2.mts.plugin;
|
||||
|
||||
import com.romraider.logger.ecu.definition.EcuDataConvertor;
|
||||
import com.romraider.logger.ecu.definition.ExternalDataConvertorImpl;
|
||||
import com.romraider.logger.external.core.DataListener;
|
||||
import com.romraider.logger.external.core.ExternalDataItem;
|
||||
|
||||
|
@ -33,9 +35,9 @@ public final class Lm2MtsDataItem implements ExternalDataItem, DataListener {
|
|||
return "Innovate LM-2 AFR data";
|
||||
}
|
||||
|
||||
public String getUnits() {
|
||||
return "AFR";
|
||||
}
|
||||
// public String getUnits() {
|
||||
// return "AFR";
|
||||
// }
|
||||
|
||||
public double getData() {
|
||||
return data;
|
||||
|
@ -44,4 +46,20 @@ public final class Lm2MtsDataItem implements ExternalDataItem, DataListener {
|
|||
public void setData(double data) {
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
// public String getFormat() {
|
||||
// return "0.##";
|
||||
// }
|
||||
//
|
||||
// public String getExpression() {
|
||||
// return "x";
|
||||
// }
|
||||
|
||||
public EcuDataConvertor[] getConvertors() {
|
||||
String units = "AFR";
|
||||
String expression = "x";
|
||||
String format = "0.##";
|
||||
EcuDataConvertor[] convertors = {new ExternalDataConvertorImpl(this, units, expression, format)};
|
||||
return convertors;
|
||||
}
|
||||
}
|
|
@ -19,6 +19,8 @@
|
|||
|
||||
package com.romraider.logger.external.mrf.plugin;
|
||||
|
||||
import com.romraider.logger.ecu.definition.EcuDataConvertor;
|
||||
import com.romraider.logger.ecu.definition.ExternalDataConvertorImpl;
|
||||
import com.romraider.logger.external.core.DataListener;
|
||||
import com.romraider.logger.external.core.ExternalDataItem;
|
||||
|
||||
|
@ -40,9 +42,9 @@ public final class MrfDataItem implements ExternalDataItem, DataListener {
|
|||
return "MRF Stealth Gauge " + name + " data";
|
||||
}
|
||||
|
||||
public String getUnits() {
|
||||
return units;
|
||||
}
|
||||
// public String getUnits() {
|
||||
// return units;
|
||||
// }
|
||||
|
||||
public double getData() {
|
||||
return data;
|
||||
|
@ -51,4 +53,19 @@ public final class MrfDataItem implements ExternalDataItem, DataListener {
|
|||
public void setData(double data) {
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
// public String getFormat() {
|
||||
// return "0.##";
|
||||
// }
|
||||
//
|
||||
// public String getExpression() {
|
||||
// return "x";
|
||||
// }
|
||||
|
||||
public EcuDataConvertor[] getConvertors() {
|
||||
String expression = "x";
|
||||
String format = "0.##";
|
||||
EcuDataConvertor[] convertors = {new ExternalDataConvertorImpl(this, units, expression, format)};
|
||||
return convertors;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,6 +19,8 @@
|
|||
|
||||
package com.romraider.logger.external.plx.plugin;
|
||||
|
||||
import com.romraider.logger.ecu.definition.EcuDataConvertor;
|
||||
import com.romraider.logger.ecu.definition.ExternalDataConvertorImpl;
|
||||
import com.romraider.logger.external.plx.io.PlxSensorType;
|
||||
import com.romraider.logger.external.plx.io.PlxSensorUnits;
|
||||
|
||||
|
@ -45,9 +47,9 @@ public final class PlxDataItemImpl implements PlxDataItem {
|
|||
return "PLX " + name + " data";
|
||||
}
|
||||
|
||||
public String getUnits() {
|
||||
return units;
|
||||
}
|
||||
// public String getUnits() {
|
||||
// return units;
|
||||
// }
|
||||
|
||||
public double getData() {
|
||||
return convertor.convert(raw, sensorType, sensorUnits);
|
||||
|
@ -56,4 +58,19 @@ public final class PlxDataItemImpl implements PlxDataItem {
|
|||
public void setRaw(int raw) {
|
||||
this.raw = raw;
|
||||
}
|
||||
|
||||
// public String getFormat() {
|
||||
// return "0.##";
|
||||
// }
|
||||
//
|
||||
// public String getExpression() {
|
||||
// return "x";
|
||||
// }
|
||||
|
||||
public EcuDataConvertor[] getConvertors() {
|
||||
String expression = "x";
|
||||
String format = "0.##";
|
||||
EcuDataConvertor[] convertors = {new ExternalDataConvertorImpl(this, units, expression, format)};
|
||||
return convertors;
|
||||
}
|
||||
}
|
|
@ -23,8 +23,4 @@ import com.romraider.logger.external.core.ExternalDataItem;
|
|||
|
||||
public interface TEDataItem extends ExternalDataItem {
|
||||
void setRaw(int... raw);
|
||||
|
||||
String getFormat();
|
||||
|
||||
String getExpression();
|
||||
}
|
||||
|
|
|
@ -19,27 +19,27 @@
|
|||
|
||||
package com.romraider.logger.external.te.plugin;
|
||||
|
||||
import com.romraider.logger.ecu.definition.EcuDataConvertor;
|
||||
import com.romraider.logger.ecu.definition.ExternalDataConvertorImpl;
|
||||
import com.romraider.logger.external.te.plugin.TESensorUnits;
|
||||
|
||||
public final class TEDataItemImpl implements TEDataItem {
|
||||
private final TEConverter converter = new TEConverterImpl();
|
||||
private final EcuDataConvertor[] convertors;
|
||||
private final TESensorUnits sensorUnits;
|
||||
private final TESensorType sensorType;
|
||||
private final String units;
|
||||
private final String name;
|
||||
private final String format;
|
||||
private final String expression;
|
||||
private int[] raw;
|
||||
|
||||
// public TEDataItemImpl(String name, String[] units, TESensorType sensorType, TESensorUnits sensorUnits) {
|
||||
public TEDataItemImpl(String name, String units, TESensorType sensorType, TESensorUnits sensorUnits, String format, String expression) {
|
||||
public TEDataItemImpl(String name, String units, TESensorType sensorType, TESensorUnits sensorUnits, String expression, String format) {
|
||||
super();
|
||||
this.name = name;
|
||||
this.units = units;
|
||||
this.sensorType = sensorType;
|
||||
this.sensorUnits = sensorUnits;
|
||||
this.format = format;
|
||||
this.expression = expression;
|
||||
convertors = new EcuDataConvertor[] {
|
||||
new ExternalDataConvertorImpl(this, units, expression, format)
|
||||
// new ExternalDataConvertorImpl(this, "foo", "x", "0")
|
||||
};
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
|
@ -50,16 +50,8 @@ public final class TEDataItemImpl implements TEDataItem {
|
|||
return "Tech Edge " + name + " data";
|
||||
}
|
||||
|
||||
public String getUnits() {
|
||||
return units;
|
||||
}
|
||||
|
||||
public String getFormat() {
|
||||
return format;
|
||||
}
|
||||
|
||||
public String getExpression() {
|
||||
return expression;
|
||||
public EcuDataConvertor[] getConvertors() {
|
||||
return convertors;
|
||||
}
|
||||
|
||||
public double getData() {
|
||||
|
|
|
@ -19,6 +19,8 @@
|
|||
|
||||
package com.romraider.logger.external.txstuner.plugin;
|
||||
|
||||
import com.romraider.logger.ecu.definition.EcuDataConvertor;
|
||||
import com.romraider.logger.ecu.definition.ExternalDataConvertorImpl;
|
||||
import com.romraider.logger.external.core.DataListener;
|
||||
import com.romraider.logger.external.core.ExternalDataItem;
|
||||
|
||||
|
@ -34,9 +36,9 @@ public final class TxsTunerDataItem implements ExternalDataItem, DataListener {
|
|||
return "TXS Tuner AFR data";
|
||||
}
|
||||
|
||||
public String getUnits() {
|
||||
return "AFR";
|
||||
}
|
||||
// public String getUnits() {
|
||||
// return "AFR";
|
||||
// }
|
||||
|
||||
public double getData() {
|
||||
return data;
|
||||
|
@ -45,5 +47,21 @@ public final class TxsTunerDataItem implements ExternalDataItem, DataListener {
|
|||
public void setData(double data) {
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
// public String getFormat() {
|
||||
// return "0.##";
|
||||
// }
|
||||
//
|
||||
// public String getExpression() {
|
||||
// return "x";
|
||||
// }
|
||||
|
||||
public EcuDataConvertor[] getConvertors() {
|
||||
String units = "AFR";
|
||||
String expression = "x";
|
||||
String format = "0.##";
|
||||
EcuDataConvertor[] convertors = {new ExternalDataConvertorImpl(this, units, expression, format)};
|
||||
return convertors;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -19,6 +19,9 @@
|
|||
|
||||
package com.romraider.logger.external.zt2.plugin;
|
||||
|
||||
import com.romraider.logger.ecu.definition.EcuDataConvertor;
|
||||
import com.romraider.logger.ecu.definition.ExternalDataConvertorImpl;
|
||||
|
||||
public final class ZT2DataItemImpl implements ZT2DataItem {
|
||||
private final ZT2Converter converter = new ZT2ConverterImpl();
|
||||
private final ZT2SensorType sensorType;
|
||||
|
@ -41,9 +44,9 @@ public final class ZT2DataItemImpl implements ZT2DataItem {
|
|||
return "Zeitronix ZT-2 " + name + " data";
|
||||
}
|
||||
|
||||
public String getUnits() {
|
||||
return units;
|
||||
}
|
||||
// public String getUnits() {
|
||||
// return units;
|
||||
// }
|
||||
|
||||
public double getData() {
|
||||
return converter.convert(sensorType, raw);
|
||||
|
@ -52,4 +55,19 @@ public final class ZT2DataItemImpl implements ZT2DataItem {
|
|||
public void setRaw(int... raw) {
|
||||
this.raw = raw;
|
||||
}
|
||||
|
||||
// public String getFormat() {
|
||||
// return "0.##";
|
||||
// }
|
||||
//
|
||||
// public String getExpression() {
|
||||
// return "x";
|
||||
// }
|
||||
|
||||
public EcuDataConvertor[] getConvertors() {
|
||||
String expression = "x";
|
||||
String format = "0.##";
|
||||
EcuDataConvertor[] convertors = {new ExternalDataConvertorImpl(this, units, expression, format)};
|
||||
return convertors;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue