diff --git a/src/close.py b/src/close.py new file mode 100644 index 0000000..0f19fdc --- /dev/null +++ b/src/close.py @@ -0,0 +1,41 @@ +''' +Created on Dec 23, 2016 + +@author: klaehn +''' +import sys + +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.close() + try: + while True: + power_data.push(power_sensor.power_mw()) + average = power_data.average() + print "average power: " + str(average) + " mW" + if average != None: + if average > MAX_ENGINE_POWER["down"]: + gate_handler.stop() + print "Gate successfully closed" + return 0 + + except KeyboardInterrupt: + print "Closing procedure interrupted." + return 1 + + +if __name__ == "__main__": + sys.exit(main(sys.argv[1:])) diff --git a/src/open.py b/src/open.py new file mode 100644 index 0000000..a9687e3 --- /dev/null +++ b/src/open.py @@ -0,0 +1,41 @@ +''' +Created on Dec 23, 2016 + +@author: klaehn +''' +import sys + +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: + power_data.push(power_sensor.power_mw()) + average = power_data.average() + print "average power: " + str(average) + " mW" + if average != None: + if average > MAX_ENGINE_POWER["up"]: + gate_handler.stop() + print "Gate successfully opened" + return 0 + + except KeyboardInterrupt: + print "Closing procedure interrupted." + return 1 + + +if __name__ == "__main__": + sys.exit(main(sys.argv[1:]))