diff --git a/executablecode/Makefile.src b/executablecode/Makefile.src index f005e67c8d1e0d5e5c34cf7b6df437b6e54e8ed9..28b9acb23f0af46aef4caec4f72c265800a703d3 100755 --- a/executablecode/Makefile.src +++ b/executablecode/Makefile.src @@ -1 +1 @@ -SRCS = generated_src/main.c generated_src/TestBench.c generated_src/SpeedSensor.c generated_src/RadarSensor.c generated_src/GPSSensor.c generated_src/CarPositionSimulator.c generated_src/EmergencySimulator.c generated_src/Communication.c generated_src/DSRSC_Management.c generated_src/NeighbourhoodTableManagement.c generated_src/CorrectnessChecking.c generated_src/PTC.c generated_src/DrivingPowerReductionStrategy.c generated_src/BCU.c generated_src/DangerAvoidanceStrategy.c generated_src/BrakeManagement.c generated_src/CSCU.c generated_src/ObjectListManagement.c generated_src/PlausibilityCheck.c generated_src/VehiculeDynamicsManagement.c \ No newline at end of file +SRCS = generated_src/main.c generated_src/ObserverProp1.c generated_src/RemotelyControlledMicrowave.c generated_src/RemoteControl.c generated_src/MicroWaveOven.c generated_src/Bell.c generated_src/ControlPanel.c generated_src/Controller.c generated_src/Magnetron.c generated_src/Door.c generated_src/WirelessInterface.c \ No newline at end of file diff --git a/src/ui/LoadInfo.java b/src/ui/LoadInfo.java index 8f6c51d257398458b217336d88d53d54dde0e901..77cf183b829128b2332c136b835f9e8d0b509bb4 100644 --- a/src/ui/LoadInfo.java +++ b/src/ui/LoadInfo.java @@ -54,6 +54,7 @@ public class LoadInfo { public int id; public double load; + public long energy; public LoadInfo() { } diff --git a/src/ui/MainGUI.java b/src/ui/MainGUI.java index d3420a45072bcfb20c07d5019375487e8528a8a6..5fb4c1e00094e039744c0b7485f719f62ac3fc63 100755 --- a/src/ui/MainGUI.java +++ b/src/ui/MainGUI.java @@ -6258,7 +6258,7 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener { } } - public synchronized void addLoadInfo(int _id, double _load) { + public synchronized void addLoadInfo(int _id, double _load, long _energy) { if (loadIDs == null) { loadIDs = new ArrayList<LoadInfo>(); } diff --git a/src/ui/TGComponent.java b/src/ui/TGComponent.java index 44ab47b2f3dc2af8c0af964eb879eca1f18386c1..f2d00355ffb49d9a2f7391c85a57613bb80e5abf 100755 --- a/src/ui/TGComponent.java +++ b/src/ui/TGComponent.java @@ -824,6 +824,12 @@ public abstract class TGComponent implements CDElement, GenericTree { g.fillOval(x+width, y+((sizeRect-sizeOval)/2), sizeOval, sizeOval); g.drawLine(x+width+sizeOval, y+(sizeRect/2), x+width+sizeOval+(sizeOval), y+(sizeRect/2)); g.drawString("" + (int)(li.load*100) + "%", x+width+sizeOval+(sizeOval) + 1, y+(sizeOval/2)); + + if (li.energy != -1) { + g.fillOval(x+width, y+((sizeRect-sizeOval)/2)+20, sizeOval, sizeOval); + g.drawLine(x+width+sizeOval, y+(sizeRect/2)+20, x+width+sizeOval+(sizeOval), y+(sizeRect/2)+20); + g.drawString("" + (int)(li.energy) + " pW", x+width+sizeOval+(sizeOval) + 1, y+(sizeOval/2) + 20); + } } public void draw(Graphics g) { diff --git a/src/ui/interactivesimulation/JFrameInteractiveSimulation.java b/src/ui/interactivesimulation/JFrameInteractiveSimulation.java index 9b6e610d9dd8ec0f84abc926b3374d3a06f7c27d..2671def33adc1e63e4380cdb168ee81adef81dad 100755 --- a/src/ui/interactivesimulation/JFrameInteractiveSimulation.java +++ b/src/ui/interactivesimulation/JFrameInteractiveSimulation.java @@ -1282,6 +1282,7 @@ public class JFrameInteractiveSimulation extends JFrame implements ActionListene String busname; String busid; String state; + String usedEnergy; int k; @@ -1493,6 +1494,7 @@ public class JFrameInteractiveSimulation extends JFrame implements ActionListene contdel = null; busname = null; busid = null; + usedEnergy = null; id = elt.getAttribute("id"); name = elt.getAttribute("name"); @@ -1502,6 +1504,12 @@ public class JFrameInteractiveSimulation extends JFrame implements ActionListene //System.out.println("nl:" + nl + " value=" + node0.getNodeValue() + " content=" + node0.getTextContent()); util = node0.getTextContent(); } + nl = elt.getElementsByTagName("energy"); + if ((nl != null) && (nl.getLength() > 0)) { + node0 = nl.item(0); + //System.out.println("nl:" + nl + " value=" + node0.getNodeValue() + " content=" + node0.getTextContent()); + usedEnergy = node0.getTextContent(); + } //System.out.println("toto12"); nl = elt.getElementsByTagName("contdel"); @@ -1519,7 +1527,7 @@ public class JFrameInteractiveSimulation extends JFrame implements ActionListene if ((id != null) && (util != null)) { - updateCPUState(id, util, contdel, busname, busid); + updateCPUState(id, util, usedEnergy, contdel, busname, busid); } } @@ -2234,7 +2242,7 @@ public class JFrameInteractiveSimulation extends JFrame implements ActionListene } - private void updateCPUState(String _id, String _utilization, String contdel, String busName, String busID) { + private void updateCPUState(String _id, String _utilization, String _usedEnergy, String contdel, String busName, String busID) { Integer i = getInteger(_id); int row; String info; @@ -2243,6 +2251,9 @@ public class JFrameInteractiveSimulation extends JFrame implements ActionListene try { valueTable.remove(i); info = "Utilization: " + _utilization; + if (_usedEnergy != null) { + info += "; used energy: " + _usedEnergy; + } if ((contdel != null) && (busName != null) && (busID != null)) { info += "; Cont. delay on " + busName + " (" + busID + "): " + contdel; } @@ -2250,7 +2261,11 @@ public class JFrameInteractiveSimulation extends JFrame implements ActionListene //System.out.println("Searching for old row"); row = (Integer)(rowTable.get(i)).intValue(); cputm.fireTableCellUpdated(row, 2); - mgui.addLoadInfo(i, getDouble(_utilization).doubleValue()); + if (_usedEnergy != null) { + mgui.addLoadInfo(i, getDouble(_utilization).doubleValue(), -1); + } else { + mgui.addLoadInfo(i, getDouble(_utilization).doubleValue(), getLong(_usedEnergy).longValue()); + } } catch (Exception e) { TraceManager.addDev("Exception updateCPUState: " + e.getMessage() + " id=" + _id + " util=" + _utilization); } @@ -2268,7 +2283,7 @@ public class JFrameInteractiveSimulation extends JFrame implements ActionListene //TraceManager.addDev("Searching for old row"); row = rowTable.get(i).intValue(); bustm.fireTableCellUpdated(row, 2); - mgui.addLoadInfo(i, getDouble(_utilization).doubleValue()); + mgui.addLoadInfo(i, getDouble(_utilization).doubleValue(), -1); } catch (Exception e) { System.err.println("Exception updateBusState: " + e.getMessage()); } @@ -2449,6 +2464,14 @@ public class JFrameInteractiveSimulation extends JFrame implements ActionListene } } + public Long getLong(String s) { + try { + return Long.decode(s); + } catch (Exception e) { + return null; + } + } + public Double getDouble(String s) { try { return new Double(s);