mirror of https://github.com/rusefi/RomRaider.git
updated maf scaler
git-svn-id: https://svn2.assembla.com/svn/romraider/trunk@4 38686702-15cf-42e4-a595-3071df8bf5ea
This commit is contained in:
parent
49cc37e19e
commit
c2a7570f2a
|
@ -50,16 +50,28 @@ public final class MafUpdateHandler implements DataUpdateHandler {
|
||||||
valid = mafTab.isValidMaf(maf);
|
valid = mafTab.isValidMaf(maf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// intake air temp check
|
||||||
|
if (valid && containsData(response, "P11")) {
|
||||||
|
double temp = findValue(response, "P11");
|
||||||
|
valid = mafTab.isValidIntakeAirTemp(temp);
|
||||||
|
}
|
||||||
|
|
||||||
// coolant temp check
|
// coolant temp check
|
||||||
if (valid && containsData(response, "P2")) {
|
if (valid && containsData(response, "P2")) {
|
||||||
double temp = findValue(response, "P2");
|
double temp = findValue(response, "P2");
|
||||||
valid = mafTab.isValidCoolantTemp(temp);
|
valid = mafTab.isValidCoolantTemp(temp);
|
||||||
}
|
}
|
||||||
|
|
||||||
// intake air temp check
|
// tip-in throttle check
|
||||||
if (valid && containsData(response, "P11")) {
|
if ((containsData(response, "E23") || containsData(response, "E49"))) {
|
||||||
double temp = findValue(response, "P11");
|
double tipIn = -1;
|
||||||
valid = mafTab.isValidIntakeAirTemp(temp);
|
if (containsData(response, "E23")) {
|
||||||
|
tipIn = (int) findValue(response, "E23");
|
||||||
|
}
|
||||||
|
if (containsData(response, "E49")) {
|
||||||
|
tipIn = (int) findValue(response, "E49");
|
||||||
|
}
|
||||||
|
valid = mafTab.isValidTipInThrottle(tipIn);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (valid) {
|
if (valid) {
|
||||||
|
|
|
@ -51,6 +51,8 @@ public final class MafControlPanel extends JPanel {
|
||||||
private static final String AFR = "P58";
|
private static final String AFR = "P58";
|
||||||
private static final String CL_OL_16 = "E3";
|
private static final String CL_OL_16 = "E3";
|
||||||
private static final String CL_OL_32 = "E27";
|
private static final String CL_OL_32 = "E27";
|
||||||
|
private static final String TIP_IN_THROTTLE_16 = "E23";
|
||||||
|
private static final String TIP_IN_THROTTLE_32 = "E49";
|
||||||
private final JToggleButton recordDataButton = new JToggleButton("Record Data");
|
private final JToggleButton recordDataButton = new JToggleButton("Record Data");
|
||||||
private final JTextField mafvMin = new JTextField("1.20", 3);
|
private final JTextField mafvMin = new JTextField("1.20", 3);
|
||||||
private final JTextField mafvMax = new JTextField("2.60", 3);
|
private final JTextField mafvMax = new JTextField("2.60", 3);
|
||||||
|
@ -63,6 +65,7 @@ public final class MafControlPanel extends JPanel {
|
||||||
private final JTextField iatMin = new JTextField("25", 3);
|
private final JTextField iatMin = new JTextField("25", 3);
|
||||||
private final JTextField iatMax = new JTextField("35", 3);
|
private final JTextField iatMax = new JTextField("35", 3);
|
||||||
private final JTextField coolantMin = new JTextField("70", 3);
|
private final JTextField coolantMin = new JTextField("70", 3);
|
||||||
|
private final JTextField tipInMax = new JTextField("0", 3);
|
||||||
private final JCheckBox clCheckbox = new JCheckBox("Closed Loop Only", true);
|
private final JCheckBox clCheckbox = new JCheckBox("Closed Loop Only", true);
|
||||||
private final Component parent;
|
private final Component parent;
|
||||||
private final XYTrendline trendline;
|
private final XYTrendline trendline;
|
||||||
|
@ -115,6 +118,10 @@ public final class MafControlPanel extends JPanel {
|
||||||
return checkInRange("Intake Air Temp.", iatMin, iatMax, value);
|
return checkInRange("Intake Air Temp.", iatMin, iatMax, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isValidTipInThrottle(double value) {
|
||||||
|
return checkLessThan("Tip-In Throttle", tipInMax, value);
|
||||||
|
}
|
||||||
|
|
||||||
private boolean checkInRange(String name, JTextField min, JTextField max, double value) {
|
private boolean checkInRange(String name, JTextField min, JTextField max, double value) {
|
||||||
if (isValidRange(min, max)) {
|
if (isValidRange(min, max)) {
|
||||||
return inRange(value, min, max);
|
return inRange(value, min, max);
|
||||||
|
@ -135,6 +142,16 @@ public final class MafControlPanel extends JPanel {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean checkLessThan(String name, JTextField max, double value) {
|
||||||
|
if (isNumber(max)) {
|
||||||
|
return value <= parseDouble(max);
|
||||||
|
} else {
|
||||||
|
showMessageDialog(parent, "Invalid " + name + " specified.", "Error", ERROR_MESSAGE);
|
||||||
|
recordDataButton.setSelected(false);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void addControls() {
|
private void addControls() {
|
||||||
JPanel panel = new JPanel();
|
JPanel panel = new JPanel();
|
||||||
|
|
||||||
|
@ -208,7 +225,8 @@ public final class MafControlPanel extends JPanel {
|
||||||
addMinMaxFilter(panel, gridBagLayout, "MAF Range (g/s)", mafMin, mafMax, 7);
|
addMinMaxFilter(panel, gridBagLayout, "MAF Range (g/s)", mafMin, mafMax, 7);
|
||||||
addMinMaxFilter(panel, gridBagLayout, "IAT Range", iatMin, iatMax, 10);
|
addMinMaxFilter(panel, gridBagLayout, "IAT Range", iatMin, iatMax, 10);
|
||||||
addLabeledComponent(panel, gridBagLayout, "Min. Coolant Temp.", coolantMin, 13);
|
addLabeledComponent(panel, gridBagLayout, "Min. Coolant Temp.", coolantMin, 13);
|
||||||
addComponent(panel, gridBagLayout, buildRecordDataButton(), 16);
|
addLabeledComponent(panel, gridBagLayout, "Max. Tip-In Throttle", tipInMax, 16);
|
||||||
|
addComponent(panel, gridBagLayout, buildRecordDataButton(), 19);
|
||||||
|
|
||||||
return panel;
|
return panel;
|
||||||
}
|
}
|
||||||
|
@ -217,9 +235,9 @@ public final class MafControlPanel extends JPanel {
|
||||||
recordDataButton.addActionListener(new ActionListener() {
|
recordDataButton.addActionListener(new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent actionEvent) {
|
public void actionPerformed(ActionEvent actionEvent) {
|
||||||
if (recordDataButton.isSelected()) {
|
if (recordDataButton.isSelected()) {
|
||||||
registerData(COOLANT_TEMP, AF_CORRECTION_1, AF_LEARNING_1, ENGINE_SPEED, INTAKE_AIR_TEMP, MASS_AIR_FLOW, MASS_AIR_FLOW_V, AFR, CL_OL_16, CL_OL_32);
|
registerData(COOLANT_TEMP, AF_CORRECTION_1, AF_LEARNING_1, ENGINE_SPEED, INTAKE_AIR_TEMP, MASS_AIR_FLOW, MASS_AIR_FLOW_V, AFR, CL_OL_16, CL_OL_32, TIP_IN_THROTTLE_16, TIP_IN_THROTTLE_32);
|
||||||
} else {
|
} else {
|
||||||
deregisterData(COOLANT_TEMP, AF_CORRECTION_1, AF_LEARNING_1, ENGINE_SPEED, INTAKE_AIR_TEMP, MASS_AIR_FLOW, MASS_AIR_FLOW_V, AFR, CL_OL_16, CL_OL_32);
|
deregisterData(COOLANT_TEMP, AF_CORRECTION_1, AF_LEARNING_1, ENGINE_SPEED, INTAKE_AIR_TEMP, MASS_AIR_FLOW, MASS_AIR_FLOW_V, AFR, CL_OL_16, CL_OL_32, TIP_IN_THROTTLE_16, TIP_IN_THROTTLE_32);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -21,6 +21,8 @@ public interface MafTab extends Tab {
|
||||||
|
|
||||||
boolean isValidIntakeAirTemp(double value);
|
boolean isValidIntakeAirTemp(double value);
|
||||||
|
|
||||||
|
boolean isValidTipInThrottle(double value);
|
||||||
|
|
||||||
void addData(double mafv, double correction);
|
void addData(double mafv, double correction);
|
||||||
|
|
||||||
void setEcuParams(List<EcuParameter> params);
|
void setEcuParams(List<EcuParameter> params);
|
||||||
|
|
|
@ -61,6 +61,10 @@ public final class MafTabImpl extends JPanel implements MafTab {
|
||||||
return controlPanel.isValidIntakeAirTemp(value);
|
return controlPanel.isValidIntakeAirTemp(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isValidTipInThrottle(double value) {
|
||||||
|
return controlPanel.isValidTipInThrottle(value);
|
||||||
|
}
|
||||||
|
|
||||||
public void addData(double mafv, double correction) {
|
public void addData(double mafv, double correction) {
|
||||||
series.add(mafv, correction);
|
series.add(mafv, correction);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue