mirror of https://github.com/rusefi/RomRaider.git
updated alpha version of maf scaler
git-svn-id: http://svn.3splooges.com/romraider-arch/trunk@783 d2e2e1cd-ba16-0410-be16-b7c4453c7c2d
This commit is contained in:
parent
fda03364e9
commit
486b5e7f55
|
@ -122,6 +122,8 @@ import enginuity.logger.ecu.ui.paramlist.ParameterListTableModel;
|
|||
import enginuity.logger.ecu.ui.paramlist.ParameterRow;
|
||||
import enginuity.logger.ecu.ui.swing.menubar.EcuLoggerMenuBar;
|
||||
import enginuity.logger.ecu.ui.swing.menubar.action.ToggleButtonAction;
|
||||
import enginuity.logger.ecu.ui.tab.maf.MafTab;
|
||||
import enginuity.logger.ecu.ui.tab.maf.MafTabImpl;
|
||||
import static enginuity.util.ParamChecker.checkNotNull;
|
||||
import static enginuity.util.ParamChecker.isNullOrEmpty;
|
||||
import enginuity.util.SettingsManagerImpl;
|
||||
|
@ -180,7 +182,7 @@ public final class EcuLogger extends JFrame implements WindowListener, PropertyC
|
|||
private GraphUpdateHandler graphUpdateHandler;
|
||||
private JPanel dashboardPanel;
|
||||
private DashboardUpdateHandler dashboardUpdateHandler;
|
||||
private JPanel mafPanel;
|
||||
private MafTab mafTab;
|
||||
private MafUpdateHandler mafUpdateHandler;
|
||||
private EcuInit ecuInit;
|
||||
private JToggleButton logToFileButton;
|
||||
|
@ -243,8 +245,8 @@ public final class EcuLogger extends JFrame implements WindowListener, PropertyC
|
|||
graphUpdateHandler = new GraphUpdateHandler(graphPanel);
|
||||
dashboardPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 3, 3));
|
||||
dashboardUpdateHandler = new DashboardUpdateHandler(dashboardPanel);
|
||||
mafPanel = new JPanel(new BorderLayout(2, 2));
|
||||
mafUpdateHandler = new MafUpdateHandler(mafPanel, ecuEditor);
|
||||
mafTab = new MafTabImpl(ecuEditor);
|
||||
mafUpdateHandler = new MafUpdateHandler(mafTab);
|
||||
controller = new LoggerControllerImpl(settings, ecuInitCallback, this, liveDataUpdateHandler,
|
||||
graphUpdateHandler, dashboardUpdateHandler, mafUpdateHandler, fileUpdateHandler, TableUpdateHandler.getInstance());
|
||||
resetManager = new ResetManagerImpl(settings, this);
|
||||
|
@ -581,7 +583,7 @@ public final class EcuLogger extends JFrame implements WindowListener, PropertyC
|
|||
tabbedPane.add("Data", buildSplitPane(buildParamListPane(dataTabParamListTableModel, dataTabSwitchListTableModel, dataTabExternalListTableModel), buildDataTab()));
|
||||
tabbedPane.add("Graph", buildSplitPane(buildParamListPane(graphTabParamListTableModel, graphTabSwitchListTableModel, graphTabExternalListTableModel), buildGraphTab()));
|
||||
tabbedPane.add("Dashboard", buildSplitPane(buildParamListPane(dashboardTabParamListTableModel, dashboardTabSwitchListTableModel, dashboardTabExternalListTableModel), buildDashboardTab()));
|
||||
tabbedPane.add("MAF", mafPanel);
|
||||
tabbedPane.add("MAF", mafTab.getPanel());
|
||||
return tabbedPane;
|
||||
}
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
|
||||
package enginuity.logger.ecu.comms.io.connection;
|
||||
|
||||
import java.util.Collection;
|
||||
import enginuity.io.connection.ConnectionProperties;
|
||||
import enginuity.io.connection.SerialConnection;
|
||||
import enginuity.io.connection.SerialConnectionImpl;
|
||||
|
@ -34,8 +35,6 @@ import static enginuity.util.ParamChecker.checkNotNullOrEmpty;
|
|||
import static enginuity.util.ThreadUtil.sleep;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
public final class SSMLoggerConnection implements LoggerConnection {
|
||||
private static final Logger LOGGER = Logger.getLogger(SSMLoggerConnection.class);
|
||||
private LoggerProtocol protocol;
|
||||
|
|
|
@ -1,53 +1,31 @@
|
|||
package enginuity.logger.ecu.ui.handler.maf;
|
||||
|
||||
import static java.awt.BorderLayout.CENTER;
|
||||
import static java.awt.BorderLayout.WEST;
|
||||
import java.util.Set;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.SwingUtilities;
|
||||
import enginuity.ECUEditor;
|
||||
import enginuity.logger.ecu.comms.query.Response;
|
||||
import enginuity.logger.ecu.definition.LoggerData;
|
||||
import enginuity.logger.ecu.ui.handler.DataUpdateHandler;
|
||||
import enginuity.logger.ecu.ui.tab.maf.MafChartPanel;
|
||||
import enginuity.logger.ecu.ui.tab.maf.MafControlPanel;
|
||||
import org.jfree.data.xy.XYSeries;
|
||||
import enginuity.logger.ecu.ui.tab.maf.MafTab;
|
||||
|
||||
public final class MafUpdateHandler implements DataUpdateHandler {
|
||||
private static final String MAFV = "P18";
|
||||
private static final String AF_LEARNING_1 = "P4";
|
||||
private static final String AF_CORRECTION_1 = "P3";
|
||||
private final XYSeries series = new XYSeries("MAF Analysis");
|
||||
private final XYTrendline trendline = new XYTrendline();
|
||||
private final JPanel mafPanel;
|
||||
private final ECUEditor ecuEditor;
|
||||
private final MafControlPanel controlPanel;
|
||||
private final MafTab mafTab;
|
||||
|
||||
public MafUpdateHandler(JPanel mafPanel, ECUEditor ecuEditor) {
|
||||
this.mafPanel = mafPanel;
|
||||
this.ecuEditor = ecuEditor;
|
||||
controlPanel = buildControlPanel();
|
||||
mafPanel.add(controlPanel, WEST);
|
||||
mafPanel.add(buildGraphPanel(), CENTER);
|
||||
}
|
||||
|
||||
private MafControlPanel buildControlPanel() {
|
||||
return new MafControlPanel(mafPanel, trendline, series, ecuEditor);
|
||||
}
|
||||
|
||||
private MafChartPanel buildGraphPanel() {
|
||||
return new MafChartPanel(trendline, series);
|
||||
public MafUpdateHandler(MafTab mafTab) {
|
||||
this.mafTab = mafTab;
|
||||
}
|
||||
|
||||
public synchronized void registerData(LoggerData loggerData) {
|
||||
}
|
||||
|
||||
public synchronized void handleDataUpdate(Response response) {
|
||||
if (controlPanel.isRecordData() && containsData(response, MAFV, AF_LEARNING_1, AF_CORRECTION_1)) {
|
||||
if (mafTab.isRecordData() && containsData(response, MAFV, AF_LEARNING_1, AF_CORRECTION_1)) {
|
||||
boolean valid = true;
|
||||
|
||||
// cl/ol check
|
||||
if (valid && (containsData(response, "E3") || containsData(response, "E27"))) {
|
||||
if ((containsData(response, "E3") || containsData(response, "E27"))) {
|
||||
double clOl = -1;
|
||||
if (containsData(response, "E3")) {
|
||||
clOl = (int) findValue(response, "E3");
|
||||
|
@ -55,31 +33,31 @@ public final class MafUpdateHandler implements DataUpdateHandler {
|
|||
if (containsData(response, "E27")) {
|
||||
clOl = (int) findValue(response, "E27");
|
||||
}
|
||||
valid = controlPanel.isValidClOl(clOl);
|
||||
valid = mafTab.isValidClOl(clOl);
|
||||
}
|
||||
|
||||
// afr check
|
||||
if (valid && containsData(response, "P58")) {
|
||||
double afr = findValue(response, "P58");
|
||||
valid = controlPanel.isValidAfr(afr);
|
||||
valid = mafTab.isValidAfr(afr);
|
||||
}
|
||||
|
||||
// rpm check
|
||||
if (valid && containsData(response, "P8")) {
|
||||
double rpm = findValue(response, "P8");
|
||||
valid = controlPanel.isValidRpm(rpm);
|
||||
valid = mafTab.isValidRpm(rpm);
|
||||
}
|
||||
|
||||
// maf check
|
||||
if (valid && containsData(response, "P12")) {
|
||||
double maf = findValue(response, "P12");
|
||||
valid = controlPanel.isValidMaf(maf);
|
||||
valid = mafTab.isValidMaf(maf);
|
||||
}
|
||||
|
||||
// coolant temp check
|
||||
if (valid && containsData(response, "P2")) {
|
||||
double temp = findValue(response, "P2");
|
||||
valid = controlPanel.isValidCoolantTemp(temp);
|
||||
valid = mafTab.isValidCoolantTemp(temp);
|
||||
}
|
||||
|
||||
if (valid) {
|
||||
|
@ -88,7 +66,7 @@ public final class MafUpdateHandler implements DataUpdateHandler {
|
|||
final double correction = findValue(response, AF_CORRECTION_1);
|
||||
SwingUtilities.invokeLater(new Runnable() {
|
||||
public void run() {
|
||||
series.add(mafv, learning + correction);
|
||||
mafTab.addData(mafv, learning + correction);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
package enginuity.logger.ecu.ui.tab;
|
||||
|
||||
import javax.swing.JPanel;
|
||||
|
||||
public interface Tab {
|
||||
JPanel getPanel();
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
package enginuity.logger.ecu.ui.tab.maf;
|
||||
|
||||
import enginuity.logger.ecu.ui.tab.Tab;
|
||||
|
||||
public interface MafTab extends Tab {
|
||||
boolean isRecordData();
|
||||
|
||||
boolean isValidClOl(double value);
|
||||
|
||||
boolean isValidAfr(double value);
|
||||
|
||||
boolean isValidRpm(double value);
|
||||
|
||||
boolean isValidMaf(double value);
|
||||
|
||||
boolean isValidCoolantTemp(double value);
|
||||
|
||||
void addData(double mafv, double correction);
|
||||
}
|
|
@ -0,0 +1,62 @@
|
|||
package enginuity.logger.ecu.ui.tab.maf;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import static java.awt.BorderLayout.CENTER;
|
||||
import static java.awt.BorderLayout.WEST;
|
||||
import javax.swing.JPanel;
|
||||
import enginuity.ECUEditor;
|
||||
import enginuity.logger.ecu.ui.handler.maf.XYTrendline;
|
||||
import org.jfree.data.xy.XYSeries;
|
||||
|
||||
public final class MafTabImpl extends JPanel implements MafTab {
|
||||
private final XYSeries series = new XYSeries("MAF Analysis");
|
||||
private final XYTrendline trendline = new XYTrendline();
|
||||
private final MafControlPanel controlPanel;
|
||||
|
||||
public MafTabImpl(ECUEditor ecuEditor) {
|
||||
super(new BorderLayout(2, 2));
|
||||
controlPanel = buildControlPanel(ecuEditor);
|
||||
add(controlPanel, WEST);
|
||||
add(buildGraphPanel(), CENTER);
|
||||
}
|
||||
|
||||
private MafControlPanel buildControlPanel(ECUEditor ecuEditor) {
|
||||
return new MafControlPanel(this, trendline, series, ecuEditor);
|
||||
}
|
||||
|
||||
private MafChartPanel buildGraphPanel() {
|
||||
return new MafChartPanel(trendline, series);
|
||||
}
|
||||
|
||||
public boolean isRecordData() {
|
||||
return controlPanel.isRecordData();
|
||||
}
|
||||
|
||||
public boolean isValidClOl(double value) {
|
||||
return controlPanel.isValidClOl(value);
|
||||
}
|
||||
|
||||
public boolean isValidAfr(double value) {
|
||||
return controlPanel.isValidAfr(value);
|
||||
}
|
||||
|
||||
public boolean isValidRpm(double value) {
|
||||
return controlPanel.isValidRpm(value);
|
||||
}
|
||||
|
||||
public boolean isValidMaf(double value) {
|
||||
return controlPanel.isValidMaf(value);
|
||||
}
|
||||
|
||||
public boolean isValidCoolantTemp(double value) {
|
||||
return controlPanel.isValidCoolantTemp(value);
|
||||
}
|
||||
|
||||
public void addData(double mafv, double correction) {
|
||||
series.add(mafv, correction);
|
||||
}
|
||||
|
||||
public JPanel getPanel() {
|
||||
return this;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue