From 5fe02f2ae3ca66e160fdff9a6977e8f2629e8a58 Mon Sep 17 00:00:00 2001 From: Thomas Klaehn Date: Fri, 23 Dec 2016 13:06:02 +0100 Subject: [PATCH] scripts for "bypassing" open and close --- src/close.py | 41 +++++++++++++++++++++++++++++++++++++++++ src/open.py | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 src/close.py create mode 100644 src/open.py 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:]))