kuukar-rpi/app.py

57 lines
1.6 KiB
Python
Raw Normal View History

2022-10-28 08:13:25 +00:00
from telemetrix_rpi_pico import telemetrix_rpi_pico
2022-10-30 06:29:32 +00:00
import kuukar.kuukar_leds as kuukar_leds
import kuukar.kuukar_collision as kuukar_collision
import kuukar.kuukar_motion as kuukar_motion
import kuukar.kuukar_lcd as kuukar_lcd
import kuukar.kuukar_sensors as kuukar_sensors
import kuukar.kuukar_environment as kuukar_environment
2022-10-28 08:13:25 +00:00
from flask import Flask, request
2022-10-30 06:29:32 +00:00
from kuukar.kuukar_config import SERIAL_AUX_BOARD, SERIAL_DRIVER_BOARD
2022-10-28 08:13:25 +00:00
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()