#!/usr/bin/env python

import sys, os, serial, time
from serial_xmdm_dload import serial_xmdm_dload
from time import strftime, strptime
import re, getopt

f = open('/root/databuoy/scripts/buoy_parameters.txt','r')
i = 0
for line in f.read().split('\n'):
   if i == 0:
      id = line
   if i == 1:
      SERIALPORT = line
   i = i + 1
f.close()

if __name__ == '__main__':
        
   try:
      serial_dev = serial.Serial(port=SERIALPORT, baudrate=57600, timeout=1, rtscts=0, xonxoff=0, bytesize=8, parity='N', stopbits=1)
   except:
      sys.stderr.write("Failed to open serial device")
      sys.exit(1)
   
   # General arrays and parameters
   # error checking (CRC)
   err_check_flag = 1 
   # output directory
   outdir = "/root/databuoy/incoming/"
   latest_fname = sys.argv[1] 

   # filename to download
   #latest_fname = "%s" %(time.strftime("%Y%j.RAW", time.localtime()))
   print latest_fname
   
   serial_dev.write('\n\r\n\r')
   time.sleep(5)

   # choice here that either in autorun - or c:\> prompt
   # in autorun need to exit
   sys.stdout.write('\n'+serial_dev.read(size=5000))
   serial_dev.write('y\n\r')
   time.sleep(5)
   sys.stdout.write('\n'+serial_dev.read(size=5000))

   serial_dev.write('dir\n\r')
   time.sleep(5)
   sys.stdout.write('\n'+serial_dev.read(size=5000))
   #serial_dev.write('\n\r')
   command = "xs /Q %s \n\r" %(latest_fname)
   serial_dev.write(command)
   time.sleep(5)
   sys.stdout.write('\n'+serial_dev.read(size=500))
 
   print "[[0;32m-----------Starting download-----------[0m]"
   serial_xmdm_dload(serial_dev, outdir+latest_fname, err_check_flag)
   print "[[0;32m-----------Download complete-----------[0m]"

   serial_dev.close()

   sys.exit(0)
   
