saving random seed with simconfig

This commit is contained in:
fros4943 2007-07-04 16:13:17 +00:00
parent b09e7f8641
commit b13e9dde90

View file

@ -24,7 +24,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* *
* $Id: Simulation.java,v 1.14 2007/07/04 07:44:13 fros4943 Exp $ * $Id: Simulation.java,v 1.15 2007/07/04 16:13:17 fros4943 Exp $
*/ */
package se.sics.cooja; package se.sics.cooja;
@ -304,6 +304,11 @@ public class Simulation extends Observable implements Runnable {
element.setText(Integer.toString(tickTime)); element.setText(Integer.toString(tickTime));
config.add(element); config.add(element);
// Random seed
element = new Element("randomseed");
element.setText(Long.toString(randomSeed));
config.add(element);
// Radio Medium // Radio Medium
element = new Element("radiomedium"); element = new Element("radiomedium");
element.setText(currentRadioMedium.getClass().getName()); element.setText(currentRadioMedium.getClass().getName());
@ -372,6 +377,12 @@ public class Simulation extends Observable implements Runnable {
tickTime = Integer.parseInt(element.getText()); tickTime = Integer.parseInt(element.getText());
} }
// Random seed
if (element.getName().equals("randomseed")) {
randomSeed = Long.parseLong(element.getText());
delayMotesRandom.setSeed(randomSeed);
}
// Radio medium // Radio medium
if (element.getName().equals("radiomedium")) { if (element.getName().equals("radiomedium")) {
String radioMediumClassName = element.getText().trim(); String radioMediumClassName = element.getText().trim();
@ -492,7 +503,6 @@ public class Simulation extends Observable implements Runnable {
} else } else
motes.add(mote); motes.add(mote);
tickListRandom.setSeed(randomSeed);
if (maxDelayedStartupTime > 0 && mote instanceof ContikiMote) { if (maxDelayedStartupTime > 0 && mote instanceof ContikiMote) {
((ContikiClock) mote.getInterfaces().getClock()).setDrift(-delayMotesRandom.nextInt(maxDelayedStartupTime)); ((ContikiClock) mote.getInterfaces().getClock()).setDrift(-delayMotesRandom.nextInt(maxDelayedStartupTime));
} }