kuukar-rpi/app.py

57 lines
1.5 KiB
Python

from telemetrix_rpi_pico import telemetrix_rpi_pico
import kuukar_leds
import kuukar_collision
import kuukar_motion
import kuukar_lcd
import kuukar_sensors
import kuukar_environment
from flask import Flask, request
from kuukar_config import SERIAL_AUX_BOARD, SERIAL_DRIVER_BOARD
app = Flask(__name__)
aux_board = telemetrix_rpi_pico.TelemetrixRpiPico(com_port=SERIAL_AUX_BOARD)
driver_board = telemetrix_rpi_pico.TelemetrixRpiPico(com_port=SERIAL_DRIVER_BOARD)
sensors = kuukar_sensors.sensors(aux_board, driver_board)
leds = kuukar_leds.leds(aux_board=aux_board)
lcd = kuukar_lcd.lcd()
environment = kuukar_environment.environment(lcd, leds, sensors)
collision = kuukar_collision.collision(aux_board, lcd, leds)
motion = kuukar_motion.motion(driver_board=driver_board, leds=leds, sensors=sensors)
@app.route('/drive')
def drive():
speed = int(request.args.get('speed'))
motion.drive(speed)
@app.route("/stop")
def stop():
motion.stop()
@app.route('/turn')
def turn():
speed = int(request.args.get('speed'))
duration = int(request.args.get('duration'))
motion.turn(speed, duration)
@app.route('/set_ambient_leds')
def set_ambient_leds():
r = int(request.args.get('r'))
g = int(request.args.get('g'))
b = int(request.args.get('b'))
leds.set_ambient_led(r, g, b)
@app.route('/set_mode')
def set_mode():
mode = str(request.args.get('mode'))
if mode == "AI":
motion.roam_start()
elif mode == "MANUAL":
motion.roam_stop()