introduced execute method with duration argument
This commit is contained in:
parent
b3e0a2506f
commit
3786f2f5fb
|
@ -26,7 +26,7 @@
|
|||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $Id: MspMote.java,v 1.40 2010/02/03 16:04:44 fros4943 Exp $
|
||||
* $Id: MspMote.java,v 1.41 2010/02/03 19:08:40 fros4943 Exp $
|
||||
*/
|
||||
|
||||
package se.sics.cooja.mspmote;
|
||||
|
@ -310,7 +310,10 @@ public abstract class MspMote extends AbstractEmulatedMote implements Mote, Watc
|
|||
|
||||
private long lastExecute = -1; /* Last time mote executed */
|
||||
private long nextExecute;
|
||||
public void execute(long t) {
|
||||
public void execute(long time) {
|
||||
execute(time, EXECUTE_DURATION_US);
|
||||
}
|
||||
public void execute(long t, int duration) {
|
||||
/* Wait until mote boots */
|
||||
if (myMoteInterfaceHandler.getClock().getTime() < 0) {
|
||||
scheduleNextWakeup(t - myMoteInterfaceHandler.getClock().getTime());
|
||||
|
@ -336,8 +339,8 @@ public abstract class MspMote extends AbstractEmulatedMote implements Mote, Watc
|
|||
/* TODO Try-catch overhead */
|
||||
try {
|
||||
nextExecute =
|
||||
t + EXECUTE_DURATION_US +
|
||||
myCpu.stepMicros(t - lastExecute, EXECUTE_DURATION_US);
|
||||
t + duration +
|
||||
myCpu.stepMicros(t - lastExecute, duration);
|
||||
lastExecute = t;
|
||||
} catch (EmulationException e) {
|
||||
if (e.getMessage().startsWith("Bad operation")) {
|
||||
|
@ -350,7 +353,7 @@ public abstract class MspMote extends AbstractEmulatedMote implements Mote, Watc
|
|||
}
|
||||
|
||||
/* Schedule wakeup */
|
||||
if (nextExecute <= t) {
|
||||
if (nextExecute < t) {
|
||||
throw new RuntimeException(t + ": MSPSim requested early wakeup: " + nextExecute);
|
||||
}
|
||||
/*logger.debug(t + ": Schedule next wakeup at " + nextExecute);*/
|
||||
|
|
Loading…
Reference in a new issue