package senscript; import device.SensorNode; import radio_module.RadioStandard; import radio_module.XBeeFrameGenerator; import wisen_simulation.SimLog; public class Command_ATGET extends Command { protected String arg1 = "" ; protected String arg2 = "" ; public Command_ATGET(SensorNode sensor, String arg1, String arg2) { this.sensor = sensor ; this.arg1 = arg1 ; this.arg2 = arg2 ; } @Override public double execute() { String v = "" ; if(arg1.equals("id")) { SimLog.add("S" + sensor.getId() + " ATGET ID."); v = ""+sensor.getId(); } if(arg1.equals("ch")) { SimLog.add("S" + sensor.getId() + " ATGET CH."); v = ""+sensor.getCurrentRadioModule().getCh(); } if(arg1.equals("my")) { SimLog.add("S" + sensor.getId() + " ATGET MY."); v = ""+sensor.getCurrentRadioModule().getMy(); } if(arg1.equals("nid")) { SimLog.add("S" + sensor.getId() + " ATGET NID."); v = ""+sensor.getCurrentRadioModule().getNId(); } sensor.getScript().addVariable(arg2, v); //double ratio = (sensor.getRadioDataRate()*1.0)/(sensor.getUartDataRate()); String message = "XX"; //String answer = "XXXX"; //v; We assume that the answer contains 4 bytes String frame = message; if(sensor.getStandard() == RadioStandard.ZIGBEE_802_15_4) frame = XBeeFrameGenerator.at(message); String answer = frame; double ratio = 1.0/sensor.getUartDataRate(); return (ratio*(((answer.length()+frame.length())*8.))); //return (long)(Math.round((answer.length()+message.length())*8.0*ratio)); } @Override public String toString() { return "ATGET"; } }