From 2f9ccfa26dc5728e00197364ea9fd41295a223b8 Mon Sep 17 00:00:00 2001 From: fros4943 Date: Wed, 2 Dec 2009 16:27:32 +0000 Subject: [PATCH] merged mspsim's compile dialogs --- .../se/sics/cooja/mspmote/ESBMoteType.java | 4 +- ...mpileDialog.java => MspCompileDialog.java} | 33 +++--- .../sics/cooja/mspmote/SkyCompileDialog.java | 105 ------------------ .../se/sics/cooja/mspmote/SkyMoteType.java | 4 +- 4 files changed, 21 insertions(+), 125 deletions(-) rename tools/cooja/apps/mspsim/src/se/sics/cooja/mspmote/{ESBCompileDialog.java => MspCompileDialog.java} (74%) delete mode 100644 tools/cooja/apps/mspsim/src/se/sics/cooja/mspmote/SkyCompileDialog.java diff --git a/tools/cooja/apps/mspsim/src/se/sics/cooja/mspmote/ESBMoteType.java b/tools/cooja/apps/mspsim/src/se/sics/cooja/mspmote/ESBMoteType.java index 3e88ae1c3..3a50ab148 100644 --- a/tools/cooja/apps/mspsim/src/se/sics/cooja/mspmote/ESBMoteType.java +++ b/tools/cooja/apps/mspsim/src/se/sics/cooja/mspmote/ESBMoteType.java @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ESBMoteType.java,v 1.10 2009/04/20 16:12:01 fros4943 Exp $ + * $Id: ESBMoteType.java,v 1.11 2009/12/02 16:27:59 fros4943 Exp $ */ package se.sics.cooja.mspmote; @@ -130,7 +130,7 @@ public class ESBMoteType extends MspMoteType { setDescription("ESB Mote Type #" + getIdentifier()); } - return ESBCompileDialog.showDialog(parentContainer, simulation, this); + return MspCompileDialog.showDialog(parentContainer, simulation, this, "esb"); } /* Not visualized: Compile Contiki immediately */ diff --git a/tools/cooja/apps/mspsim/src/se/sics/cooja/mspmote/ESBCompileDialog.java b/tools/cooja/apps/mspsim/src/se/sics/cooja/mspmote/MspCompileDialog.java similarity index 74% rename from tools/cooja/apps/mspsim/src/se/sics/cooja/mspmote/ESBCompileDialog.java rename to tools/cooja/apps/mspsim/src/se/sics/cooja/mspmote/MspCompileDialog.java index 9b82172b7..2ab1b937e 100644 --- a/tools/cooja/apps/mspsim/src/se/sics/cooja/mspmote/ESBCompileDialog.java +++ b/tools/cooja/apps/mspsim/src/se/sics/cooja/mspmote/MspCompileDialog.java @@ -26,28 +26,29 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ESBCompileDialog.java,v 1.3 2009/03/11 17:46:59 fros4943 Exp $ + * $Id: MspCompileDialog.java,v 1.1 2009/12/02 16:27:32 fros4943 Exp $ */ package se.sics.cooja.mspmote; + import java.awt.Container; import java.io.File; -import org.apache.log4j.Logger; +import se.sics.cooja.GUI; import se.sics.cooja.MoteInterface; -import se.sics.cooja.MoteType; import se.sics.cooja.Simulation; import se.sics.cooja.dialogs.AbstractCompileDialog; -public class ESBCompileDialog extends AbstractCompileDialog { - private static Logger logger = Logger.getLogger(ESBCompileDialog.class); +public class MspCompileDialog extends AbstractCompileDialog { + private String target; public static boolean showDialog( Container parent, Simulation simulation, - MoteType moteType) { + MspMoteType moteType, + String target) { - final AbstractCompileDialog dialog = new ESBCompileDialog(parent, simulation, moteType); + final AbstractCompileDialog dialog = new MspCompileDialog(parent, simulation, moteType, target); /* Show dialog and wait for user */ dialog.setVisible(true); /* BLOCKS */ @@ -59,23 +60,23 @@ public class ESBCompileDialog extends AbstractCompileDialog { return true; } - private ESBCompileDialog(Container parent, Simulation simulation, MoteType moteType) { + private MspCompileDialog(Container parent, Simulation simulation, MspMoteType moteType, String target) { super(parent, simulation, moteType); + + this.target = target; - /* Add all available ESB mote interfaces - * Selected by default unless interfaces already configured */ + /* Select all mote interfaces */ boolean selected = true; if (moteIntfBox.getComponentCount() > 0) { selected = false; } - - for (Class intfClass: ((ESBMoteType)moteType).getAllMoteInterfaceClasses()) { + for (Class intfClass: moteType.getAllMoteInterfaceClasses()) { addMoteInterface(intfClass, selected); } } public boolean canLoadFirmware(File file) { - if (file.getName().endsWith(".esb")) { + if (file.getName().endsWith("." + target)) { return true; } return false; @@ -84,12 +85,12 @@ public class ESBCompileDialog extends AbstractCompileDialog { public String getDefaultCompileCommands(File source) { /* TODO Split into String[] */ return - /*"make clean TARGET=esb\n" + */ - "make " + getExpectedFirmwareFile(source).getName() + " TARGET=esb"; + GUI.getExternalToolsSetting("PATH_MAKE") + " " + + getExpectedFirmwareFile(source).getName() + " TARGET=" + target; } public File getExpectedFirmwareFile(File source) { - return ((ESBMoteType)moteType).getExpectedFirmwareFile(source); + return ((MspMoteType)moteType).getExpectedFirmwareFile(source); } public void writeSettingsToMoteType() { diff --git a/tools/cooja/apps/mspsim/src/se/sics/cooja/mspmote/SkyCompileDialog.java b/tools/cooja/apps/mspsim/src/se/sics/cooja/mspmote/SkyCompileDialog.java deleted file mode 100644 index ed7c15b24..000000000 --- a/tools/cooja/apps/mspsim/src/se/sics/cooja/mspmote/SkyCompileDialog.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright (c) 2009, Swedish Institute of Computer Science. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the Institute nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id: SkyCompileDialog.java,v 1.5 2009/09/17 10:50:11 fros4943 Exp $ - */ - -package se.sics.cooja.mspmote; - -import java.awt.Container; -import java.io.File; - -import org.apache.log4j.Logger; - -import se.sics.cooja.GUI; -import se.sics.cooja.MoteInterface; -import se.sics.cooja.MoteType; -import se.sics.cooja.Simulation; -import se.sics.cooja.dialogs.AbstractCompileDialog; -import se.sics.mspsim.util.ELF; - -public class SkyCompileDialog extends AbstractCompileDialog { - private static Logger logger = Logger.getLogger(SkyCompileDialog.class); - - public static boolean showDialog( - Container parent, - Simulation simulation, - MoteType moteType) { - - final AbstractCompileDialog dialog = new SkyCompileDialog(parent, simulation, moteType); - - /* Show dialog and wait for user */ - dialog.setVisible(true); /* BLOCKS */ - if (!dialog.createdOK()) { - return false; - } - - /* Assume that if a firmware exists, compilation was ok */ - return true; - } - - private SkyCompileDialog(Container parent, Simulation simulation, MoteType moteType) { - super(parent, simulation, moteType); - - /* Add all available Sky mote interfaces - * Selected by default unless interfaces already configured */ - boolean selected = true; - if (moteIntfBox.getComponentCount() > 0) { - selected = false; - } - - for (Class intfClass: ((SkyMoteType)moteType).getAllMoteInterfaceClasses()) { - addMoteInterface(intfClass, selected); - } - } - - public boolean canLoadFirmware(File file) { - if (file.getName().endsWith(".sky")) { - return true; - } - if (ELF.isELF(file)) { - return true; - } - return false; - } - - public String getDefaultCompileCommands(File source) { - /* TODO Split into String[] */ - return - /*"make clean TARGET=sky\n" + */ - GUI.getExternalToolsSetting("PATH_MAKE") + " " + getExpectedFirmwareFile(source).getName() + " TARGET=sky"; - } - - public File getExpectedFirmwareFile(File source) { - return ((SkyMoteType)moteType).getExpectedFirmwareFile(source); - } - - public void writeSettingsToMoteType() { - /* Nothing to do */ - } -} diff --git a/tools/cooja/apps/mspsim/src/se/sics/cooja/mspmote/SkyMoteType.java b/tools/cooja/apps/mspsim/src/se/sics/cooja/mspmote/SkyMoteType.java index 022b25b2d..571b59ad4 100644 --- a/tools/cooja/apps/mspsim/src/se/sics/cooja/mspmote/SkyMoteType.java +++ b/tools/cooja/apps/mspsim/src/se/sics/cooja/mspmote/SkyMoteType.java @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: SkyMoteType.java,v 1.11 2009/09/17 10:50:11 fros4943 Exp $ + * $Id: SkyMoteType.java,v 1.12 2009/12/02 16:27:59 fros4943 Exp $ */ package se.sics.cooja.mspmote; @@ -126,7 +126,7 @@ public class SkyMoteType extends MspMoteType { setDescription("Sky Mote Type #" + getIdentifier()); } - return SkyCompileDialog.showDialog(parentContainer, simulation, this); + return MspCompileDialog.showDialog(parentContainer, simulation, this, "sky"); } /* Not visualized: Compile Contiki immediately */