import sys
from TOSSIM import *
from RadioCountMsg import *

t = Tossim([])
t.addChannel("Receive", sys.stdout);
t.addChannel("Send", sys.stdout);

# create nodes
for i in range(1, 4):
  m = t.getNode(i);
  m.bootAtTime((t.ticksPerSecond() / 10) * i + 1);
  
# prepare radio topology
f = open("topo.txt", "r")
lines = f.readlines()
for line in lines:
  s = line.split()
  if (len(s) > 0):
    if (s[0] == "gain"):
      r.add(int(s[1]), int(s[2]), float(s[3]))

noise = open("meyer-heavy.txt", "r")
lines = noise.readlines()
for line in lines:
  str = line.strip()
  if (str != ""):
    val = int(str)
    for i in range(0, 2):
      t.getNode(i).addNoiseTraceReading(val)
      
for i in range(1, 4):
    t.getNode(i).createNoiseModel()

# running
for i in range(0, 60):
  t.runNextEvent();

# serial message
msg = RadioCountMsg()
msg.set_counter(5)
pkt = t.newSerialPacket()
pkt.setData(msg.data)
pkt.setType(msg.get_amType())
pkt.setDestination(2)
pkt.deliverNow(1)

for i in range(0, 3):
   pkt.deliverNow(1)

for i in range(0, 1000):
  t.runNextEvent();



