#!/usr/bin/python#uncomment for debbug purposes#import logging#logging.basicConfig(level=logging.DEBUG)import timeimport datetimeimport sysfrom pymlab import config#### Script Arguments ###############################################if len(sys.argv) != 3:sys.stderr.write("Invalid number of arguments.\n")sys.stderr.write("Usage: %s PORT_ADDRESS LOG_FILE.csv\n" % (sys.argv[0], ))sys.exit(1)port = eval(sys.argv[1])log_file = sys.argv[2]#### Sensor Configuration ###########################################cfg = config.Config(i2c = {"port": port,},bus = [{"name": "current_sensor1","type": "vcai2c01","address": 0x68,},{"name": "current_sensor2","type": "vcai2c01","address": 0x6a,},],)cfg.initialize()print "Current loop sensor example \r\n"print "Time, channel #1, channel #2, channel #3 , channel #4 \r\n"sensor1 = cfg.get_device("current_sensor1")time.sleep(0.5)#### Data Logging ###################################################try:with open(log_file, "a") as f:while True:sensor1.setADC(channel = 1, gain = 2, sample_rate = 3.75);time.sleep(0.5)channel1 = sensor1.readCurrent();sensor1.setADC(channel = 2, gain = 1, sample_rate = 15);time.sleep(0.5)channel2 = sensor1.readCurrent();sensor1.setADC(channel = 3, gain = 1, sample_rate = 15);time.sleep(0.5)channel3 = sensor1.readCurrent();sensor1.setADC(channel = 4, gain = 1, sample_rate = 15);time.sleep(0.5)channel4 = sensor1.readCurrent();sys.stdout.write("%s \t %0.3f \t %0.3f \t %0.3f \t %0.3f \n" % (datetime.datetime.now().isoformat(), channel1, channel2, channel3, channel4))f.write("%d\t%d\t%d\t%d\t%d\n" % (time.time(), channel1, channel2, channel3, channel4))f.flush()sys.stdout.flush()except KeyboardInterrupt:f.close()sys.exit(0)