import serial
import sys
import time
import os
# Copyright 2013 Monterey Bay Aquarium Research Institute, all rights reserved.
# Log signal strength from MultiTech modem at specified interval, specified
# number of times

### print "# args: " + str(len(sys.argv))
if len(sys.argv) < 5:
	print "usage: serial-dev baud logIntervalSec maxLoops"
        print "Specify maxLoops of 0 for infinite loop"
	exit()

serialPort = serial.Serial(port=sys.argv[1], baudrate=sys.argv[2], timeout=1)
logIntervalSec = float(sys.argv[3])
maxLoops = int(sys.argv[4])

def sendCmd(cmd):
	serialPort.write('at' + cmd + '\r')
	# Read the echoed command
        serialPort.readline()
	## sys.stdout.write(serialPort.readline())

def logSignal():
	###	print "get signal strength:"
	sendCmd("+csq")
	sys.stdout.write(str(time.time()) + " " + serialPort.readline())
	serialPort.readline()
	serialPort.readline()

print "# epochSec  rssi, fer"
loop = 0
while True:
	logSignal()
	loop = loop + 1
	if maxLoops > 0 and loop >= maxLoops:
		break

	time.sleep(logIntervalSec)


serialPort.close()
print "Done."

