LM-2 MTS plug-in updates, plug-in may still be broken in this check-in.

git-svn-id: https://svn2.assembla.com/svn/romraider/trunk@346 38686702-15cf-42e4-a595-3071df8bf5ea
This commit is contained in:
Dale Schultz 2011-09-27 21:58:01 +00:00
parent 58106e629a
commit f776849834
4 changed files with 94 additions and 118 deletions

View File

@ -19,21 +19,19 @@
package com.romraider.logger.external.innovate.generic.mts.io;
import java.util.Map;
import com.romraider.logger.external.core.DataListener;
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;
import com.romraider.logger.external.mrf.plugin.MrfDataItem;
import com.romraider.logger.external.mrf.plugin.MrfSensorType;
import static com.romraider.logger.external.innovate.generic.mts.io.MTSFactory.createMTS;
import static com.romraider.util.ThreadUtil.sleep;
import static java.lang.System.currentTimeMillis;
import org.apache.log4j.Logger;
import static org.apache.log4j.Logger.getLogger;
import java.util.Map;
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;
@ -102,100 +100,68 @@ public final class MTSRunner implements Stoppable {
LOGGER.info("MTS: found " + inputCount + " inputs.");
if (inputCount > 0) {
// attempt to get data
mts.startData();
// for each input get some info about it
while (!stop) {
for (int i = 0; i < inputCount; i++) {
// report each input found
// mts.currentInput(i);
// LOGGER.info("MTS: InputNo:" + i + ", InputName:" + mts.inputName() +
// ", InputType:" + mts.inputType() + ", DeviceName:" + mts.inputDeviceName() +
// ", DeviceType:" + mts.inputDeviceType() + ", DeviceChannel:" +
// mts.inputDeviceChannel());
// }
// select the input
mts.currentInput(i);
for (int i = 0; i < inputCount; i++) {
// report each input found
mts.currentInput(i);
LOGGER.info(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()));
}
// attempt to get data
// mts.startData();
mts.startData();
// wait a moment for data acquisition to begin
// sleep(1000L);
// for each input get the sample
while (!stop) {
for (int i = 0; i < inputCount; i++) {
mts.currentInput(i);
int type = mts.inputType();
int function = mts.inputFunction();
int sample = mts.inputSample();
// start collecting data
// while (!stop) {
int type = mts.inputType();
int function = mts.inputFunction();
int sample = mts.inputSample();
LOGGER.trace("MTS: type = " + type + ", function = " + function + ", sample = " + sample);
LOGGER.trace("MTS: type = " + type + ", function = " + function + ", sample = " + sample);
float data = 0f;
float data = 0f;
// Input Types
// 0 = Lambda
// 1 = AFR
// 2 = 5V
// Input Types
// 0 = Lambda
// 1 = AFR
// 2 = 5V
// 5V channel
// Determine the range between min and max,
// calculate what percentage of that our sample represents,
// shift back to match our offset from 0.0 for min
if (type == 2) {
// MTS_FUNC_NOTLAMBDA
if (function == 9) {
float min = mts.inputMinValue();
float max = mts.inputMaxValue();
data = ((max - min) * ((float) sample / 1024f)) + min;
}
}
// 5V channel
// Determine the range between min and max,
// calculate what percentage of that our sample represents,
// shift back to match our offset from 0.0 for min
if (type == 2) {
// MTS_FUNC_NOTLAMBDA
if (function == 9) {
float min = mts.inputMinValue();
float max = mts.inputMaxValue();
data = ((max - min) * ((float) sample / 1024f)) + min;
Lm2SensorType[] sensors = Lm2SensorType.values();
for (Lm2SensorType sensorType : sensors) {
if (sensorType.getValue() == function &&
sensorType.getChannel() == mts.inputDeviceChannel()) {
Lm2MtsDataItem dataItem = dataItems.get(sensorType);
dataItem.setData(data);
}
}
}
}
// AFR
// 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) {
// MTS_FUNC_LAMBDA
if (function == 0) {
//float multiplier = mts.inputAFRMultiplier();
//data = ((float) sample / 1000f + 0.5f) * multiplier;
data = ((float) sample / 1000f + 0.5f);
Lm2SensorType[] sensors = Lm2SensorType.values();
for (Lm2SensorType sensorType : sensors) {
if (sensorType.getValue() == function &&
sensorType.getChannel() == mts.inputDeviceChannel()) {
Lm2MtsDataItem dataItem = dataItems.get(sensorType);
dataItem.setData(data);
}
}
}
// MTS_FUNC_O2
if (function == 1) {
data = ((float) sample / 10f);
}
}
// 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;
// }
// }
}
sleep(10L);
}
// AFR
// 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) {
// MTS_FUNC_LAMBDA
if (function == 0) {
//float multiplier = mts.inputAFRMultiplier();
//data = ((float) sample / 1000f + 0.5f) * multiplier;
data = ((float) sample / 1000f + 0.5f);
}
// MTS_FUNC_O2
if (function == 1) {
data = ((float) sample / 10f);
}
}
Lm2SensorType sensor = Lm2SensorType.valueOf(function, mts.inputDeviceChannel());
Lm2MtsDataItem dataItem = dataItems.get(sensor);
if (dataItem != null) dataItem.setData(data);
}
sleep(10L);
}
}
else {
LOGGER.error("MTS: Error - no input channels found to log from!");

View File

@ -97,7 +97,7 @@ public class Test implements MTSEvents {
printAvailableInputs();
// attempt to get data
mts.currentInput(0);
// mts.currentInput(0);
mts.startData();
// notes:
@ -122,7 +122,8 @@ public class Test implements MTSEvents {
// MTS_FUNC_INVALID 10
// retrieve 10 samples
getSamples(10);
// getSamples(10);
waitFor(20000);
// dispose of the event handler instance
connectionEventCookie.close();
@ -147,10 +148,19 @@ public class Test implements MTSEvents {
}
public void newData() {
//int data = mts.inputSample();
//float multiplier = mts.inputAFRMultiplier();
//int sampleMeaning = mts.inputFunction();
//System.out.printf("newData raised. data = %f%n", data * multiplier);
int i;
float data = 0f;
// for (i = 0; i < mts.inputCount(); i++) {
i=0;
mts.currentInput(i);
float min = mts.inputMinValue();
float max = mts.inputMaxValue();
data = mts.inputSample();
data = ((max - min) * ((float) data / 1024f)) + min;
float multiplier = mts.inputAFRMultiplier();
int sampleMeaning = mts.inputFunction();
System.out.printf("newData raised for Input: %02d, Function: %d, Data: %f,\tMultiplier: %f%n", i, sampleMeaning, data, multiplier);
// }
}
/**

View File

@ -13,7 +13,7 @@
startup="no"
target="$JAVA_HOME/bin/java"
commandLine="@jvm.args.linux@ -jar &quot;$INSTALL_PATH/@name.package@.jar&quot;"
initialState="noShow"
initialState="normal"
iconFile="$INSTALL_PATH/graphics/romraider-ico.ico"
workingDirectory="$INSTALL_PATH"
type="Application"
@ -31,7 +31,7 @@
startup="no"
target="$JAVA_HOME/bin/java"
commandLine="@jvm.args.linux@ -jar &quot;$INSTALL_PATH/@name.package@.jar&quot; -logger"
initialState="noShow"
initialState="normal"
iconFile="$INSTALL_PATH/graphics/romraider-ico.ico"
workingDirectory="$INSTALL_PATH"
type="Application"
@ -50,7 +50,7 @@
target=""
workingDirectory=""
commandLine=""
initialState="noShow"
initialState="normal"
iconFile="help"
iconIndex="0"
url="$INSTALL_PATH/license.txt"
@ -70,7 +70,7 @@
target=""
workingDirectory=""
commandLine=""
initialState="noShow"
initialState="normal"
iconFile="help"
iconIndex="0"
url="$INSTALL_PATH/release_notes.txt"
@ -89,7 +89,7 @@
startup="no"
target="$JAVA_HOME/bin/java"
commandLine="-jar &quot;$INSTALL_PATH/Uninstaller/uninstaller.jar&quot;"
initialState="noShow"
initialState="normal"
iconFile="trashcan_full"
iconIndex="0"
workingDirectory=""

View File

@ -47,10 +47,10 @@
applications="no"
startMenu="no"
startup="no"
target=""
workingDirectory=""
target="$INSTALL_PATH/license.txt"
workingDirectory="$INSTALL_PATH"
commandLine=""
initialState="noShow"
initialState="normal"
iconFile="help"
iconIndex="0"
url="$INSTALL_PATH/license.txt"
@ -67,10 +67,10 @@
applications="no"
startMenu="no"
startup="no"
target=""
workingDirectory=""
target="$INSTALL_PATH/release_notes.txt"
workingDirectory="$INSTALL_PATH"
commandLine=""
initialState="noShow"
initialState="normal"
iconFile="help"
iconIndex="0"
url="$INSTALL_PATH/release_notes.txt"
@ -87,7 +87,7 @@
applications="no"
startMenu="no"
startup="no"
target="$JAVA_HOME/bin/java"
target="$JAVA_HOME/bin/javaw"
commandLine="-jar &quot;$INSTALL_PATH/Uninstaller/uninstaller.jar&quot;"
initialState="noShow"
iconFile="trashcan_full"