diff --git a/firmware/console/status_loop.cpp b/firmware/console/status_loop.cpp
index ad5c3df137..4099274d7b 100644
--- a/firmware/console/status_loop.cpp
+++ b/firmware/console/status_loop.cpp
@@ -166,6 +166,9 @@ void printSensors(Logging *log, bool fileFormat) {
reportSensorF(log, fileFormat, "mafr", "kg/hr", getRealMaf(), 2);
}
+ reportSensorF(log, fileFormat, "ENGINE_LOAD", "x", getEngineLoadT(), 2);
+
+
#if EFI_ANALOG_SENSORS || defined(__DOXYGEN__)
if (engineConfiguration->hasMapSensor) {
reportSensorF(log, fileFormat, "MAP", "kPa", getMap(), 2);
diff --git a/firmware/rusefi.cpp b/firmware/rusefi.cpp
index 0c953e9846..895650ca5f 100644
--- a/firmware/rusefi.cpp
+++ b/firmware/rusefi.cpp
@@ -276,5 +276,5 @@ int getRusEfiVersion(void) {
return 1; // this is here to make the compiler happy about the unused array
if (UNUSED_CCM_SIZE[0] == 0)
return 1; // this is here to make the compiler happy about the unused array
- return 20150309;
+ return 20150310;
}
diff --git a/java_console/models/models.iml b/java_console/models/models.iml
index 7e4d7d85e1..d7e50e9baf 100644
--- a/java_console/models/models.iml
+++ b/java_console/models/models.iml
@@ -20,6 +20,6 @@
+
-
-
+
\ No newline at end of file
diff --git a/java_console/models/src/com/rusefi/core/Sensor.java b/java_console/models/src/com/rusefi/core/Sensor.java
index a8db550384..a7feb09696 100644
--- a/java_console/models/src/com/rusefi/core/Sensor.java
+++ b/java_console/models/src/com/rusefi/core/Sensor.java
@@ -26,6 +26,9 @@ public enum Sensor {
TPS("throttle", SensorCategory.SENSOR_INPUTS, "%", 100),
VSS("Speed", SensorCategory.SENSOR_INPUTS, "kph", 100),
+ ENGINE_LOAD("Engine Load", SensorCategory.SENSOR_INPUTS, "x", 300),
+
+
MAFR_CFM("MAFR_CFM", SensorCategory.SENSOR_INPUTS, "cub f/m", 800),
CLT_F("Coolant F", SensorCategory.SENSOR_INPUTS, "temperature, F", -40, 500),
IAT_F("Intake Air F", SensorCategory.SENSOR_INPUTS, "temperature, F", -40, 350),
diff --git a/java_console/models/src/com/rusefi/core/SensorCentral.java b/java_console/models/src/com/rusefi/core/SensorCentral.java
index 932f6f5488..e2bd75aaee 100644
--- a/java_console/models/src/com/rusefi/core/SensorCentral.java
+++ b/java_console/models/src/com/rusefi/core/SensorCentral.java
@@ -1,5 +1,11 @@
package com.rusefi.core;
+import com.romraider.logger.ecu.comms.query.ResponseImpl;
+import com.romraider.logger.ecu.definition.EcuDataConvertor;
+import com.romraider.logger.ecu.definition.EcuDataType;
+import com.romraider.logger.ecu.definition.LoggerData;
+import com.romraider.logger.ecu.ui.handler.table.TableUpdateHandler;
+
import java.util.EnumMap;
import java.util.List;
import java.util.Map;
@@ -34,7 +40,39 @@ public class SensorCentral {
return value;
}
- public void setValue(double value, Sensor sensor) {
+ EcuDataConvertor convertor = new EcuDataConvertor() {
+ @Override
+ public double convert(byte[] bytes) {
+ return 0;
+ }
+
+ @Override
+ public String format(double value) {
+ return Double.toString(value);
+ }
+
+ @Override
+ public String getUnits() {
+ return null;
+ }
+
+ @Override
+ public String getFormat() {
+ return null;
+ }
+
+ @Override
+ public String getExpression() {
+ return null;
+ }
+
+ @Override
+ public String getDataType() {
+ return null;
+ }
+ };
+
+ public void setValue(double value, final Sensor sensor) {
values.put(sensor, value);
List listeners;
synchronized (allListeners) {
@@ -44,6 +82,62 @@ public class SensorCentral {
return;
for (SensorListener listener : listeners)
listener.onSensorUpdate(value);
+
+
+ ResponseImpl r = new ResponseImpl();
+
+
+
+
+ LoggerData d = new LoggerData() {
+ @Override
+ public String getId() {
+ return sensor.getName();
+ }
+
+ @Override
+ public String getName() {
+ return sensor.getName();
+ }
+
+ @Override
+ public String getDescription() {
+ return sensor.getName();
+ }
+
+ @Override
+ public EcuDataConvertor getSelectedConvertor() {
+ return convertor;
+ }
+
+ @Override
+ public EcuDataConvertor[] getConvertors() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void selectConvertor(EcuDataConvertor convertor) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public EcuDataType getDataType() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean isSelected() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void setSelected(boolean selected) {
+ throw new UnsupportedOperationException();
+ }
+ };
+
+ r.setDataValue(d, value);
+ TableUpdateHandler.getInstance().handleDataUpdate(r);
}
public static String getInternalAdcRepresentation(double value) {
@@ -81,6 +175,7 @@ public class SensorCentral {
addDoubleSensor("tp", Sensor.TPS, es);
addDoubleSensor(Sensor.VSS, es);
+ addDoubleSensor(Sensor.ENGINE_LOAD, es);
addDoubleSensor(Sensor.DWELL0, es);
addDoubleSensor(Sensor.DWELL1, es);
addDoubleSensor(Sensor.DWELL2, es);
diff --git a/java_console/romraider/src/com/romraider/logger/ecu/ui/handler/table/TableUpdateHandler.java b/java_console/romraider/src/com/romraider/logger/ecu/ui/handler/table/TableUpdateHandler.java
index f6a1498e2d..c3d5e56aa6 100644
--- a/java_console/romraider/src/com/romraider/logger/ecu/ui/handler/table/TableUpdateHandler.java
+++ b/java_console/romraider/src/com/romraider/logger/ecu/ui/handler/table/TableUpdateHandler.java
@@ -22,11 +22,7 @@ package com.romraider.logger.ecu.ui.handler.table;
import static com.romraider.util.ParamChecker.isNullOrEmpty;
import static java.util.Collections.synchronizedMap;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Map;
+import java.util.*;
import com.romraider.logger.ecu.comms.query.Response;
import com.romraider.logger.ecu.definition.LoggerData;
@@ -37,7 +33,7 @@ import com.romraider.maps.Table3D;
public final class TableUpdateHandler implements DataUpdateHandler {
private static final TableUpdateHandler INSTANCE = new TableUpdateHandler();
- private final Map> tableMap = synchronizedMap(new HashMap>());
+ private final Map> tableMap = synchronizedMap(new TreeMap>(String.CASE_INSENSITIVE_ORDER));
private TableUpdateHandler() {
tableMap.clear();
@@ -53,8 +49,8 @@ public final class TableUpdateHandler implements DataUpdateHandler {
List tables = tableMap.get(loggerData.getId());
if (tables != null && !tables.isEmpty()) {
String formattedValue = loggerData.getSelectedConvertor().format(response.getDataValue(loggerData));
- for(ListIterator item = tables.listIterator(); item.hasNext();) {
- item.next().highlightLiveData(formattedValue);
+ for (Table table : tables) {
+ table.highlightLiveData(formattedValue);
}
}
}
diff --git a/java_console/romraider/src/com/romraider/maps/Table.java b/java_console/romraider/src/com/romraider/maps/Table.java
index 9d95a0f7a4..b6e88eddc3 100644
--- a/java_console/romraider/src/com/romraider/maps/Table.java
+++ b/java_console/romraider/src/com/romraider/maps/Table.java
@@ -94,7 +94,7 @@ public abstract class Table extends JPanel implements Serializable {
protected boolean locked = false;
protected String logParam = Settings.BLANK;
- protected boolean overlayLog = false;
+ protected boolean overlayLog = true;
protected CopyTableWorker copyTableWorker;
protected CopySelectionWorker copySelectionWorker;
diff --git a/java_console/romraider/src/com/romraider/swing/TableToolBar.java b/java_console/romraider/src/com/romraider/swing/TableToolBar.java
index 7679535c36..2bb233e427 100644
--- a/java_console/romraider/src/com/romraider/swing/TableToolBar.java
+++ b/java_console/romraider/src/com/romraider/swing/TableToolBar.java
@@ -96,8 +96,8 @@ public class TableToolBar extends JToolBar implements MouseListener, ItemListene
private final JComboBox scaleSelection = new JComboBox();
private final JPanel liveDataPanel = new JPanel();
- private final JCheckBox overlayLog = new JCheckBox("Overlay Log");
- private final JButton clearOverlay = new JButton("Clear Overlay");
+// private final JCheckBox overlayLog = new JCheckBox("Overlay Log");
+// private final JButton clearOverlay = new JButton("Clear Overlay");
private final JLabel liveDataValue = new JLabel();
private final URL incrementFineImage = getClass().getResource("/graphics/icon-incfine.png");
@@ -171,8 +171,8 @@ public class TableToolBar extends JToolBar implements MouseListener, ItemListene
scaleSelection.setPreferredSize(new Dimension(80, 23));
- clearOverlay.setPreferredSize(new Dimension(75, 23));
- clearOverlay.setBorder(createLineBorder(new Color(150, 150, 150), 1));
+// clearOverlay.setPreferredSize(new Dimension(75, 23));
+// clearOverlay.setBorder(createLineBorder(new Color(150, 150, 150), 1));
incrementByFine.setAlignmentX(JTextArea.CENTER_ALIGNMENT);
incrementByFine.setAlignmentY(JTextArea.CENTER_ALIGNMENT);
@@ -194,8 +194,8 @@ public class TableToolBar extends JToolBar implements MouseListener, ItemListene
incrementByFine.setToolTipText("Fine Value Adjustment");
incrementByCoarse.setToolTipText("Coarse Value Adjustment");
multiply.setToolTipText("Multiply Value");
- overlayLog.setToolTipText("Enable Overlay Of Real Time Log Data");
- clearOverlay.setToolTipText("Clear Log Data Overlay Highlights");
+// overlayLog.setToolTipText("Enable Overlay Of Real Time Log Data");
+// clearOverlay.setToolTipText("Clear Log Data Overlay Highlights");
colorCells.setToolTipText("Color Table Cells");
refreshCompare.setToolTipText("Refresh Table Compare");
@@ -207,8 +207,8 @@ public class TableToolBar extends JToolBar implements MouseListener, ItemListene
setValue.addMouseListener(this);
multiply.addMouseListener(this);
scaleSelection.addItemListener(this);
- overlayLog.addItemListener(this);
- clearOverlay.addActionListener(this);
+// overlayLog.addItemListener(this);
+// clearOverlay.addActionListener(this);
colorCells.addMouseListener(this);
refreshCompare.addMouseListener(this);
@@ -241,12 +241,12 @@ public class TableToolBar extends JToolBar implements MouseListener, ItemListene
im.put(enter, "enterAction");
getActionMap().put(im.get(enter), enterAction);
- liveDataPanel.add(overlayLog);
- liveDataPanel.add(clearOverlay);
+// liveDataPanel.add(overlayLog);
+// liveDataPanel.add(clearOverlay);
//liveDataPanel.add(liveDataValue);
this.add(liveDataPanel);
- overlayLog.setEnabled(false);
- clearOverlay.setEnabled(false);
+// overlayLog.setEnabled(false);
+// clearOverlay.setEnabled(false);
incrementFine.getInputMap().put(enter, "enterAction");
decrementFine.getInputMap().put(enter, "enterAction");
@@ -330,7 +330,7 @@ public class TableToolBar extends JToolBar implements MouseListener, ItemListene
updateToolbarIncrementDecrementValues();
- this.overlayLog.setSelected(selectedTable.getOverlayLog());
+// this.overlayLog.setSelected(selectedTable.getOverlayLog());
this.enable3d.setEnabled(selectedTable.getType() == Settings.TABLE_3D);
setScales(selectedTable.getScales());
@@ -422,12 +422,12 @@ public class TableToolBar extends JToolBar implements MouseListener, ItemListene
}
if (null != currentTable && currentTable.isLiveDataSupported() && enabled) {
- overlayLog.setEnabled(true);
- clearOverlay.setEnabled(true);
+// overlayLog.setEnabled(true);
+// clearOverlay.setEnabled(true);
}
else{
- overlayLog.setEnabled(false);
- clearOverlay.setEnabled(false);
+// overlayLog.setEnabled(false);
+// clearOverlay.setEnabled(false);
}
if(null != currentTable && currentTable.isStaticDataTable()) {
@@ -725,9 +725,9 @@ public class TableToolBar extends JToolBar implements MouseListener, ItemListene
} catch (NameNotFoundException e1) {
e1.printStackTrace();
}
- } else if (e.getSource() == overlayLog) {
- // enable/disable log overlay and live data display
- curTable.setOverlayLog(overlayLog.isSelected());
+// } else if (e.getSource() == overlayLog) {
+// // enable/disable log overlay and live data display
+// curTable.setOverlayLog(overlayLog.isSelected());
}
}
@@ -739,10 +739,10 @@ public class TableToolBar extends JToolBar implements MouseListener, ItemListene
return;
}
- if (e.getSource() == clearOverlay) {
- // clear log overlay
- curTable.clearLiveDataTrace();
- }
+// if (e.getSource() == clearOverlay) {
+// // clear log overlay
+// curTable.clearLiveDataTrace();
+// }
}
public void setLiveDataValue(String value) {
diff --git a/java_console/rusefi.xml b/java_console/rusefi.xml
index 4b2a5971a5..bf0397b6e8 100644
--- a/java_console/rusefi.xml
+++ b/java_console/rusefi.xml
@@ -18,20 +18,20 @@
-
+
-
-
+
-
diff --git a/java_console/ui/src/com/rusefi/ui/widgets/SensorGauge.java b/java_console/ui/src/com/rusefi/ui/widgets/SensorGauge.java
index 4eff4f5756..c566b9d9b1 100644
--- a/java_console/ui/src/com/rusefi/ui/widgets/SensorGauge.java
+++ b/java_console/ui/src/com/rusefi/ui/widgets/SensorGauge.java
@@ -64,6 +64,7 @@ public class SensorGauge {
gauge.setValue(sensor.translateValue(value));
}
});
+ gauge.setValue(sensor.translateValue(SensorCentral.getInstance().getValue(sensor)));
gauge.setLcdDecimals(2);
gauge.addMouseListener(new MouseAdapter() {