Создание серийного объекта с помощью колбы

Я пытаюсь взаимодействовать с последовательным устройством, которое получает данные от сервера фляги. Я хочу иметь возможность отправлять последовательный порт через REST, который я хочу использовать, а затем создать последовательный объект, к которому я могу получить доступ к функциям других конечных точек REST. В настоящее время у меня это работает, но я использую глобальную переменную и хотел знать, может ли быть более элегантный способ сделать это. Вот код:

from pump import Pump
from flask import Flask

app = Flask(__name__)

piston = 0
def create_pump(num):
    print(num)
    return Pump(num)

@app.route("/")
def hello():
    return "Hello World!"

@app.route("/create/<port>")
def create_port(port):
    global piston
    piston = create_pump(port)
    return "created"

@app.route("/setup")
def pump_setup():
    print("setup")
    global piston
    piston.setupPump()
    return "Setup"

@app.route("/home")
def pump_home():
    print("home")
    global piston
    piston.homePiston()
    return "Homed"

@app.route("/dispense/<int:dispense>/<int:tpi>")
def pump_dispense(dispense, tpi):
    print(dispense, tpi)
    global piston
    piston.dispensePercent(dispense, tpi)
    return "Dispensed"

@app.route("/aspirate/<int:aspirate>/<int:tpi>")
def pump_aspirate(aspirate, tpi):
    print(aspirate, tpi)
    global piston
    piston.aspiratePercent(aspirate, tpi)
    return "Aspirated"

@app.route("/prime/<int:tpi>")
def pump_prime(tpi):
    print(tpi)
    global piston
    piston.primePiston(tpi)
    print("Priming")

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=80, debug=True)

Любая помощь или советы в целом, чтобы попытаться сделать это, будет принята с благодарностью.

0 ответов

Другие вопросы по тегам