auto-sync
This commit is contained in:
parent
d8846afac2
commit
086e779522
|
@ -1,7 +1,7 @@
|
|||
package com.rusefi;
|
||||
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.rusefi.FileLog;
|
||||
import com.rusefi.waves.WaveChart;
|
||||
|
||||
import static com.rusefi.IoUtil.nextChart;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package com.rusefi;
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.rusefi.FileLog;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package com.rusefi;
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.rusefi.FileLog;
|
||||
import com.irnems.core.EngineState;
|
||||
import com.irnems.core.Sensor;
|
||||
import com.irnems.core.SensorCentral;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package com.rusefi;
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.rusefi.FileLog;
|
||||
import com.rusefi.waves.RevolutionLog;
|
||||
import com.rusefi.waves.WaveChart;
|
||||
import com.rusefi.waves.WaveReport;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package com.irnems;
|
||||
package com.rusefi;
|
||||
|
||||
import com.rusefi.io.LinkManager;
|
||||
import org.jetbrains.annotations.Nullable;
|
|
@ -1,6 +1,6 @@
|
|||
package com.irnems.file;
|
||||
package com.rusefi.file;
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.rusefi.FileLog;
|
||||
import com.irnems.core.EngineState;
|
||||
import com.irnems.models.Point3D;
|
||||
import com.irnems.models.XYData;
|
|
@ -1,4 +1,4 @@
|
|||
package com.irnems.file;
|
||||
package com.rusefi.file;
|
||||
|
||||
import com.irnems.core.EngineState;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.irnems.file;
|
||||
package com.rusefi.file;
|
||||
|
||||
import com.irnems.models.XYData;
|
||||
import com.irnems.models.XYDataReader;
|
|
@ -1,6 +1,6 @@
|
|||
package com.rusefi.io;
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.rusefi.FileLog;
|
||||
import com.irnems.core.EngineState;
|
||||
import com.rusefi.io.serial.SerialConnector;
|
||||
import com.rusefi.io.tcp.TcpConnector;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package com.rusefi.io.serial;
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.rusefi.FileLog;
|
||||
import com.irnems.core.EngineState;
|
||||
import com.rusefi.io.DataListener;
|
||||
import jssc.SerialPort;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package com.rusefi.io.serial;
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.rusefi.FileLog;
|
||||
import com.irnems.core.MessagesCentral;
|
||||
import com.rusefi.io.DataListener;
|
||||
import com.rusefi.io.LinkManager;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package com.rusefi.io.serial;
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.rusefi.FileLog;
|
||||
import com.rusefi.io.DataListener;
|
||||
import jssc.SerialPort;
|
||||
import jssc.SerialPortEvent;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package com.rusefi.io.tcp;
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.rusefi.FileLog;
|
||||
import com.rusefi.io.LinkConnector;
|
||||
import com.rusefi.io.LinkManager;
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.irnems;
|
||||
|
||||
import com.rusefi.FileLog;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.text.FieldPosition;
|
||||
|
@ -18,7 +19,7 @@ public final class Histograms {
|
|||
|
||||
// ======= Initialization =======
|
||||
|
||||
private final HashMap<String, StatisticsGroup> total_stats = new HashMap<String, StatisticsGroup>();
|
||||
private final HashMap<String, StatisticsGroup> total_stats = new HashMap<>();
|
||||
private final long start_time = System.currentTimeMillis();
|
||||
public final ThreadLocal<LocalStats> local_stats = new ThreadLocal<LocalStats>() {
|
||||
@Override
|
||||
|
@ -26,7 +27,7 @@ public final class Histograms {
|
|||
return new LocalStats();
|
||||
}
|
||||
};
|
||||
private final HashSet<LocalStats> all_local_stats = new HashSet<LocalStats>();
|
||||
private final HashSet<LocalStats> all_local_stats = new HashSet<>();
|
||||
|
||||
private long last_dump = System.currentTimeMillis();
|
||||
|
||||
|
@ -39,7 +40,7 @@ public final class Histograms {
|
|||
@NotNull
|
||||
public List<String> dumpStats() {
|
||||
Collection<StatisticsGroup> values = takeAndResetSnapshot();
|
||||
List<StatisticsGroup> al = new ArrayList<StatisticsGroup>();
|
||||
List<StatisticsGroup> al = new ArrayList<>();
|
||||
al.addAll(values);
|
||||
synchronized (total_stats) {
|
||||
for (StatisticsGroup source : values) {
|
||||
|
@ -59,10 +60,11 @@ public final class Histograms {
|
|||
*
|
||||
* @see #dumpStats()
|
||||
*/
|
||||
@SuppressWarnings("UnusedDeclaration")
|
||||
@NotNull
|
||||
public List<String> getCurrentStatistics() {
|
||||
Collection<StatisticsGroup> snapshot = getCurrentSnapshot();
|
||||
return sortAndAddTimes(new ArrayList<StatisticsGroup>(snapshot));
|
||||
return sortAndAddTimes(new ArrayList<>(snapshot));
|
||||
}
|
||||
|
||||
private List<String> sortAndAddTimes(List<StatisticsGroup> al) {
|
||||
|
@ -72,7 +74,7 @@ public final class Histograms {
|
|||
}
|
||||
});
|
||||
long time = System.currentTimeMillis();
|
||||
List<String> result = new ArrayList<String>();
|
||||
List<String> result = new ArrayList<>();
|
||||
for (StatisticsGroup sg : al)
|
||||
result.add(toString(sg, time - (sg.type.endsWith(".TOTAL") ? start_time : last_dump)));
|
||||
last_dump = time;
|
||||
|
@ -178,7 +180,7 @@ public final class Histograms {
|
|||
boolean create;
|
||||
create = ls.stats == null;
|
||||
if (create)
|
||||
ls.stats = new HashMap<ValueType, StatisticsGroup>();
|
||||
ls.stats = new HashMap<>();
|
||||
StatisticsGroup sg = ls.stats.get(t);
|
||||
if (sg == null)
|
||||
ls.stats.put(t, sg = new StatisticsGroup(type));
|
||||
|
@ -194,7 +196,7 @@ public final class Histograms {
|
|||
*/
|
||||
private Collection<StatisticsGroup> getCurrentSnapshot() {
|
||||
List<LocalStats> lss = getLocalStats(false);
|
||||
HashMap<String, StatisticsGroup> snapshot = new HashMap<String, StatisticsGroup>();
|
||||
HashMap<String, StatisticsGroup> snapshot = new HashMap<>();
|
||||
for (LocalStats ls : lss) {
|
||||
// in case of a snapshot without reset, we have to merge under the lock
|
||||
mergeStats(snapshot, ls.stats);
|
||||
|
@ -207,7 +209,7 @@ public final class Histograms {
|
|||
*/
|
||||
private Collection<StatisticsGroup> takeAndResetSnapshot() {
|
||||
List<LocalStats> lss = getLocalStats(true);
|
||||
HashMap<String, StatisticsGroup> snapshot = new HashMap<String, StatisticsGroup>();
|
||||
HashMap<String, StatisticsGroup> snapshot = new HashMap<>();
|
||||
for (LocalStats ls : lss) {
|
||||
HashMap<ValueType, StatisticsGroup> stats;
|
||||
stats = ls.stats;
|
||||
|
@ -235,7 +237,7 @@ public final class Histograms {
|
|||
private List<LocalStats> getLocalStats(boolean reset) {
|
||||
List<LocalStats> lss;
|
||||
synchronized (all_local_stats) {
|
||||
lss = new ArrayList<LocalStats>(all_local_stats);
|
||||
lss = new ArrayList<>(all_local_stats);
|
||||
if (reset)
|
||||
all_local_stats.clear();
|
||||
}
|
||||
|
@ -443,7 +445,7 @@ public final class Histograms {
|
|||
|
||||
private StatisticsGroup(String type) {
|
||||
this.type = type;
|
||||
this.data = new HashMap<String, Statistics>();
|
||||
this.data = new HashMap<>();
|
||||
}
|
||||
|
||||
public void add(String name, int index, long value) {
|
||||
|
|
|
@ -4,6 +4,7 @@ import com.irnems.models.Factory;
|
|||
import com.irnems.models.MafValue;
|
||||
import com.irnems.models.RpmValue;
|
||||
import com.irnems.models.Utils;
|
||||
import com.rusefi.FileLog;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.*;
|
||||
|
@ -27,7 +28,7 @@ public class ReportReader {
|
|||
public static TreeMap<Integer, TreeMap<Integer, ReportLine>> readMap(String filename) {
|
||||
if (!new File(filename).exists()) {
|
||||
FileLog.rlog("Error: not found " + filename);
|
||||
return new TreeMap<Integer, TreeMap<Integer, ReportLine>>();
|
||||
return new TreeMap<>();
|
||||
}
|
||||
List<ReportLine> lines = read(filename);
|
||||
FileLog.rlog("Got " + lines.size() + " lines");
|
||||
|
@ -43,7 +44,7 @@ public class ReportReader {
|
|||
/**
|
||||
* map of maps by RPM. inner map is by MAF
|
||||
*/
|
||||
TreeMap<Integer, TreeMap<Integer, ReportLine>> rpm2mapByMaf = new TreeMap<Integer, TreeMap<Integer, ReportLine>>();
|
||||
TreeMap<Integer, TreeMap<Integer, ReportLine>> rpm2mapByMaf = new TreeMap<>();
|
||||
for (ReportLine cur : lines) {
|
||||
int rpmKey = cur.getRpm().getValue();
|
||||
|
||||
|
@ -52,7 +53,7 @@ public class ReportReader {
|
|||
|
||||
TreeMap<Integer, ReportLine> maf2line = Utils.getOrCreate(rpm2mapByMaf, rpmKey, new Factory<Integer, TreeMap<Integer, ReportLine>>() {
|
||||
public TreeMap<Integer, ReportLine> create(Integer key) {
|
||||
return new TreeMap<Integer, ReportLine>();
|
||||
return new TreeMap<>();
|
||||
}
|
||||
});
|
||||
maf2line.put(cur.getMaf().getValue(), cur);
|
||||
|
@ -78,7 +79,7 @@ public class ReportReader {
|
|||
}
|
||||
|
||||
private static List<ReportLine> filter(List<ReportLine> lines) {
|
||||
List<ReportLine> result = new ArrayList<ReportLine>();
|
||||
List<ReportLine> result = new ArrayList<>();
|
||||
int maxValidDiff = 0;
|
||||
int originalCount = lines.size();
|
||||
int removedCount = 0;
|
||||
|
@ -110,7 +111,7 @@ public class ReportReader {
|
|||
}
|
||||
|
||||
private static List<ReportLine> read(String filename) {
|
||||
List<ReportLine> result = new LinkedList<ReportLine>();
|
||||
List<ReportLine> result = new LinkedList<>();
|
||||
try {
|
||||
BufferedReader reader = new BufferedReader(new FileReader(filename));
|
||||
String line;
|
||||
|
@ -120,8 +121,6 @@ public class ReportReader {
|
|||
if (rl != null)
|
||||
result.add(rl);
|
||||
}
|
||||
} catch (FileNotFoundException e) {
|
||||
throw new IllegalStateException(e);
|
||||
} catch (IOException e) {
|
||||
throw new IllegalStateException(e);
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package com.irnems.core;
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.rusefi.FileLog;
|
||||
import com.rusefi.SensorConversion;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package com.irnems.core;
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.rusefi.FileLog;
|
||||
import com.rusefi.io.serial.PortHolder;
|
||||
import com.rusefi.io.serial.PortHolderListener;
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package com.irnems.models;
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.rusefi.FileLog;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package com.irnems.models;
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.rusefi.FileLog;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
|
@ -15,7 +15,7 @@ import java.util.TreeMap;
|
|||
* Date: 3/24/13
|
||||
* (c) Andrey Belomutskiy
|
||||
*
|
||||
* @see TableGenerator
|
||||
* @see com.rusefi.file.TableGenerator
|
||||
*/
|
||||
public class XYData {
|
||||
@NotNull
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package com.irnems.models;
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.rusefi.FileLog;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package com.irnems.models;
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.rusefi.FileLog;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.Writer;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package com.rusefi;
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.rusefi.FileLog;
|
||||
import org.apache.commons.math3.stat.descriptive.moment.Mean;
|
||||
import org.apache.commons.math3.stat.descriptive.moment.StandardDeviation;
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package com.rusefi.waves;
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.rusefi.FileLog;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package com.irnems.core.test;
|
||||
package com.rusefi.waves.test;
|
||||
|
||||
import com.rusefi.waves.WaveReport;
|
||||
import com.irnems.waves.ZoomProvider;
|
|
@ -1,7 +1,7 @@
|
|||
package com.irnems.ui.test;
|
||||
|
||||
import com.rusefi.ui.FrameHelper;
|
||||
import com.rusefi.ui.WavePanel;
|
||||
import com.rusefi.ui.engine.EngineSnifferPanel;
|
||||
import com.rusefi.ui.storage.PersistentConfiguration;
|
||||
|
||||
import javax.swing.*;
|
||||
|
@ -14,7 +14,7 @@ import java.lang.reflect.InvocationTargetException;
|
|||
public class WavePanelSandbox extends FrameHelper {
|
||||
|
||||
public WavePanelSandbox() {
|
||||
WavePanel wp = new WavePanel(PersistentConfiguration.getConfig().getRoot());
|
||||
EngineSnifferPanel wp = new EngineSnifferPanel(PersistentConfiguration.getConfig().getRoot());
|
||||
|
||||
wp.displayChart("Injector 1!down!55013038!crank!up!55013444!crank!down!55013781!Injector 3!up!55013789!Injector 3!down!55013969!crank2!up!55014065!crank!up!55014358!crank!down!55014706!input1 A8!up!55014730!Injector 4!up!55014734!Injector 4!down!55014933!input1 A8!down!55014941!crank!up!55015298!crank!down!55015638!Injector 2!up!55015644!Injector 2!down!55015823!crank2!down!55015932!crank!up!55016223!crank!down!55016566!Injector 1!up!55016574!Injector 1!down!55016753!crank!up!55017148!crank!down!55017494!Injector 3!up!55017499!Injector 3!down!55017679!crank2!up!55017777!crank!up!55018070!crank!down!55018406!Injector 4!input1 A8!up!55018414!up!55018416!input1 A8!down!55018439!input1 A8!up!55018439!Injector 4!down!55018593!input1 A8!down!55018600!crank!up!55018989!crank!down!55019330!Injector 2!up!55019338!Injector 2!down!55019517!crank2!down!55019618!crank!up!55019909!crank!down!55020246!Injector 1!up!55020251!Injector 1!down!55020430!crank!up!55020827!crank!down!55021171!Injector 3!up!55021179!Injector 3!down!55021358!crank2!up!55021453!crank!up!55021747!crank!down!55022084!Injector 4input1 A8!up!55022089!!up!55022093!Injector 4!down!55022270!input1 A8!down!55022276!input1 A8!up!55022276!input1 A8!down!55022276!crank!up!55022666!crank!down!55023006!Injector 2!up!55023011!Injector 2!down!55023191!crank2!down!55023294!crank!up!55023584!crank!down!55023928!Injector 1!up!55023932!Injector 1!down!55024109!crank!up!55024507!crank!down!55024846!Injector 3!up!55024871!Injector 3!down!55025072!crank2!up!55025138!crank!up!55025440!crank!down!55025780!Injector 4input1 A8!up!55025785!!up!55025791!input1 A8!down!55025923!input1 A8!up!55025923!Injector 4!down!55025970!input1 A8!down!55025976!input1 A8!up!55025976!crank!up!55026355!crank!down!55026690!Injector 2!up!55026696!Injector 2!down!55026874!crank2!down!55026979!crank!up!55027268!crank!down!55027611!Injector 1!up!55027619!Injector 1!down!55027800!crank!up!55028186!crank!down!55028520!,");
|
||||
|
||||
|
|
|
@ -1,41 +0,0 @@
|
|||
package com.irnems.ui.test;
|
||||
|
||||
import com.rusefi.ui.FrameHelper;
|
||||
import com.rusefi.ui.WavePanel;
|
||||
import org.junit.Test;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
|
||||
import static junit.framework.Assert.assertEquals;
|
||||
|
||||
/**
|
||||
* 6/25/14
|
||||
* (c) Andrey Belomutskiy
|
||||
*/
|
||||
|
||||
public class WavePanelTest {
|
||||
@Test
|
||||
public void testInsertIndex() {
|
||||
|
||||
Set<String> names = new TreeSet<String>();
|
||||
names.add(WavePanel.CRANK1);
|
||||
|
||||
String name;
|
||||
|
||||
name = "inj2";
|
||||
assertEquals(-1, WavePanel.getInsertIndex(name, names));
|
||||
names.add(name);
|
||||
|
||||
name = "inj1";
|
||||
assertEquals(1, WavePanel.getInsertIndex(name, names));
|
||||
names.add(name);
|
||||
|
||||
|
||||
assertEquals(1, WavePanel.getInsertIndex("spa1", names));
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -1,13 +1,11 @@
|
|||
package com.rusefi;
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.rusefi.config.Fields;
|
||||
import com.rusefi.ui.RpmModel;
|
||||
import com.rusefi.ui.UiUtils;
|
||||
import com.rusefi.ui.WavePanel;
|
||||
import com.rusefi.ui.util.UiUtils;
|
||||
import com.rusefi.ui.engine.EngineSnifferPanel;
|
||||
import com.rusefi.ui.config.ConfigField;
|
||||
import com.rusefi.ui.widgets.URLLabel;
|
||||
import com.rusefi.ui.widgets.UpDownImage;
|
||||
import com.rusefi.ui.util.URLLabel;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
|
@ -45,14 +43,14 @@ public class AnalogChartPanel {
|
|||
// MessagesCentral.getConfig().postMessage(AnalogChartPanel.class, "chart arrived, len=" + message.length());
|
||||
|
||||
processValues();
|
||||
UpDownImage.trueRepaint(analogChart);
|
||||
UiUtils.trueRepaint(analogChart);
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
final JPanel upperPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 5, 0));
|
||||
|
||||
JButton imageButton = new JButton(WavePanel.SAVE_IMAGE);
|
||||
JButton imageButton = new JButton(EngineSnifferPanel.SAVE_IMAGE);
|
||||
imageButton.setMnemonic('s');
|
||||
upperPanel.add(imageButton);
|
||||
imageButton.addActionListener(new
|
||||
|
@ -71,7 +69,7 @@ public class AnalogChartPanel {
|
|||
final JButton pauseButton = new JButton("Pause");
|
||||
upperPanel.add(pauseButton);
|
||||
|
||||
upperPanel.add(new URLLabel(WavePanel.HELP_TEXT, HELP_URL));
|
||||
upperPanel.add(new URLLabel(EngineSnifferPanel.HELP_TEXT, HELP_URL));
|
||||
pauseButton.addActionListener(new
|
||||
ActionListener() {
|
||||
@Override
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
package com.rusefi;
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.rusefi.FileLog;
|
||||
import com.irnems.core.MessagesCentral;
|
||||
import com.irnems.core.Sensor;
|
||||
import com.irnems.core.EngineTimeListener;
|
||||
import com.irnems.core.SensorCentral;
|
||||
import com.irnems.file.TableGenerator;
|
||||
import com.rusefi.file.TableGenerator;
|
||||
import com.irnems.models.Point3D;
|
||||
import com.irnems.models.Range;
|
||||
import com.irnems.models.XYData;
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
package com.rusefi;
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.irnems.core.EngineState;
|
||||
import com.irnems.core.MessagesCentral;
|
||||
import com.rusefi.io.LinkManager;
|
||||
import com.rusefi.maintenance.VersionChecker;
|
||||
import com.rusefi.ui.*;
|
||||
import com.rusefi.ui.engine.EngineSnifferPanel;
|
||||
import com.rusefi.ui.storage.Node;
|
||||
import com.rusefi.ui.util.DefaultExceptionHandler;
|
||||
import jssc.SerialPortList;
|
||||
|
||||
import javax.swing.*;
|
||||
|
@ -20,7 +22,7 @@ import static com.rusefi.ui.storage.PersistentConfiguration.getConfig;
|
|||
* (c) Andrey Belomutskiy 2013-2015
|
||||
*
|
||||
* @see StartupFrame
|
||||
* @see WavePanel
|
||||
* @see com.rusefi.ui.engine.EngineSnifferPanel
|
||||
*/
|
||||
public class Launcher extends FrameHelper {
|
||||
public static final int CONSOLE_VERSION = 20150216;
|
||||
|
@ -40,14 +42,14 @@ public class Launcher extends FrameHelper {
|
|||
FileLog.MAIN.logLine("Console " + CONSOLE_VERSION);
|
||||
|
||||
|
||||
WavePanel wavePanel = new WavePanel(getConfig().getRoot().getChild("digital_sniffer"));
|
||||
EngineSnifferPanel engineSnifferPanel = new EngineSnifferPanel(getConfig().getRoot().getChild("digital_sniffer"));
|
||||
if (LinkManager.isLogViewerMode(port))
|
||||
tabbedPane.add("Log Viewer", new LogViewer(wavePanel));
|
||||
tabbedPane.add("Log Viewer", new LogViewer(engineSnifferPanel));
|
||||
|
||||
RpmPanel mainGauges = new RpmPanel(getConfig().getRoot().getChild("main_gauges"));
|
||||
tabbedPane.addTab("Main", mainGauges.createRpmPanel());
|
||||
tabbedPane.addTab("Gauges", new GaugesPanel().getContent());
|
||||
tabbedPane.addTab("Engine Sniffer", wavePanel.getPanel());
|
||||
tabbedPane.addTab("Engine Sniffer", engineSnifferPanel.getPanel());
|
||||
tabbedPane.addTab("Analog Sniffer", new AnalogChartPanel().getPanel());
|
||||
|
||||
tabbedPane.addTab("LE controls", new FlexibleControls().getPanel());
|
||||
|
|
|
@ -3,8 +3,8 @@ package com.rusefi;
|
|||
import com.rusefi.io.LinkManager;
|
||||
import com.rusefi.io.tcp.TcpConnector;
|
||||
import com.rusefi.maintenance.FirmwareFlasher;
|
||||
import com.rusefi.ui.UiUtils;
|
||||
import com.rusefi.ui.widgets.URLLabel;
|
||||
import com.rusefi.ui.util.UiUtils;
|
||||
import com.rusefi.ui.util.URLLabel;
|
||||
import jssc.SerialPortList;
|
||||
import org.putgemin.VerticalFlowLayout;
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
package com.rusefi.maintenance;
|
||||
|
||||
import com.rusefi.ui.FrameHelper;
|
||||
import com.rusefi.ui.UiUtils;
|
||||
import com.rusefi.ui.widgets.UpDownImage;
|
||||
import com.rusefi.ui.util.UiUtils;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
|
@ -127,7 +126,7 @@ public class FirmwareFlasher {
|
|||
@Override
|
||||
public void run() {
|
||||
log.append(s + "\r\n");
|
||||
UpDownImage.trueLayout(log);
|
||||
UiUtils.trueLayout(log);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package com.rusefi;
|
||||
package com.rusefi.maintenance;
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.rusefi.FileLog;
|
||||
import com.rusefi.io.tcp.TcpConnector;
|
||||
import com.rusefi.ui.widgets.URLLabel;
|
||||
import com.rusefi.ui.util.URLLabel;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
|
@ -1,88 +0,0 @@
|
|||
package com.rusefi.ui;
|
||||
|
||||
import com.irnems.core.SensorCentral;
|
||||
import com.irnems.core.Pair;
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.irnems.core.EngineState.SNIFFED_ADC_COUNT;
|
||||
|
||||
/**
|
||||
* Date: 1/7/13
|
||||
* (c) Andrey Belomutskiy
|
||||
*/
|
||||
public class AdcPanel {
|
||||
protected final Map<Integer, JLabel> sniffedAdcLabels = new HashMap<Integer, JLabel>();
|
||||
public final Map<Integer, JLabel> inputLabels = new HashMap<Integer, JLabel>();
|
||||
public final Map<Integer, JLabel> internalAdcLabels = new HashMap<Integer, JLabel>();
|
||||
|
||||
public AdcPanel(BooleanInputsModel inputs) {
|
||||
}
|
||||
|
||||
public JComponent createAdcPanel() {
|
||||
JComponent container = new JPanel(new MigLayout());
|
||||
JButton saveAdc = new JButton("save ADC");
|
||||
saveAdc.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
// model.saveToFile();
|
||||
}
|
||||
});
|
||||
container.add(saveAdc, "grow, wrap");
|
||||
|
||||
for (int channel1 = 0; channel1 < SNIFFED_ADC_COUNT / 2; channel1++) {
|
||||
// {
|
||||
// Pair<JPanel, JLabel> pair1 = createAdcLabel(channel1);
|
||||
// // 2nd column of channels
|
||||
// int channel2 = channel1 + SNIFFED_ADC_COUNT / 2;
|
||||
// Pair<JPanel, JLabel> pair2 = createAdcLabel(channel2);
|
||||
// sniffedAdcLabels.put(channel1, pair1.second);
|
||||
// sniffedAdcLabels.put(channel2, pair2.second);
|
||||
//
|
||||
// container.add(pair1.first);
|
||||
// container.add(pair2.first);
|
||||
// }
|
||||
|
||||
{
|
||||
Pair<JPanel, JLabel> inputPair = createLabelWithCaption(BooleanInputsModel.getTitle(channel1));
|
||||
inputLabels.put(channel1, inputPair.second);
|
||||
container.add(inputPair.first);
|
||||
}
|
||||
{
|
||||
Pair<JPanel, JLabel> pair = createLabelWithCaption("adc " + channel1);
|
||||
internalAdcLabels.put(channel1, pair.second);
|
||||
container.add(pair.first, "grow, wrap");
|
||||
}
|
||||
|
||||
}
|
||||
return container;
|
||||
}
|
||||
|
||||
// private Pair<JPanel, JLabel> createAdcLabel(final int channel) {
|
||||
// final Pair<JPanel, JLabel> result = createLabelWithCaption(SensorCentral.getTitle(channel));
|
||||
// model.addListener(new SensorCentral.SensorListener() {
|
||||
// public void onAdcUpdate(SensorCentral model, Sensor sensor, double value) {
|
||||
// if (sensor.getMazdaIndex() != channel)
|
||||
// return;
|
||||
// JLabel label = result.second;
|
||||
// String representation = model.getSniffedAdcRepresentation(sensor);
|
||||
// label.setText(representation);
|
||||
// }
|
||||
// });
|
||||
// return result;
|
||||
// }
|
||||
|
||||
private Pair<JPanel, JLabel> createLabelWithCaption(String title) {
|
||||
JPanel panel = new JPanel(new FlowLayout());
|
||||
panel.add(new JLabel(title));
|
||||
JLabel value = new JLabel("");
|
||||
panel.add(value);
|
||||
return new Pair<JPanel, JLabel>(panel, value);
|
||||
}
|
||||
|
||||
}
|
|
@ -1,9 +1,11 @@
|
|||
package com.rusefi.ui;
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.rusefi.FileLog;
|
||||
import com.irnems.models.Range;
|
||||
import com.irnems.models.XYData;
|
||||
import com.rusefi.ui.widgets.JTextFieldWithWidth;
|
||||
import com.rusefi.ui.engine.EngineSnifferPanel;
|
||||
import com.rusefi.ui.util.UiUtils;
|
||||
import com.rusefi.ui.util.JTextFieldWithWidth;
|
||||
import net.ericaro.surfaceplotter.DefaultSurfaceModel;
|
||||
import net.ericaro.surfaceplotter.JSurfacePanel;
|
||||
import net.ericaro.surfaceplotter.Mapper;
|
||||
|
@ -35,7 +37,7 @@ public class ChartHelper {
|
|||
jsp.getSurface().setYLabel("MAF voltage");
|
||||
result.add(BorderLayout.CENTER, jsp);
|
||||
|
||||
JButton saveImageButton = new JButton(WavePanel.SAVE_IMAGE);
|
||||
JButton saveImageButton = new JButton(EngineSnifferPanel.SAVE_IMAGE);
|
||||
saveImageButton.setMnemonic('s');
|
||||
saveImageButton.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
|
|
|
@ -37,11 +37,11 @@ public class ChartRepository {
|
|||
charts.clear();
|
||||
}
|
||||
|
||||
public interface CRListener {
|
||||
public interface ChartRepositoryListener {
|
||||
public void onDigitalChart(String chart);
|
||||
}
|
||||
|
||||
public ChartScrollControl createControls(final CRListener listener) {
|
||||
public ChartScrollControl createControls(final ChartRepositoryListener listener) {
|
||||
return new ChartScrollControl(listener);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,9 +17,9 @@ public class ChartScrollControl {
|
|||
private final JPanel content = new JPanel(new FlowLayout(FlowLayout.RIGHT, 5, 0));
|
||||
private final AtomicInteger index = new AtomicInteger();
|
||||
private static final JLabel info = new JLabel();
|
||||
private ChartRepository.CRListener listener;
|
||||
private ChartRepository.ChartRepositoryListener listener;
|
||||
|
||||
public ChartScrollControl(final ChartRepository.CRListener listener) {
|
||||
public ChartScrollControl(final ChartRepository.ChartRepositoryListener listener) {
|
||||
|
||||
this.listener = listener;
|
||||
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
package com.rusefi.ui;
|
||||
|
||||
public class ConnectionStatus {
|
||||
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
package com.rusefi.ui;
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.rusefi.FileLog;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.event.WindowAdapter;
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
package com.rusefi.ui;
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.rusefi.FileLog;
|
||||
import com.irnems.core.EngineState;
|
||||
import com.irnems.file.FileUtils;
|
||||
import com.rusefi.ui.widgets.UpDownImage;
|
||||
import com.rusefi.file.FileUtils;
|
||||
import com.rusefi.ui.engine.EngineSnifferPanel;
|
||||
import com.rusefi.ui.util.UiUtils;
|
||||
import com.rusefi.FIleItem;
|
||||
import com.rusefi.io.LinkManager;
|
||||
|
||||
|
@ -36,16 +37,16 @@ public class LogViewer extends JPanel {
|
|||
private final JLabel fileLabel = new JLabel();
|
||||
private final DefaultListModel<FIleItem> fileListModel = new DefaultListModel<FIleItem>();
|
||||
private final JList<FIleItem> fileList = new JList<FIleItem>(fileListModel);
|
||||
private final WavePanel wavePanel;
|
||||
private final EngineSnifferPanel engineSnifferPanel;
|
||||
private String currentFolder;
|
||||
private static JPanel descPanel = new JPanel();
|
||||
|
||||
|
||||
// int currentChartIndex = 0;
|
||||
|
||||
public LogViewer(WavePanel wavePanel) {
|
||||
public LogViewer(EngineSnifferPanel engineSnifferPanel) {
|
||||
super(new BorderLayout());
|
||||
this.wavePanel = wavePanel;
|
||||
this.engineSnifferPanel = engineSnifferPanel;
|
||||
|
||||
setBackground(Color.green);
|
||||
|
||||
|
@ -101,7 +102,7 @@ public class LogViewer extends JPanel {
|
|||
descPanel.removeAll();
|
||||
descPanel.add(new JLabel("Total digital charts: "));
|
||||
descPanel.add(new JLabel("" + ChartRepository.getInstance().getSize()));
|
||||
UpDownImage.trueRepaint(descPanel);
|
||||
UiUtils.trueRepaint(descPanel);
|
||||
}
|
||||
|
||||
private void openFolder(String folderName) {
|
||||
|
@ -173,7 +174,7 @@ public class LogViewer extends JPanel {
|
|||
FileUtils.readFile2(filename, engineState);
|
||||
|
||||
if (ChartRepository.getInstance().getSize() > 0)
|
||||
wavePanel.reloadFile();
|
||||
engineSnifferPanel.reloadFile();
|
||||
refreshCountPanel();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,12 +25,12 @@ public class MessagesPane {
|
|||
|
||||
content.add(middlePanel, BorderLayout.CENTER);
|
||||
|
||||
messagesPanel.getButtonPanel().add(new RpmControl().getContent());
|
||||
messagesPanel.getButtonPanel().add(new RpmLabel().getContent());
|
||||
content.add(messagesPanel.getButtonPanel(), BorderLayout.NORTH);
|
||||
|
||||
JPanel statsPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
|
||||
|
||||
statsPanel.add(new RpmControl().getContent());
|
||||
statsPanel.add(new RpmLabel().getContent());
|
||||
statsPanel.add(new IdleLabel());
|
||||
statsPanel.add(new WarningPanel().getPanel());
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ import com.irnems.core.MessagesCentral;
|
|||
import com.rusefi.io.CommandQueue;
|
||||
import com.rusefi.io.serial.PortHolder;
|
||||
import com.rusefi.ui.storage.Node;
|
||||
import com.rusefi.ui.util.UiUtils;
|
||||
import com.rusefi.ui.widgets.AnyCommand;
|
||||
|
||||
import javax.swing.*;
|
||||
|
|
|
@ -2,7 +2,7 @@ package com.rusefi.ui;
|
|||
|
||||
import com.rusefi.StimulationInputs;
|
||||
import com.rusefi.io.CommandQueue;
|
||||
import com.rusefi.ui.widgets.UpDownImage;
|
||||
import com.rusefi.ui.util.UiUtils;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
|
@ -73,8 +73,8 @@ public class RecentCommands {
|
|||
for (Entry entry : entries.keySet()) {
|
||||
content.add(createButton(entry));
|
||||
}
|
||||
UpDownImage.trueRepaint(content.getParent());
|
||||
UpDownImage.trueLayout(content.getParent());
|
||||
UiUtils.trueRepaint(content.getParent());
|
||||
UiUtils.trueLayout(content.getParent());
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -14,14 +14,14 @@ import java.awt.event.ActionListener;
|
|||
* 9/17/13
|
||||
* (c) Andrey Belomutskiy
|
||||
*/
|
||||
public class RpmControl {
|
||||
public class RpmLabel {
|
||||
private static final String NO_CONNECTION = "N/C";
|
||||
private final JPanel content = new JPanel(new FlowLayout(FlowLayout.LEFT, 5, 0));
|
||||
|
||||
private final JLabel rpmValue = new JLabel(NO_CONNECTION);
|
||||
private final JLabel rpmCaption = new JLabel("RPM:");
|
||||
|
||||
public RpmControl() {
|
||||
public RpmLabel() {
|
||||
rpmCaption.setBorder(BorderFactory.createLineBorder(Color.white));
|
||||
rpmValue.setForeground(Color.red);
|
||||
|
||||
|
@ -64,7 +64,7 @@ public class RpmControl {
|
|||
return content;
|
||||
}
|
||||
|
||||
public RpmControl setSize(int size) {
|
||||
public RpmLabel setSize(int size) {
|
||||
Font f = rpmCaption.getFont();
|
||||
int fontSize = size * f.getSize();
|
||||
Font font = new Font(f.getName(), f.getStyle(), fontSize);
|
|
@ -19,7 +19,7 @@ import java.awt.event.ActionListener;
|
|||
*/
|
||||
public class RpmPanel {
|
||||
private final Node config;
|
||||
private RpmControl rpmControl = new RpmControl();
|
||||
private RpmLabel rpmLabel = new RpmLabel();
|
||||
// that's for CKP signal emulation
|
||||
public final WaveInfoPanel wave0 = new WaveInfoPanel(0);
|
||||
public final WaveInfoPanel wave1 = new WaveInfoPanel(1);
|
||||
|
@ -27,7 +27,7 @@ public class RpmPanel {
|
|||
|
||||
public RpmPanel(Node config) {
|
||||
this.config = config;
|
||||
rpmControl.setSize(15);
|
||||
rpmLabel.setSize(15);
|
||||
}
|
||||
|
||||
public JComponent createRpmPanel() {
|
||||
|
@ -57,7 +57,7 @@ public class RpmPanel {
|
|||
JComponent rpmPanel = new JPanel(new BorderLayout());
|
||||
rpmPanel.setBorder(BorderFactory.createLineBorder(Color.white));
|
||||
|
||||
rpmPanel.add(rpmControl.getContent(), BorderLayout.NORTH);
|
||||
rpmPanel.add(rpmLabel.getContent(), BorderLayout.NORTH);
|
||||
rpmPanel.add(controls, BorderLayout.WEST);
|
||||
rpmPanel.add(gauges, BorderLayout.CENTER);
|
||||
rpmPanel.add(msgPanel, BorderLayout.EAST);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package com.rusefi.ui;
|
||||
|
||||
import com.irnems.file.BaseMap;
|
||||
import com.rusefi.file.BaseMap;
|
||||
import com.irnems.models.XYData;
|
||||
|
||||
import javax.swing.*;
|
||||
|
|
|
@ -6,8 +6,7 @@ import com.rusefi.OutputChannel;
|
|||
import com.rusefi.io.CommandQueue;
|
||||
import com.rusefi.io.InvocationConfirmationListener;
|
||||
import com.rusefi.trigger.TriggerShapeHolder;
|
||||
import com.rusefi.ui.widgets.UpDownImage;
|
||||
import com.sun.awt.AWTUtilities;
|
||||
import com.rusefi.ui.util.UiUtils;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
|
@ -113,7 +112,7 @@ public class Wizard {
|
|||
Component newContent = getContent(step);
|
||||
content.removeAll();
|
||||
content.add(newContent);
|
||||
UpDownImage.trueLayout(content);
|
||||
UiUtils.trueLayout(content);
|
||||
}
|
||||
|
||||
private Component getContent(WizardStep step) {
|
||||
|
|
|
@ -1,21 +1,21 @@
|
|||
package com.rusefi.ui;
|
||||
package com.rusefi.ui.engine;
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.rusefi.FileLog;
|
||||
import com.irnems.core.EngineState;
|
||||
import com.irnems.core.Sensor;
|
||||
import com.irnems.core.SensorCentral;
|
||||
import com.rusefi.io.LinkManager;
|
||||
import com.rusefi.ui.*;
|
||||
import com.rusefi.ui.storage.Node;
|
||||
import com.rusefi.ui.util.UiUtils;
|
||||
import com.rusefi.ui.widgets.AnyCommand;
|
||||
import com.rusefi.ui.widgets.URLLabel;
|
||||
import com.rusefi.ui.widgets.UpDownImage;
|
||||
import com.rusefi.ui.util.URLLabel;
|
||||
import com.rusefi.waves.RevolutionLog;
|
||||
import com.rusefi.waves.WaveChart;
|
||||
import com.rusefi.waves.WaveChartParser;
|
||||
import com.rusefi.waves.WaveReport;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.xml.bind.JAXBContext;
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
|
@ -29,9 +29,9 @@ import java.util.List;
|
|||
* Date: 6/23/13
|
||||
* Andrey Belomutskiy (c) 2012-2013
|
||||
*
|
||||
* @see ChartStatusPanel status bar
|
||||
* @see EngineSnifferStatusPanel status bar
|
||||
*/
|
||||
public class WavePanel {
|
||||
public class EngineSnifferPanel {
|
||||
private static final int EFI_DEFAULT_CHART_SIZE = 180;
|
||||
public static final String CRANK1 = "c1";
|
||||
public static final Comparator<String> INSTANCE = new ImageOrderComparator();
|
||||
|
@ -61,13 +61,13 @@ public class WavePanel {
|
|||
JScrollPane pane = new JScrollPane(imagePanel, JScrollPane.VERTICAL_SCROLLBAR_NEVER, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
|
||||
|
||||
private final ZoomControl zoomControl = new ZoomControl();
|
||||
private final ChartStatusPanel statusPanel = new ChartStatusPanel(zoomControl.getZoomProvider());
|
||||
private final EngineSnifferStatusPanel statusPanel = new EngineSnifferStatusPanel(zoomControl.getZoomProvider());
|
||||
private final UpDownImage crank = createImage(CRANK1);
|
||||
private ChartScrollControl scrollControl;
|
||||
|
||||
private boolean isPaused;
|
||||
|
||||
public WavePanel(Node config) {
|
||||
public EngineSnifferPanel(Node config) {
|
||||
LinkManager.engineState.registerStringValueAction("outpin", new EngineState.ValueCallback<String>() {
|
||||
@Override
|
||||
public void onUpdate(String value) {
|
||||
|
@ -118,14 +118,14 @@ public class WavePanel {
|
|||
buttonPanel.add(clearButton);
|
||||
buttonPanel.add(saveImageButton);
|
||||
buttonPanel.add(pauseButton);
|
||||
buttonPanel.add(new RpmControl().setSize(2).getContent());
|
||||
buttonPanel.add(new RpmLabel().setSize(2).getContent());
|
||||
|
||||
JComponent command = new AnyCommand(config, "chartsize " + EFI_DEFAULT_CHART_SIZE).getContent();
|
||||
buttonPanel.add(command);
|
||||
|
||||
buttonPanel.add(zoomControl);
|
||||
|
||||
scrollControl = ChartRepository.getInstance().createControls(new ChartRepository.CRListener() {
|
||||
scrollControl = ChartRepository.getInstance().createControls(new ChartRepository.ChartRepositoryListener() {
|
||||
@Override
|
||||
public void onDigitalChart(String chart) {
|
||||
displayChart(chart);
|
||||
|
@ -142,7 +142,7 @@ public class WavePanel {
|
|||
zoomControl.listener = new ZoomControl.ZoomControlListener() {
|
||||
@Override
|
||||
public void onZoomChange() {
|
||||
UpDownImage.trueRepaint(imagePanel);
|
||||
UiUtils.trueRepaint(imagePanel);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -204,7 +204,7 @@ public class WavePanel {
|
|||
/**
|
||||
* this is to fix the UI glitch when images tab shows a tiny square
|
||||
*/
|
||||
UpDownImage.trueRepaint(chartPanel.getParent());
|
||||
UiUtils.trueRepaint(chartPanel.getParent());
|
||||
}
|
||||
|
||||
public JPanel getPanel() {
|
|
@ -1,7 +1,6 @@
|
|||
package com.rusefi.ui;
|
||||
package com.rusefi.ui.engine;
|
||||
|
||||
import com.irnems.waves.TimeAxisTranslator;
|
||||
import com.rusefi.ui.widgets.UpDownImage;
|
||||
import com.rusefi.waves.WaveReport;
|
||||
import com.irnems.waves.ZoomProvider;
|
||||
import com.rusefi.waves.RevolutionLog;
|
||||
|
@ -13,13 +12,13 @@ import java.awt.event.MouseMotionAdapter;
|
|||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Status bar at the bottom of Digital Sniffer - {@link WavePanel}
|
||||
* Status bar at the bottom of Digital Sniffer - {@link EngineSnifferPanel}
|
||||
* <p/>
|
||||
* <p/>
|
||||
* Date: 12/26/13
|
||||
* Andrey Belomutskiy (c) 2012-2013
|
||||
*/
|
||||
public class ChartStatusPanel {
|
||||
public class EngineSnifferStatusPanel {
|
||||
public final JPanel infoPanel = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
|
||||
private final JLabel xLabel = new JLabel();
|
||||
private final JLabel timeLabel = new JLabel();
|
||||
|
@ -29,7 +28,7 @@ public class ChartStatusPanel {
|
|||
|
||||
private RevolutionLog time2rpm = RevolutionLog.parseRevolutions(null);
|
||||
|
||||
final MouseMotionAdapter motionAdapter = new MouseMotionAdapter() {
|
||||
public final MouseMotionAdapter motionAdapter = new MouseMotionAdapter() {
|
||||
@Override
|
||||
public void mouseMoved(MouseEvent event) {
|
||||
int x = event.getX();
|
||||
|
@ -56,7 +55,7 @@ public class ChartStatusPanel {
|
|||
|
||||
private ZoomProvider zoomProvider;
|
||||
|
||||
public ChartStatusPanel(ZoomProvider zoomProvider) {
|
||||
public EngineSnifferStatusPanel(ZoomProvider zoomProvider) {
|
||||
this.zoomProvider = zoomProvider;
|
||||
infoPanel.add(new JLabel("X: "));
|
||||
infoPanel.add(xLabel);
|
|
@ -1,9 +1,9 @@
|
|||
package com.rusefi.ui.widgets;
|
||||
package com.rusefi.ui.engine;
|
||||
|
||||
import com.irnems.core.Sensor;
|
||||
import com.irnems.core.SensorCentral;
|
||||
import com.irnems.waves.TimeAxisTranslator;
|
||||
import com.rusefi.ui.WavePanel;
|
||||
import com.rusefi.ui.util.UiUtils;
|
||||
import com.rusefi.waves.WaveReport;
|
||||
import com.irnems.waves.ZoomProvider;
|
||||
import com.rusefi.waves.RevolutionLog;
|
||||
|
@ -22,7 +22,7 @@ import java.util.TreeMap;
|
|||
* Date: 6/23/13
|
||||
* (c) Andrey Belomutskiy
|
||||
*
|
||||
* @see WavePanel
|
||||
* @see EngineSnifferPanel
|
||||
*/
|
||||
public class UpDownImage extends JPanel {
|
||||
private static final SimpleDateFormat FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss");
|
||||
|
@ -54,45 +54,13 @@ public class UpDownImage extends JPanel {
|
|||
}
|
||||
|
||||
public void setToolTip() {
|
||||
setTwoLineToolTip(this, "Channel " + name, "Physical pin: " + pin);
|
||||
}
|
||||
|
||||
public static void setTwoLineToolTip(JComponent component, String line1, String line2) {
|
||||
component.setToolTipText("<html>" + line1 + "<br>" + line2 + "</html>");
|
||||
UiUtils.setTwoLineToolTip(this, "Channel " + name, "Physical pin: " + pin);
|
||||
}
|
||||
|
||||
public void setZoomProvider(ZoomProvider zoomProvider) {
|
||||
this.zoomProvider = zoomProvider;
|
||||
}
|
||||
|
||||
/**
|
||||
* This does not make any sense :( That's an attempt
|
||||
* to hack http://rusefi.com/forum/viewtopic.php?f=2&t=631&p=10083#p10081
|
||||
*/
|
||||
public static void trueRepaint(JComponent control) {
|
||||
control.invalidate();
|
||||
control.repaint();
|
||||
}
|
||||
|
||||
public static void trueRepaint(Container control) {
|
||||
trueLayout(control);
|
||||
// if (control == null)
|
||||
// return;
|
||||
// control.invalidate();
|
||||
// control.repaint();
|
||||
}
|
||||
|
||||
/**
|
||||
* todo: one 'trueXXX' method should be enough, which one?
|
||||
*/
|
||||
public static void trueLayout(Component component) {
|
||||
if (component == null)
|
||||
return;
|
||||
component.invalidate();
|
||||
component.validate();
|
||||
component.repaint();
|
||||
}
|
||||
|
||||
public UpDownImage(WaveReport wr, String name) {
|
||||
this.name = name;
|
||||
setWaveReport(wr, null);
|
||||
|
@ -134,7 +102,7 @@ public class UpDownImage extends JPanel {
|
|||
propagateDwellIntoSensor(wr);
|
||||
this.revolutions = revolutions;
|
||||
lastUpdateTime = System.currentTimeMillis();
|
||||
trueRepaint(this);
|
||||
UiUtils.trueRepaint(this);
|
||||
}
|
||||
|
||||
private void propagateDwellIntoSensor(WaveReport wr) {
|
|
@ -1,4 +1,4 @@
|
|||
package com.rusefi.ui;
|
||||
package com.rusefi.ui.engine;
|
||||
|
||||
import com.irnems.waves.ZoomProvider;
|
||||
import com.rusefi.KeyStrokeShortcut;
|
||||
|
@ -13,7 +13,7 @@ import java.awt.event.KeyEvent;
|
|||
* 7/7/13
|
||||
* (c) Andrey Belomutskiy
|
||||
*/
|
||||
public class ZoomControl extends JPanel {
|
||||
class ZoomControl extends JPanel {
|
||||
private final JLabel currentValue = new JLabel();
|
||||
private double value;
|
||||
public ZoomControlListener listener = null;
|
|
@ -1,9 +1,9 @@
|
|||
package com.irnems.ui.test;
|
||||
package com.rusefi.ui.engine.test;
|
||||
|
||||
import com.rusefi.waves.WaveReport;
|
||||
import com.irnems.core.test.WaveReportTest;
|
||||
import com.rusefi.waves.test.WaveReportTest;
|
||||
import com.rusefi.ui.FrameHelper;
|
||||
import com.rusefi.ui.widgets.UpDownImage;
|
||||
import com.rusefi.ui.engine.UpDownImage;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.lang.reflect.InvocationTargetException;
|
|
@ -1,6 +1,6 @@
|
|||
package com.rusefi.ui.storage;
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.rusefi.FileLog;
|
||||
|
||||
import java.beans.XMLDecoder;
|
||||
import java.beans.XMLEncoder;
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
package com.rusefi.ui.test;
|
||||
|
||||
import com.rusefi.ui.engine.EngineSnifferPanel;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
|
||||
import static junit.framework.Assert.assertEquals;
|
||||
|
||||
/**
|
||||
* 6/25/14
|
||||
* (c) Andrey Belomutskiy
|
||||
*/
|
||||
|
||||
public class EngineSnifferPanelTest {
|
||||
@Test
|
||||
public void testInsertIndex() {
|
||||
Set<String> names = new TreeSet<>();
|
||||
names.add(EngineSnifferPanel.CRANK1);
|
||||
|
||||
String name;
|
||||
|
||||
name = "inj2";
|
||||
assertEquals(-1, EngineSnifferPanel.getInsertIndex(name, names));
|
||||
names.add(name);
|
||||
|
||||
name = "inj1";
|
||||
assertEquals(1, EngineSnifferPanel.getInsertIndex(name, names));
|
||||
names.add(name);
|
||||
|
||||
|
||||
assertEquals(1, EngineSnifferPanel.getInsertIndex("spa1", names));
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package com.rusefi.ui;
|
||||
package com.rusefi.ui.util;
|
||||
|
||||
import com.irnems.FileLog;
|
||||
import com.rusefi.FileLog;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
|
@ -1,4 +1,4 @@
|
|||
package com.rusefi.ui.widgets;
|
||||
package com.rusefi.ui.util;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
|
@ -1,5 +1,4 @@
|
|||
package com.rusefi.ui.widgets;
|
||||
|
||||
package com.rusefi.ui.util;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
|
@ -10,8 +9,6 @@ import java.net.URI;
|
|||
import java.net.URISyntaxException;
|
||||
|
||||
public class URLLabel extends JLabel {
|
||||
|
||||
private static final long serialVersionUID = 8273875024682878518L;
|
||||
private String text;
|
||||
private URI uri;
|
||||
|
||||
|
@ -65,10 +62,6 @@ public class URLLabel extends JLabel {
|
|||
this.text = text;
|
||||
}
|
||||
|
||||
public String getRawText() {
|
||||
return text;
|
||||
}
|
||||
|
||||
private static void open(URI uri) {
|
||||
if (Desktop.isDesktopSupported()) {
|
||||
Desktop desktop = Desktop.getDesktop();
|
|
@ -1,4 +1,4 @@
|
|||
package com.rusefi.ui;
|
||||
package com.rusefi.ui.util;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
import javax.swing.*;
|
||||
|
@ -54,4 +54,36 @@ public class UiUtils {
|
|||
Dimension frameSize = w.getSize();
|
||||
w.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
|
||||
}
|
||||
|
||||
/**
|
||||
* This does not make any sense :( That's an attempt
|
||||
* to hack http://rusefi.com/forum/viewtopic.php?f=2&t=631&p=10083#p10081
|
||||
*/
|
||||
public static void trueRepaint(JComponent control) {
|
||||
control.invalidate();
|
||||
control.repaint();
|
||||
}
|
||||
|
||||
public static void trueRepaint(Container control) {
|
||||
trueLayout(control);
|
||||
// if (control == null)
|
||||
// return;
|
||||
// control.invalidate();
|
||||
// control.repaint();
|
||||
}
|
||||
|
||||
/**
|
||||
* todo: one 'trueXXX' method should be enough, which one?
|
||||
*/
|
||||
public static void trueLayout(Component component) {
|
||||
if (component == null)
|
||||
return;
|
||||
component.invalidate();
|
||||
component.validate();
|
||||
component.repaint();
|
||||
}
|
||||
|
||||
public static void setTwoLineToolTip(JComponent component, String line1, String line2) {
|
||||
component.setToolTipText("<html>" + line1 + "<br>" + line2 + "</html>");
|
||||
}
|
||||
}
|
|
@ -1,9 +1,9 @@
|
|||
package com.rusefi.ui.widgets;
|
||||
|
||||
import com.irnems.core.Sensor;
|
||||
import com.rusefi.SimulatorHelper;
|
||||
import com.rusefi.io.CommandQueue;
|
||||
import com.rusefi.io.LinkManager;
|
||||
import com.rusefi.ui.util.UiUtils;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.event.ChangeEvent;
|
||||
|
@ -58,7 +58,7 @@ public class DetachedSensor {
|
|||
Component mockComponent = createMockVoltageSlider(sensor);
|
||||
mockControlPanel.add(mockComponent);
|
||||
}
|
||||
UpDownImage.trueLayout(content);
|
||||
UiUtils.trueLayout(content);
|
||||
int size = width;
|
||||
int h = isMockable ? (int) (size * 1.5) : size;
|
||||
frame.setSize(size, h);
|
||||
|
|
|
@ -3,6 +3,7 @@ package com.rusefi.ui.widgets;
|
|||
import com.irnems.core.Sensor;
|
||||
import com.irnems.core.SensorCategory;
|
||||
import com.irnems.core.SensorCentral;
|
||||
import com.rusefi.ui.util.UiUtils;
|
||||
import eu.hansolo.steelseries.gauges.Radial;
|
||||
import eu.hansolo.steelseries.tools.ColorDef;
|
||||
|
||||
|
@ -42,7 +43,7 @@ public class SensorGauge {
|
|||
private static void createGaugeBody(final Sensor sensor, final JPanel wrapper, final GaugeChangeListener listener) {
|
||||
final Radial gauge = createRadial(sensor.getName(), sensor.getUnits(), sensor.getMaxValue(), sensor.getMinValue());
|
||||
|
||||
UpDownImage.setTwoLineToolTip(gauge, "Double-click to detach", "Right-click to change");
|
||||
UiUtils.setTwoLineToolTip(gauge, "Double-click to detach", "Right-click to change");
|
||||
|
||||
gauge.setBackgroundColor(sensor.getColor());
|
||||
|
||||
|
@ -65,8 +66,8 @@ public class SensorGauge {
|
|||
});
|
||||
wrapper.removeAll();
|
||||
wrapper.add(gauge, BorderLayout.CENTER);
|
||||
UpDownImage.trueRepaint(wrapper.getParent());
|
||||
UpDownImage.trueLayout(wrapper.getParent());
|
||||
UiUtils.trueRepaint(wrapper.getParent());
|
||||
UiUtils.trueLayout(wrapper.getParent());
|
||||
}
|
||||
|
||||
private static void showPopupMenu(MouseEvent e, JPanel wrapper, GaugeChangeListener listener) {
|
||||
|
|
Loading…
Reference in New Issue