import serial
from time import sleep
def deviceSend(device, cmd):
        try:
	  print cmd
          device.write(cmd + "\r\n")
          line = device.readline()
          if line is not None and len(line) > 0: 
            r = line.decode('utf-8').strip()
            print "> " +r        
            return r
        except Exception as e:
	  pass
        return ""
if __name__ == "__main__":
  port = serial.Serial(port="COM20", baudrate=57600, timeout=5)
  deviceSend(port, "sys reset")
  sleep(2)
  deviceSend(port, "mac pause")
  deviceSend(port, "radio set freq 868000000")
  
  deviceSend(port, "radio set pwr -3")
  deviceSend(port, "radio set mod lora")
  
  deviceSend(port, "radio set sf sf7")
  
  deviceSend(port, "radio set bw 125")
  
  deviceSend(port, "radio set wdt 5000")
  print "Start listening"
  try:
     while True:
       ans = deviceSend(port, "radio rx 0")
       if ans == "ok":
         r = port.readline().strip()
         if r != "err" and len(r) > 0:
           print "> " + r
	 
         sleep(0.1)
  except KeyboardInterrupt:
     pass
  deviceSend(port, "mac resume")