...
#!/usr/bin/python3
from flask import Flask, render_template
import Adafruit_BBIO.GPIO as GPIO
import Adafruit_BBIO.PWM as PWM
from time import sleep
class Motor:
def __init__(self, dir_pin, pwm_pin, pwm_freq):
self.dir_pin = dir_pin
self.pwm_pin = pwm_pin
self.value = 0
PWM.start(pwm_pin, 0, pwm_freq)
GPIO.setup(dir_pin, GPIO.OUT)
def set(self, value):
if value == self.value:
return
assert -100 <= value <= 100
if (value < 0) != (self.value < 0):
# changing direction
PWM.set_duty_cycle(self.pwm_pin, 0)
GPIO.output(self.dir_pin, value < 0)
PWM.set_duty_cycle(self.pwm_pin, abs(value))
self.value = value
motor1 = Motor(dir_pin="P8_18", pwm_pin="P9_16", pwm_freq=1000)
motor2 = Motor(dir_pin="P8_16", pwm_pin="P9_14", pwm_freq=1000)
motor3 = Motor(dir_pin="P8_14", pwm_pin="P8_13", pwm_freq=1000)
motor4 = Motor(dir_pin="P8_26", pwm_pin="P8_19", pwm_freq=1000)
def set_motorOne(v1):
motor1.set(v1)
def set_motorTwo(v2):
motor2.set(v2)
def set_motorThree(v3):
motor3.set(v3)
def set_motorFour(v4):
motor4.set(v4)
app = Flask(__name__)
@app.route("/")
def homepage(title="homepage"):
return render_template("BootGoOne.html", title=title)
def add_motors_routeOne(state, v1):
@app.route("/" + state, endpoint=state)
def handlerOne():
set_motorOne(v1)
if add_motors_routeOne == 0:
PWM.stop("P9_16")
else:
pass
return homepage(title=state)
add_motors_routeOne("0", 0)
add_motors_routeOne('40', 40)
add_motors_routeOne('50', 50)
add_motors_routeOne('60', 60)
add_motors_routeOne('70', 70)
add_motors_routeOne('80', 80)
add_motors_routeOne('90', 90)
add_motors_routeOne('100', 100)
Traceback (most recent call last):
File "Moto/motocape/MotorCapeOne/MotorCapeTwo.py", line 92, in <module>
add_motors_routeTwo("0", 0)
File "Moto/motocape/MotorCapeOne/MotorCapeTwo.py", line 83, in add_motors_routeTwo
@app.route("/" + state, endpoint=state)
File "/usr/lib/python3/dist-packages/flask/app.py", line 1250, in decorator
self.add_url_rule(rule, endpoint, f, **options)
File "/usr/lib/python3/dist-packages/flask/app.py", line 66, in wrapper_func
return f(self, *args, **kwargs)
File "/usr/lib/python3/dist-packages/flask/app.py", line 1221, in add_url_rule
'existing endpoint function: %s' % endpoint)
AssertionError: View function mapping is overwriting an existing endpoint function: 0
Above is where you can find my error with the current config. of the python3 source from above.