''' Created on Dec 23, 2016 @author: klaehn ''' import sys import time from datetime import datetime as dt from data_buffer import DataBuffer from gate.gate_handler import GateHandler from power_sensor import PowerSensor POWER_SENSOR_I2C_BUS = 1 POWER_SENSOR_I2C_ADDRESS = 0x40 CONSECUTIVE_POWER_READS = 1000 MAX_ENGINE_POWER = {"up":330, "down":290} def main(argv): gate_handler = GateHandler() power_sensor = PowerSensor(POWER_SENSOR_I2C_BUS, POWER_SENSOR_I2C_ADDRESS) power_data = DataBuffer(CONSECUTIVE_POWER_READS) gate_handler.open() try: while True: rd = power_sensor.power_mw() power_data.push(rd) average = power_data.average() print str(time.time()) + " " + str(rd) if average != None: if average > MAX_ENGINE_POWER["up"]: gate_handler.stop() # print "Gate successfully opened" return 0 except KeyboardInterrupt: gate_handler.stop() print "Closing procedure interrupted." return 1 if __name__ == "__main__": sys.exit(main(sys.argv[1:]))