From 82d30ef2e3de333e2fd081be11da379cc808a109 Mon Sep 17 00:00:00 2001 From: Enrico Joerns Date: Fri, 31 Oct 2014 00:39:43 +0100 Subject: [PATCH] SkyButton: Reduce dependency on SkyMote Placed call to setButton() in implementation-specific functions doPressButton() and doReleaseButton() as in ContikiButton. --- .../cooja/mspmote/interfaces/SkyButton.java | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/tools/cooja/apps/mspsim/src/org/contikios/cooja/mspmote/interfaces/SkyButton.java b/tools/cooja/apps/mspsim/src/org/contikios/cooja/mspmote/interfaces/SkyButton.java index 04cd767b5..5dd5dedb1 100644 --- a/tools/cooja/apps/mspsim/src/org/contikios/cooja/mspmote/interfaces/SkyButton.java +++ b/tools/cooja/apps/mspsim/src/org/contikios/cooja/mspmote/interfaces/SkyButton.java @@ -31,17 +31,14 @@ package org.contikios.cooja.mspmote.interfaces; import java.util.Collection; - - import org.apache.log4j.Logger; -import org.jdom.Element; - import org.contikios.cooja.ClassDescription; import org.contikios.cooja.Mote; +import org.contikios.cooja.MoteTimeEvent; import org.contikios.cooja.Simulation; import org.contikios.cooja.interfaces.Button; -import org.contikios.cooja.mspmote.MspMoteTimeEvent; import org.contikios.cooja.mspmote.SkyMote; +import org.jdom.Element; @ClassDescription("Button") public class SkyButton extends Button { @@ -50,21 +47,21 @@ public class SkyButton extends Button { private SkyMote skyMote; private Simulation sim; - private MspMoteTimeEvent pressButtonEvent; - private MspMoteTimeEvent releaseButtonEvent; + private MoteTimeEvent pressButtonEvent; + private MoteTimeEvent releaseButtonEvent; public SkyButton(Mote mote) { skyMote = (SkyMote) mote; sim = mote.getSimulation(); - pressButtonEvent = new MspMoteTimeEvent((SkyMote)mote, 0) { + pressButtonEvent = new MoteTimeEvent(mote, 0) { public void execute(long t) { - skyMote.skyNode.setButton(true); + doPressButton(); } }; - releaseButtonEvent = new MspMoteTimeEvent((SkyMote)mote, 0) { + releaseButtonEvent = new MoteTimeEvent(mote, 0) { public void execute(long t) { - skyMote.skyNode.setButton(false); + doReleaseButton(); } }; } @@ -86,6 +83,10 @@ public class SkyButton extends Button { }); } + public void doPressButton() { + skyMote.skyNode.setButton(true); + } + public void releaseButton() { sim.invokeSimulationThread(new Runnable() { public void run() { @@ -94,6 +95,10 @@ public class SkyButton extends Button { }); } + public void doReleaseButton() { + skyMote.skyNode.setButton(false); + } + public boolean isPressed() { /* Not implemented */ return false;