package senscript;
import device.SensorNode;
import wisen_simulation.SimLog;
public class Command_DELAY extends Command {
protected String arg = "";
public Command_DELAY(SensorNode sensor, String arg) {
this.sensor = sensor ;
this.arg = arg;
}
@Override
public double execute() {
//String carg = ""+ ((long)(Long.parseLong(sensor.getScript().getVariableValue(arg)) * sensor.getRadioDataRate() / 1000.)) ;
double carg = Double.parseDouble(sensor.getScript().getVariableValue(arg));
//SimLog.add("S" + sensor.getId() + " starts delaying for " + (Integer.valueOf(carg)/sensor.getRadioDataRate()*1000.) + " milliseconds");
SimLog.add("S" + sensor.getId() + " starts delaying for " + carg + " milliseconds");
return (carg/1000.) * sensor.getDriftTime() ;
}
public boolean isDelay() {
return true;
}
@Override
public String getArduinoForm() {
return "\tdelay("+Integer.valueOf(arg)+");";
}
@Override
public String toString() {
return "DELAY";
}
@Override
public String finishMessage() {
return ("S" + sensor.getId() + " has finished the delay.");
}
}