mirror of https://github.com/rusefi/RomRaider.git
LM-2 MTS refactoring. Now plugin loads sensor inputs dynamically. This should be functional enough to test MTS service.
git-svn-id: https://svn2.assembla.com/svn/romraider/trunk@347 38686702-15cf-42e4-a595-3071df8bf5ea
This commit is contained in:
parent
f776849834
commit
35a860ad08
111
src/com/romraider/logger/external/innovate/generic/mts/io/MTSConnector.java
vendored
Normal file
111
src/com/romraider/logger/external/innovate/generic/mts/io/MTSConnector.java
vendored
Normal file
|
@ -0,0 +1,111 @@
|
|||
/*
|
||||
* RomRaider Open-Source Tuning, Logging and Reflashing
|
||||
* Copyright (C) 2006-2010 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
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
package com.romraider.logger.external.innovate.generic.mts.io;
|
||||
|
||||
import static com.romraider.logger.external.innovate.generic.mts.io.MTSFactory.createMTS;
|
||||
import static org.apache.log4j.Logger.getLogger;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.romraider.logger.external.innovate.lm2.mts.plugin.Lm2Sensor;
|
||||
|
||||
public final class MTSConnector {
|
||||
private static final Logger LOGGER = getLogger(MTSConnector.class);
|
||||
private final MTS mts;
|
||||
|
||||
public MTSConnector(int mtsPort) {
|
||||
this.mts = mts(mtsPort);
|
||||
}
|
||||
|
||||
public MTS getMts() {
|
||||
return mts;
|
||||
}
|
||||
|
||||
private MTS mts(int mtsPort) {
|
||||
// bail out early if we know specified mts port is invalid
|
||||
if (mtsPort < 0) throw new IllegalArgumentException("Bad MTS port: " + mtsPort);
|
||||
|
||||
// create mts interface
|
||||
MTS mts = createMTS();
|
||||
mts.disconnect();
|
||||
|
||||
try {
|
||||
// check there are ports available
|
||||
int portCount = mts.portCount();
|
||||
if (portCount <= 0) throw new IllegalStateException("No MTS ports found");
|
||||
LOGGER.info("MTS: found " + portCount + " ports.");
|
||||
|
||||
// select the specified port
|
||||
mts.currentPort(mtsPort);
|
||||
String portName = mts.portName();
|
||||
LOGGER.info("MTS: current port [" + mtsPort + "]: " + portName);
|
||||
|
||||
return mts;
|
||||
} catch (RuntimeException t) {
|
||||
// cleanup mts and rethrow exception
|
||||
if (mts != null) mts.dispose();
|
||||
throw t;
|
||||
}
|
||||
}
|
||||
|
||||
public Set<Lm2Sensor> getSensors() {
|
||||
Set<Lm2Sensor> sensors = new HashSet<Lm2Sensor>();
|
||||
try {
|
||||
// attempt to connect to the specified device
|
||||
mts.connect();
|
||||
|
||||
try {
|
||||
// get a count of available inputs
|
||||
int inputCount = mts.inputCount();
|
||||
LOGGER.info("MTS: found " + inputCount + " inputs.");
|
||||
|
||||
if (inputCount > 0) {
|
||||
for (int i = 0; i < inputCount; i++) {
|
||||
// report each input found
|
||||
mts.currentInput(i);
|
||||
Lm2Sensor sensor = new Lm2Sensor();
|
||||
sensor.setInputNumber(i);
|
||||
sensor.setInputName(mts.inputName());
|
||||
sensor.setDeviceName(mts.inputDeviceName());
|
||||
sensor.setDeviceChannel(mts.inputDeviceChannel());
|
||||
sensor.setUnits(mts.inputUnit());
|
||||
sensor.setMinValue(mts.inputMinValue());
|
||||
sensor.setMaxValue(mts.inputMaxValue());
|
||||
sensors.add(sensor);
|
||||
LOGGER.debug(String.format(
|
||||
"MTS: InputNo: %02d, InputName: %s, InputType: %d, DeviceName: %s, DeviceType: %d, DeviceChannel: %d, Units: %s, Multiplier: %f, MinValue: %f, MaxValue: %f",
|
||||
i, mts.inputName(), mts.inputType(), mts.inputDeviceName(), mts.inputDeviceType(), mts.inputDeviceChannel(), mts.inputUnit(), mts.inputAFRMultiplier(), mts.inputMinValue(), mts.inputMaxValue()));
|
||||
}
|
||||
}
|
||||
else {
|
||||
LOGGER.error("MTS: Error - no input channels found to log from!");
|
||||
}
|
||||
} finally {
|
||||
mts.disconnect();
|
||||
}
|
||||
} finally {
|
||||
mts.dispose();
|
||||
}
|
||||
return sensors;
|
||||
}
|
||||
}
|
|
@ -30,17 +30,18 @@ import org.apache.log4j.Logger;
|
|||
|
||||
import com.romraider.logger.external.core.Stoppable;
|
||||
import com.romraider.logger.external.innovate.lm2.mts.plugin.Lm2MtsDataItem;
|
||||
import com.romraider.logger.external.innovate.lm2.mts.plugin.Lm2SensorType;
|
||||
|
||||
public final class MTSRunner implements Stoppable {
|
||||
private static final Logger LOGGER = getLogger(MTSRunner.class);
|
||||
private final Map<Lm2SensorType, Lm2MtsDataItem> dataItems;
|
||||
private final Map<Integer, Lm2MtsDataItem> dataItems;
|
||||
private final MTS mts;
|
||||
private boolean running;
|
||||
private boolean stop;
|
||||
|
||||
public MTSRunner(int mtsPort, Map<Lm2SensorType, Lm2MtsDataItem> dataItems) {
|
||||
this.mts = mts(mtsPort);
|
||||
public MTSRunner(int mtsPort, Map<Integer, Lm2MtsDataItem> dataItems) {
|
||||
// this.mts = mts(mtsPort);
|
||||
MTSConnector connection = new MTSConnector(mtsPort);
|
||||
this.mts = connection.getMts();
|
||||
this.dataItems = dataItems;
|
||||
}
|
||||
|
||||
|
@ -63,31 +64,32 @@ public final class MTSRunner implements Stoppable {
|
|||
while (running && currentTimeMillis() < timeout) sleep(100L);
|
||||
}
|
||||
|
||||
private MTS mts(int mtsPort) {
|
||||
// bail out early if we know specified mts port is invalid
|
||||
if (mtsPort < 0) throw new IllegalArgumentException("Bad MTS port: " + mtsPort);
|
||||
|
||||
// create mts interface
|
||||
MTS mts = createMTS();
|
||||
|
||||
try {
|
||||
// check there are ports available
|
||||
int portCount = mts.portCount();
|
||||
if (portCount <= 0) throw new IllegalStateException("No MTS ports found");
|
||||
LOGGER.info("MTS: found " + portCount + " ports.");
|
||||
|
||||
// select the specified port
|
||||
mts.currentPort(mtsPort);
|
||||
String portName = mts.portName();
|
||||
LOGGER.info("MTS: current port [" + mtsPort + "]: " + portName);
|
||||
|
||||
return mts;
|
||||
} catch (RuntimeException t) {
|
||||
// cleanup mts and rethrow exception
|
||||
if (mts != null) mts.dispose();
|
||||
throw t;
|
||||
}
|
||||
}
|
||||
// private MTS mts(int mtsPort) {
|
||||
// // bail out early if we know specified mts port is invalid
|
||||
// if (mtsPort < 0) throw new IllegalArgumentException("Bad MTS port: " + mtsPort);
|
||||
//
|
||||
// // create mts interface
|
||||
// MTS mts = createMTS();
|
||||
// mts.disconnect();
|
||||
//
|
||||
// try {
|
||||
// // check there are ports available
|
||||
// int portCount = mts.portCount();
|
||||
// if (portCount <= 0) throw new IllegalStateException("No MTS ports found");
|
||||
// //LOGGER.info("MTS: found " + portCount + " ports.");
|
||||
//
|
||||
// // select the specified port
|
||||
// mts.currentPort(mtsPort);
|
||||
// String portName = mts.portName();
|
||||
// //LOGGER.info("MTS: current port [" + mtsPort + "]: " + portName);
|
||||
//
|
||||
// return mts;
|
||||
// } catch (RuntimeException t) {
|
||||
// // cleanup mts and rethrow exception
|
||||
// if (mts != null) mts.dispose();
|
||||
// throw t;
|
||||
// }
|
||||
// }
|
||||
|
||||
private void doRun() {
|
||||
try {
|
||||
|
@ -97,13 +99,13 @@ public final class MTSRunner implements Stoppable {
|
|||
try {
|
||||
// get a count of available inputs
|
||||
int inputCount = mts.inputCount();
|
||||
LOGGER.info("MTS: found " + inputCount + " inputs.");
|
||||
//LOGGER.info("MTS: found " + inputCount + " inputs.");
|
||||
|
||||
if (inputCount > 0) {
|
||||
for (int i = 0; i < inputCount; i++) {
|
||||
// report each input found
|
||||
mts.currentInput(i);
|
||||
LOGGER.info(String.format(
|
||||
LOGGER.debug(String.format(
|
||||
"MTS: InputNo: %02d, InputName: %s, InputType: %d, DeviceName: %s, DeviceType: %d, DeviceChannel: %d, Units: %s, Multiplier: %f, MinValue: %f, MaxValue: %f, MinVolts: %f, MaxVolts: %f",
|
||||
i, mts.inputName(), mts.inputType(), mts.inputDeviceName(), mts.inputDeviceType(), mts.inputDeviceChannel(), mts.inputUnit(), mts.inputAFRMultiplier(), mts.inputMinValue(), mts.inputMaxValue(), mts.inputMinVolt(), mts.inputMaxVolt()));
|
||||
}
|
||||
|
@ -118,7 +120,7 @@ public final class MTSRunner implements Stoppable {
|
|||
int function = mts.inputFunction();
|
||||
int sample = mts.inputSample();
|
||||
|
||||
LOGGER.trace("MTS: type = " + type + ", function = " + function + ", sample = " + sample);
|
||||
LOGGER.trace("MTS input: " + i + ", type = " + type + ", function = " + function + ", sample = " + sample);
|
||||
|
||||
float data = 0f;
|
||||
|
||||
|
@ -136,7 +138,12 @@ public final class MTSRunner implements Stoppable {
|
|||
if (function == 9) {
|
||||
float min = mts.inputMinValue();
|
||||
float max = mts.inputMaxValue();
|
||||
data = ((max - min) * ((float) sample / 1024f)) + min;
|
||||
float range = max - min;
|
||||
data = (((float) sample / 1024f) * range) + min;
|
||||
if (mts.inputDeviceChannel() == -1)
|
||||
LOGGER.debug(String.format(
|
||||
"MTS: InputNo: %02d, InputName: %s, InputType: %d, DeviceName: %s, DeviceType: %d, DeviceChannel: %d, Units: %s, Multiplier: %f, MinValue: %f, MaxValue: %f, MinVolts: %f, MaxVolts: %f, Function: %d, data: %f",
|
||||
i, mts.inputName(), mts.inputType(), mts.inputDeviceName(), mts.inputDeviceType(), mts.inputDeviceChannel(), mts.inputUnit(), mts.inputAFRMultiplier(), mts.inputMinValue(), mts.inputMaxValue(), mts.inputMinVolt(), mts.inputMaxVolt(), mts.inputFunction(), data));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -144,20 +151,28 @@ public final class MTSRunner implements Stoppable {
|
|||
// Take each sample step as .001 Lambda,
|
||||
// add 0.5 (so our range is 0.5 to 1.523 for our 1024 steps),
|
||||
// then multiply by the AFR multiplier
|
||||
if (type == 0 || type == 1) {
|
||||
if (type == 1) {
|
||||
// MTS_FUNC_LAMBDA
|
||||
if (function == 0) {
|
||||
//float multiplier = mts.inputAFRMultiplier();
|
||||
//data = ((float) sample / 1000f + 0.5f) * multiplier;
|
||||
data = ((float) sample / 1000f + 0.5f);
|
||||
float multiplier = mts.inputAFRMultiplier();
|
||||
data = ((float) sample / 1000f + 0.5f) * multiplier;
|
||||
}
|
||||
// MTS_FUNC_O2
|
||||
if (function == 1) {
|
||||
data = ((float) sample / 10f);
|
||||
}
|
||||
}
|
||||
Lm2SensorType sensor = Lm2SensorType.valueOf(function, mts.inputDeviceChannel());
|
||||
Lm2MtsDataItem dataItem = dataItems.get(sensor);
|
||||
|
||||
// Lambda
|
||||
// Identical to AFR, except we do not multiply for AFR.
|
||||
if (type == 0) {
|
||||
// MTS_FUNC_LAMBDA
|
||||
if (function == 0) {
|
||||
data = (float) sample / 1000f + 0.5f;
|
||||
}
|
||||
}
|
||||
// set data for this sensor based on inputNumber
|
||||
Lm2MtsDataItem dataItem = dataItems.get(i);
|
||||
if (dataItem != null) dataItem.setData(data);
|
||||
}
|
||||
sleep(10L);
|
||||
|
|
|
@ -22,22 +22,25 @@ package com.romraider.logger.external.innovate.lm2.mts.plugin;
|
|||
import static com.romraider.logger.external.core.ExternalDataConvertorLoader.loadConvertors;
|
||||
|
||||
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;
|
||||
import com.romraider.logger.external.core.ExternalSensorConversions;
|
||||
|
||||
public final class Lm2MtsDataItem implements ExternalDataItem, DataListener {
|
||||
private EcuDataConvertor[] convertors;
|
||||
//private EcuDataConvertor[] convertors;
|
||||
private final String name;
|
||||
private int channel;
|
||||
private double data;
|
||||
private String units;
|
||||
|
||||
public Lm2MtsDataItem(String name, int channel, ExternalSensorConversions... convertorList) {
|
||||
public Lm2MtsDataItem(String name, int channel, String units) {
|
||||
super();
|
||||
this.name = name;
|
||||
this.channel = channel;
|
||||
convertors = new EcuDataConvertor[convertorList.length];
|
||||
convertors = loadConvertors(this, convertors, convertorList);
|
||||
this.units = units;
|
||||
// convertors = new EcuDataConvertor[convertorList.length];
|
||||
// convertors = loadConvertors(this, convertors, convertorList);
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
|
@ -56,11 +59,15 @@ public final class Lm2MtsDataItem implements ExternalDataItem, DataListener {
|
|||
return data;
|
||||
}
|
||||
|
||||
public String getUnits() {
|
||||
return units;
|
||||
}
|
||||
|
||||
public void setData(double data) {
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
public EcuDataConvertor[] getConvertors() {
|
||||
return convertors;
|
||||
}
|
||||
EcuDataConvertor[] convertors = {new ExternalDataConvertorImpl(this, units, "x", "0.00")};
|
||||
return convertors; }
|
||||
}
|
|
@ -19,20 +19,6 @@
|
|||
|
||||
package com.romraider.logger.external.innovate.lm2.mts.plugin;
|
||||
|
||||
import static com.romraider.logger.external.core.SensorConversionsLambda.AFR_146;
|
||||
import static com.romraider.logger.external.core.SensorConversionsLambda.AFR_147;
|
||||
import static com.romraider.logger.external.core.SensorConversionsLambda.AFR_155;
|
||||
import static com.romraider.logger.external.core.SensorConversionsLambda.AFR_172;
|
||||
import static com.romraider.logger.external.core.SensorConversionsLambda.AFR_34;
|
||||
import static com.romraider.logger.external.core.SensorConversionsLambda.AFR_64;
|
||||
import static com.romraider.logger.external.core.SensorConversionsLambda.AFR_90;
|
||||
import static com.romraider.logger.external.core.SensorConversionsLambda.LAMBDA;
|
||||
import static com.romraider.logger.external.core.SensorConversionsOther.VOLTS_DC;
|
||||
import static com.romraider.logger.external.innovate.lm2.mts.plugin.Lm2SensorType.THERMALCOUPLE1;
|
||||
import static com.romraider.logger.external.innovate.lm2.mts.plugin.Lm2SensorType.THERMALCOUPLE2;
|
||||
import static com.romraider.logger.external.innovate.lm2.mts.plugin.Lm2SensorType.THERMALCOUPLE3;
|
||||
import static com.romraider.logger.external.innovate.lm2.mts.plugin.Lm2SensorType.THERMALCOUPLE4;
|
||||
import static com.romraider.logger.external.innovate.lm2.mts.plugin.Lm2SensorType.WIDEBAND0;
|
||||
import static com.romraider.util.ThreadUtil.runAsDaemon;
|
||||
import static java.lang.Integer.parseInt;
|
||||
import static java.util.Collections.unmodifiableList;
|
||||
|
@ -42,6 +28,7 @@ import java.util.ArrayList;
|
|||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.swing.Action;
|
||||
|
||||
|
@ -50,20 +37,27 @@ import org.apache.log4j.Logger;
|
|||
import com.romraider.logger.ecu.EcuLogger;
|
||||
import com.romraider.logger.external.core.ExternalDataItem;
|
||||
import com.romraider.logger.external.core.ExternalDataSource;
|
||||
import com.romraider.logger.external.innovate.generic.mts.io.MTSConnector;
|
||||
import com.romraider.logger.external.innovate.generic.mts.io.MTSRunner;
|
||||
|
||||
public final class Lm2MtsDataSource implements ExternalDataSource {
|
||||
private static final Logger LOGGER = getLogger(Lm2MtsDataSource.class);
|
||||
private final Map<Lm2SensorType, Lm2MtsDataItem> dataItems = new HashMap<Lm2SensorType, Lm2MtsDataItem>();
|
||||
private final Map<Integer, Lm2MtsDataItem> dataItems = new HashMap<Integer, Lm2MtsDataItem>();
|
||||
private MTSRunner runner;
|
||||
private int mtsPort = -1;
|
||||
private int mtsPort = 0;
|
||||
|
||||
{
|
||||
dataItems.put(WIDEBAND0, new Lm2MtsDataItem("LM-2", 0, LAMBDA, AFR_147, AFR_90, AFR_146, AFR_64, AFR_155, AFR_172, AFR_34));
|
||||
dataItems.put(THERMALCOUPLE1, new Lm2MtsDataItem("TC-4", 1, VOLTS_DC));
|
||||
dataItems.put(THERMALCOUPLE2, new Lm2MtsDataItem("TC-4", 2, VOLTS_DC));
|
||||
dataItems.put(THERMALCOUPLE3, new Lm2MtsDataItem("TC-4", 3, VOLTS_DC));
|
||||
dataItems.put(THERMALCOUPLE4, new Lm2MtsDataItem("TC-4", 4, VOLTS_DC));
|
||||
MTSConnector mts = new MTSConnector(mtsPort);
|
||||
Set<Lm2Sensor> sensors = mts.getSensors();
|
||||
dataItems.put(0, new Lm2MtsDataItem("LM-2", 0, "AFR")); // a default entry
|
||||
for (Lm2Sensor sensor : sensors) {
|
||||
dataItems.put(sensor.getInputNumber(), new Lm2MtsDataItem(sensor.getDeviceName(), sensor.getDeviceChannel(), sensor.getUnits()));
|
||||
}
|
||||
// dataItems.put(LC_1_0, new Lm2MtsDataItem("LM-2", 0, LAMBDA, AFR_147, AFR_90, AFR_146, AFR_64, AFR_155, AFR_172, AFR_34));
|
||||
// dataItems.put(TC_4_1, new Lm2MtsDataItem("TC-4", 1, DEG_F));
|
||||
// dataItems.put(TC_4_2, new Lm2MtsDataItem("TC-4", 2, DEG_C));
|
||||
// dataItems.put(TC_4_3, new Lm2MtsDataItem("TC-4", 3, DEG_C));
|
||||
// dataItems.put(TC_4_4, new Lm2MtsDataItem("TC-4", 4, DEG_C));
|
||||
}
|
||||
|
||||
public String getId() {
|
||||
|
|
|
@ -0,0 +1,89 @@
|
|||
/*
|
||||
* RomRaider Open-Source Tuning, Logging and Reflashing
|
||||
* Copyright (C) 2006-2010 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
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
package com.romraider.logger.external.innovate.lm2.mts.plugin;
|
||||
|
||||
public class Lm2Sensor {
|
||||
private int inputNumber = 0;
|
||||
private String inputName = "";
|
||||
private String deviceName = "";
|
||||
private int deviceChannel = 0;
|
||||
private String units = "";
|
||||
private float minValue = 0f;
|
||||
private float maxValue = 0f;
|
||||
|
||||
public Lm2Sensor() {
|
||||
}
|
||||
|
||||
public int getInputNumber() {
|
||||
return inputNumber;
|
||||
}
|
||||
|
||||
public void setInputNumber(int input) {
|
||||
inputNumber = input;
|
||||
}
|
||||
|
||||
public String getInputName() {
|
||||
return inputName;
|
||||
}
|
||||
|
||||
public void setInputName(String name) {
|
||||
inputName = name;
|
||||
}
|
||||
|
||||
public String getDeviceName() {
|
||||
return deviceName;
|
||||
}
|
||||
|
||||
public void setDeviceName(String name) {
|
||||
deviceName = name;
|
||||
}
|
||||
|
||||
public int getDeviceChannel() {
|
||||
return deviceChannel;
|
||||
}
|
||||
|
||||
public void setDeviceChannel(int channel) {
|
||||
deviceChannel = channel;
|
||||
}
|
||||
|
||||
public String getUnits() {
|
||||
return units;
|
||||
}
|
||||
|
||||
public void setUnits(String unit) {
|
||||
units = unit;
|
||||
}
|
||||
|
||||
public float getMinValue() {
|
||||
return minValue;
|
||||
}
|
||||
|
||||
public void setMinValue(float value) {
|
||||
minValue = value;
|
||||
}
|
||||
|
||||
public float getMaxValue() {
|
||||
return maxValue;
|
||||
}
|
||||
|
||||
public void setMaxValue(float value) {
|
||||
maxValue = value;
|
||||
}
|
||||
}
|
|
@ -20,33 +20,26 @@
|
|||
package com.romraider.logger.external.innovate.lm2.mts.plugin;
|
||||
|
||||
public enum Lm2SensorType {
|
||||
//<sensor#>(function, channel)
|
||||
WIDEBAND0(0, 0),
|
||||
THERMALCOUPLE1(9, 1),
|
||||
THERMALCOUPLE2(9, 2),
|
||||
THERMALCOUPLE3(9, 3),
|
||||
THERMALCOUPLE4(9, 4);
|
||||
//SENSOR_NAME(InputNumber)
|
||||
LC_1_0(0),
|
||||
TC_4_1(17),
|
||||
TC_4_2(18),
|
||||
TC_4_3(19),
|
||||
TC_4_4(20);
|
||||
|
||||
private final int value;
|
||||
private final int channel;
|
||||
private final int inputNumber;
|
||||
|
||||
private Lm2SensorType(int value, int channel) {
|
||||
this.value = value;
|
||||
this.channel = channel;
|
||||
private Lm2SensorType(int inputNumber) {
|
||||
this.inputNumber = inputNumber;
|
||||
}
|
||||
|
||||
public int getValue() {
|
||||
return value;
|
||||
public int getInputNumber() {
|
||||
return inputNumber;
|
||||
}
|
||||
|
||||
public int getChannel() {
|
||||
return channel;
|
||||
}
|
||||
|
||||
public static Lm2SensorType valueOf(int value, int channel) {
|
||||
public static Lm2SensorType valueOf(int inputNumber) {
|
||||
for (Lm2SensorType type : values()) {
|
||||
if (type.getValue() == value &&
|
||||
type.getChannel() == channel)
|
||||
if (type.getInputNumber() == inputNumber)
|
||||
return type;
|
||||
}
|
||||
return null;
|
||||
|
|
Loading…
Reference in New Issue