Hello,

Do not worry about it. I made some random class function and the whole set 
up is in working order (remedial anyhow)...

Seth

P.S. BBBW still in the working ranks!

On Tuesday, February 2, 2021 at 7:32:08 AM UTC-6 evilw...@gmail.com wrote:

> On 2/2/2021 6:20 AM, set_ wrote:
>
> Hello, 
>
> I have just come across some issues:
>
>
>    - What once worked does not work any longer 
>
> What did you do between it working and it not working ?
>
>
>
>    - The source has changed a bit but I am receiving an error before the 
>    changes 
>    - I have some Python3 source and a server via Flask and HTML 
>
> I am giving this source below to better make you understand what is 
> happening on my end of the spectrum. Oh and...for some reason, the source 
> only allows for non-like numerical values.
>
> uname -a >>> Linux beaglebone 4.19.94-ti-r58
> cat /etc/dogtag >>> BeagleBoard.org Debian Buster IoT Image 2020-04-06
> ...
>
> For the uboot_overlay, here is the command to look it over w/ my overlay:
>
> cat /boot/uEnv.txt >>> ###Overide capes with eeprom
> uboot_overlay_addr0=/lib/firmware/BBORG_MOTOR-00A2.dtbo
>
> oh and the source:
>
>     #!/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)
>
> Okay...so:
>
>
>    - When I add another 'add_motors_routeOne' as a separate call under 
>    another motor, I get some odd behavior. 
>       - For instance, 'add_motors_routeTwo', would begin to make issues 
>       with calling 'add_motors_routeTwo("0", 0) at the value 0.  
>    
> Anyway...the issue is that it begins to be a sysfs issue or an assertion 
> error on my part.
>
>     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.
>
> Seth
>
> -- 
> For more options, visit http://beagleboard.org/discuss
> --- 
> You received this message because you are subscribed to the Google Groups 
> "BeagleBoard" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to beagleboard...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/beagleboard/df02989e-74bf-4678-8300-2c7d968b0c3an%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/beagleboard/df02989e-74bf-4678-8300-2c7d968b0c3an%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
>
>

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/7d50c8d5-e8b4-41db-9455-903d43d3909an%40googlegroups.com.

Reply via email to