diff --git a/java_console/romraider/src/com/romraider/swing/ECUEditorToolBar.java b/java_console/romraider/src/com/romraider/swing/ECUEditorToolBar.java index 8a06d58ab5..8377222e05 100644 --- a/java_console/romraider/src/com/romraider/swing/ECUEditorToolBar.java +++ b/java_console/romraider/src/com/romraider/swing/ECUEditorToolBar.java @@ -86,7 +86,8 @@ public class ECUEditorToolBar extends JToolBar { Rom lastSelectedRom = ECUEditorManager.getECUEditor().getLastSelectedRom(); byte[] newVersion = ConfigurationImage.extractContent(lastSelectedRom.saveFile()); System.out.println("new version size: " + newVersion.length); - UploadChanges.scheduleUpload(new ConfigurationImage(newVersion)); + throw new UnsupportedOperationException("disabled"); + //UploadChanges.scheduleUpload(new ConfigurationImage(newVersion)); } }); downloadImage.addActionListener(new ActionListener() { diff --git a/java_console/ui/src/main/java/com/rusefi/ConsoleUI.java b/java_console/ui/src/main/java/com/rusefi/ConsoleUI.java index b3b1c20188..4a1f598235 100644 --- a/java_console/ui/src/main/java/com/rusefi/ConsoleUI.java +++ b/java_console/ui/src/main/java/com/rusefi/ConsoleUI.java @@ -44,9 +44,11 @@ public class ConsoleUI { static Frame staticFrame; - private final TabbedPanel tabbedPane = new TabbedPanel(); + private final TabbedPanel tabbedPane; - private final MainFrame mainFrame = new MainFrame(this, tabbedPane); + private final MainFrame mainFrame; + + private final UIContext uiContext = new UIContext(); /** * We can listen to tab activation event if we so desire @@ -58,7 +60,9 @@ public class ConsoleUI { } public ConsoleUI(String port) { + tabbedPane = new TabbedPanel(uiContext); this.port = port; + mainFrame = new MainFrame(this, tabbedPane); ConsoleUI.staticFrame = mainFrame.getFrame().getFrame(); FileLog.MAIN.logLine("Console " + CONSOLE_VERSION); @@ -113,14 +117,14 @@ public class ConsoleUI { tabbedPane.addTab("ECU stimulation", stimulator.getPanel()); } // tabbedPane.addTab("live map adjustment", new Live3DReport().getControl()); - if (!LinkManager.isLogViewer()) - tabbedPane.addTab("Table Editor", tabbedPane.tableEditor); +// if (!LinkManager.isLogViewer()) +// tabbedPane.addTab("Table Editor", tabbedPane.romEditorPane); // tabbedPane.add("Wizards", new Wizard().createPane()); if (!LinkManager.isLogViewer()) tabbedPane.addTab("Settings", tabbedPane.settingsTab.createPane()); if (!LinkManager.isLogViewer()) { - tabbedPane.addTab("Formulas/Live Data", new FormulasPane().getContent()); + tabbedPane.addTab("Formulas/Live Data", new FormulasPane(uiContext).getContent()); tabbedPane.addTab("Sensors Live Data", new SensorsLiveDataPane().getContent()); } diff --git a/java_console/ui/src/main/java/com/rusefi/TableEditorPane.java b/java_console/ui/src/main/java/com/rusefi/RomEditorPane.java similarity index 86% rename from java_console/ui/src/main/java/com/rusefi/TableEditorPane.java rename to java_console/ui/src/main/java/com/rusefi/RomEditorPane.java index 44a8108fdf..8396eee147 100644 --- a/java_console/ui/src/main/java/com/rusefi/TableEditorPane.java +++ b/java_console/ui/src/main/java/com/rusefi/RomEditorPane.java @@ -6,6 +6,7 @@ import com.rusefi.binaryprotocol.BinaryProtocol; import com.rusefi.binaryprotocol.BinaryProtocolCmd; import com.opensr5.io.ConfigurationImageFile; import com.rusefi.io.LinkManager; +import com.rusefi.ui.UIContext; import com.rusefi.ui.util.UiUtils; import javax.swing.*; @@ -13,10 +14,13 @@ import java.awt.*; import static com.romraider.editor.ecu.ECUEditorManager.getECUEditor; -public class TableEditorPane extends JPanel { +public class RomEditorPane extends JPanel { - public TableEditorPane() { + private final UIContext uiContext; + + public RomEditorPane(UIContext uiContext) { super(new BorderLayout()); + this.uiContext = uiContext; UiUtils.showLoadingMessage(this); } diff --git a/java_console/ui/src/main/java/com/rusefi/RomRaiderWrapper.java b/java_console/ui/src/main/java/com/rusefi/RomRaiderWrapper.java index d97224a560..f87535acc3 100644 --- a/java_console/ui/src/main/java/com/rusefi/RomRaiderWrapper.java +++ b/java_console/ui/src/main/java/com/rusefi/RomRaiderWrapper.java @@ -20,12 +20,13 @@ import static com.romraider.editor.ecu.ECUEditorManager.getECUEditor; public class RomRaiderWrapper { public static final String DEFINITION_FILE = "rusefi.xml"; +/* public static void main(String[] args) { startRomRaider(); ECUExec.openRom(ECUEditorManager.getECUEditor(), "rusefi_configuration.bin"); } - +*/ public static ECUEditor startRomRaider() { init(); diff --git a/java_console/ui/src/main/java/com/rusefi/UploadChanges.java b/java_console/ui/src/main/java/com/rusefi/UploadChanges.java index c040e7fce1..870941a89a 100644 --- a/java_console/ui/src/main/java/com/rusefi/UploadChanges.java +++ b/java_console/ui/src/main/java/com/rusefi/UploadChanges.java @@ -6,6 +6,7 @@ import com.rusefi.config.generated.Fields; import com.rusefi.io.LinkManager; import com.rusefi.ui.RecentCommands; import com.rusefi.ui.StatusWindow; +import com.rusefi.ui.UIContext; import javax.swing.*; import java.awt.*; @@ -76,18 +77,18 @@ public class UploadChanges { */ } - public static void scheduleUpload(final ConfigurationImage newVersion) { - scheduleUpload(newVersion, null); + public static void scheduleUpload(UIContext uiContext, final ConfigurationImage newVersion) { + scheduleUpload(uiContext, newVersion, null); } - public static void scheduleUpload(final ConfigurationImage newVersion, final Runnable afterUpload) { + public static void scheduleUpload(UIContext uiContext, final ConfigurationImage newVersion, final Runnable afterUpload) { JFrame frame = wnd.getFrame(); frame.setVisible(true); LinkManager.execute(new Runnable() { @Override public void run() { try { - LinkManager.getCurrentStreamState().uploadChanges(newVersion, logger); + uiContext.getLinkManager().getCurrentStreamState().uploadChanges(newVersion, logger); if (afterUpload != null) afterUpload.run(); } catch (InterruptedException | EOFException e) { diff --git a/java_console/ui/src/main/java/com/rusefi/binaryprotocol/BinaryProtocolCmdSandbox.java b/java_console/ui/src/main/java/com/rusefi/binaryprotocol/BinaryProtocolCmdSandbox.java deleted file mode 100644 index b03cae65e6..0000000000 --- a/java_console/ui/src/main/java/com/rusefi/binaryprotocol/BinaryProtocolCmdSandbox.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.rusefi.binaryprotocol; - -import com.opensr5.ConfigurationImage; -import com.opensr5.Logger; -import com.opensr5.io.ConfigurationImageFile; -import com.romraider.editor.ecu.ECUEditor; -import com.rusefi.RomRaiderWrapper; -import com.rusefi.UploadChanges; -import com.rusefi.config.generated.Fields; -import com.rusefi.io.serial.SerialIoStreamJSerialComm; - -/** - * Andrey Belomutskiy, (c) 2013-2020 - * 6/21/2017 - */ -public class BinaryProtocolCmdSandbox { - - public static void main(String[] args) throws Exception { - if (args.length != 1) { - System.out.println("Exactly one parameter expected: port"); - return; - } - - String port = args[0]; - - Logger logger = UploadChanges.logger; - - //SerialPort serialPort; -// serialPort = new SerialPort(port); -// boolean opened = serialPort.openPort(); -// if (!opened) { -// logger.error("failed to open " + port); -// } - BinaryProtocol bp = new BinaryProtocol(logger, SerialIoStreamJSerialComm.openPort(port)); - - //SerialIoStreamJSSC.setupPort(serialPort, 38400); - logger.info("Binary looks good!"); - - bp.readImage(Fields.TOTAL_CONFIG_SIZE); - // -// image.saveToFile("rusefi_configuration.bin"); -// - doShowImage(bp.getControllerConfiguration()); - } - - private static void doShowImage(ConfigurationImage image) throws Exception { - if (!BinaryProtocolCmd.checkForDefinitionFile()) - return; - RomRaiderWrapper.startRomRaider(); - ECUEditor.openImage(ConfigurationImageFile.getFileContent(image)); - } -} diff --git a/java_console/ui/src/main/java/com/rusefi/ui/FormulasPane.java b/java_console/ui/src/main/java/com/rusefi/ui/FormulasPane.java index 5aa7b48665..2438e79dce 100644 --- a/java_console/ui/src/main/java/com/rusefi/ui/FormulasPane.java +++ b/java_console/ui/src/main/java/com/rusefi/ui/FormulasPane.java @@ -6,7 +6,6 @@ import com.rusefi.binaryprotocol.BinaryProtocol; import com.rusefi.config.generated.Fields; import com.rusefi.core.Sensor; import com.rusefi.core.SensorCentral; -import com.rusefi.io.LinkManager; import com.rusefi.ui.config.ConfigField; import com.rusefi.ui.livedocs.LiveDocPanel; import com.rusefi.ui.util.UiUtils; @@ -37,11 +36,13 @@ public class FormulasPane { */ private final JPanel content = new JPanel(new BorderLayout()); private final JPanel formulaProxy = new JPanel(new BorderLayout()); + private final UIContext uiContext; private boolean isPaused; private JPanel liveDocs = LiveDocPanel.createLiveDocumentationPanel(); - public FormulasPane() { + public FormulasPane(UIContext uiContext) { + this.uiContext = uiContext; JPanel vertical = new JPanel(new VerticalFlowLayout()); vertical.add(liveDocs); @@ -107,7 +108,7 @@ public class FormulasPane { } private void updateFormula() { - BinaryProtocol bp = LinkManager.getCurrentStreamState(); + BinaryProtocol bp = uiContext.getLinkManager().getCurrentStreamState(); if (bp == null) return; ConfigurationImage ci = bp.getControllerConfiguration(); diff --git a/java_console/ui/src/main/java/com/rusefi/ui/FuelTunePane.java b/java_console/ui/src/main/java/com/rusefi/ui/FuelTunePane.java index 0fb96612e0..77dea7deac 100644 --- a/java_console/ui/src/main/java/com/rusefi/ui/FuelTunePane.java +++ b/java_console/ui/src/main/java/com/rusefi/ui/FuelTunePane.java @@ -51,10 +51,12 @@ public class FuelTunePane { private final JButton upload = new JButton("Upload"); private final JCheckBox collect = new JCheckBox("enable"); private final JButton clean = new JButton("clear"); + private final UIContext uiContext; private byte[] newVeMap; private DataOutputStream dos; - public FuelTunePane(Node config) { + public FuelTunePane(UIContext uiContext, Node config) { + this.uiContext = uiContext; final JLabel incomingBufferSize = new JLabel(); JButton runLogic = new JButton("one iteration"); @@ -136,7 +138,7 @@ public class FuelTunePane { private void uploadCurrentResult() { byte[] newVeMap = FuelTunePane.this.newVeMap; - BinaryProtocol bp = LinkManager.getCurrentStreamState(); + BinaryProtocol bp = uiContext.getLinkManager().getCurrentStreamState(); if (newVeMap == null || bp == null) return; ConfigurationImage ci = bp.getControllerConfiguration().clone(); @@ -154,7 +156,7 @@ public class FuelTunePane { }); } }; - UploadChanges.scheduleUpload(ci, afterBurn); + UploadChanges.scheduleUpload(uiContext, ci, afterBurn); } private void doClean() { @@ -313,7 +315,7 @@ public class FuelTunePane { } private byte[] reloadVeTable() { - BinaryProtocol bp = LinkManager.getCurrentStreamState(); + BinaryProtocol bp = uiContext.getLinkManager().getCurrentStreamState(); byte[] content = bp.getControllerConfiguration().getContent(); loadData(veTable.getXAxis(), content, veRpmOffset); @@ -329,7 +331,7 @@ public class FuelTunePane { } private void loadArray(double[] array, int offset) { - BinaryProtocol bp = LinkManager.getCurrentStreamState(); + BinaryProtocol bp = uiContext.getLinkManager().getCurrentStreamState(); if (bp == null) { FileLog.MAIN.logLine("bp not ready"); return; diff --git a/java_console/ui/src/main/java/com/rusefi/ui/UIContext.java b/java_console/ui/src/main/java/com/rusefi/ui/UIContext.java new file mode 100644 index 0000000000..d129b1d8a7 --- /dev/null +++ b/java_console/ui/src/main/java/com/rusefi/ui/UIContext.java @@ -0,0 +1,11 @@ +package com.rusefi.ui; + +import com.rusefi.io.LinkManager; + +public class UIContext { + private final LinkManager linkManager = new LinkManager(); + + public LinkManager getLinkManager() { + return linkManager; + } +} diff --git a/java_console/ui/src/main/java/com/rusefi/ui/console/MainFrame.java b/java_console/ui/src/main/java/com/rusefi/ui/console/MainFrame.java index 77f1db7d4d..96deb8613a 100644 --- a/java_console/ui/src/main/java/com/rusefi/ui/console/MainFrame.java +++ b/java_console/ui/src/main/java/com/rusefi/ui/console/MainFrame.java @@ -75,7 +75,7 @@ public class MainFrame { @Override public void onConnectionEstablished() { FileLog.MAIN.logLine("onConnectionEstablished"); - tabbedPane.tableEditor.showContent(); +// tabbedPane.romEditorPane.showContent(); tabbedPane.settingsTab.showContent(); tabbedPane.logsManager.showContent(); tabbedPane.fuelTunePane.showContent(); diff --git a/java_console/ui/src/main/java/com/rusefi/ui/console/TabbedPanel.java b/java_console/ui/src/main/java/com/rusefi/ui/console/TabbedPanel.java index edbdfaeee8..afa82041d5 100644 --- a/java_console/ui/src/main/java/com/rusefi/ui/console/TabbedPanel.java +++ b/java_console/ui/src/main/java/com/rusefi/ui/console/TabbedPanel.java @@ -1,12 +1,12 @@ package com.rusefi.ui.console; import com.rusefi.PaneSettings; -import com.rusefi.TableEditorPane; import com.rusefi.config.generated.Fields; import com.rusefi.core.MessagesCentral; import com.rusefi.io.ConnectionStatusLogic; import com.rusefi.ui.FuelTunePane; import com.rusefi.ui.LogDownloader; +import com.rusefi.ui.UIContext; import javax.swing.*; import java.awt.*; @@ -18,10 +18,10 @@ public class TabbedPanel { private String criticalError; - public final TableEditorPane tableEditor = new TableEditorPane(); - public final SettingsTab settingsTab = new SettingsTab(); +// public final RomEditorPane romEditorPane; + public final SettingsTab settingsTab; public final LogDownloader logsManager = new LogDownloader(); - public final FuelTunePane fuelTunePane = new FuelTunePane(getConfig().getRoot().getChild("fueltune")); + public final FuelTunePane fuelTunePane; public final PaneSettings paneSettings = new PaneSettings(getConfig().getRoot().getChild("panes")); public final JTabbedPane tabbedPane = new JTabbedPane() { @@ -55,11 +55,14 @@ public class TabbedPanel { } }; - public TabbedPanel() { + public TabbedPanel(UIContext uiContext) { MessagesCentral.getInstance().addListener((clazz, message) -> { if (message.startsWith(Fields.CRITICAL_PREFIX)) criticalError = message; }); + fuelTunePane = new FuelTunePane(uiContext, getConfig().getRoot().getChild("fueltune")); +// romEditorPane = new RomEditorPane(uiContext); + settingsTab = new SettingsTab(); } public void addTab(String title, Component component) {