Hello,

Are you using BBB_IO or Adafruit_BBIO? 

Either way, here is a start w/ Adafruit_BBIO:

*import serial *
*import Adafruit_BBIO.UART as UART *
*from time import sleep*
 

*UART.setup("UART2") *
*ser=serial.Serial("/dev/ttyS2", 9600) *

*class GPS: *
*    def __init__(self)*

and then...

If you want to add a button, just use a GPIO from Adafruit_BBIO again. So, 
that example will look like this:

*import Adafruit_BBIO.GPIO as GPIO*
*from time import sleep*

*pinOne = 'P8_11'*
*GPIO.setup(pinOne, GPIO.IN)*

*while True:*
*    if GPIO.input(pinOne):*
*        print("The Button Shall get pressed Again or whatever...")*
*    sleep(2)*

That is a simplistic approach. I got that source from an older book: 
"Getting Started with BeagleBone (Richardson 2013)."

There are some neat examples in that book but nothing too complicated. It 
would be a refresher to see what was then and what has changed.

Anyway, I hope that works for you. That button function should just work. 
You can always do better and make it on an edge. Falling, Rising, or Both 
w/ that same lib.

Seth



On Monday, March 1, 2021 at 7:14:01 PM UTC-6 set_ wrote:

> Hello,
>
> I am receiving errors w/ the .dtbo only. I am too far from outside to 
> communicate w/ my GPS and I am receiving no feedback w/ pyserial on my BBG 
> (BeagleBone Green). I tried installing a serial lib. w/ sudo apt install 
> python3-serial, also.
>
> I just downloaded/installed the docs in .epub/html format on my hard 
> drive. I am thinking it may or may not be Adafruit_BBIO. I am also thinking 
> that it may be or may not be pyserial. The intallation w/ apt was faulty 
> from the get-go.
>
> I can use config-pin p9.21 uart && config-pin p9.22 uart and have that 
> command turn successful.
>
> ...
>
> It may be a faulty effort in an update from pyserial but I am not sure 
> yet. If this means anything, please let me know:
>
>     ^CTraceback (most recent call last):
>       File "./FirstGPS.py", line 87, in <module>
>         myGPS.read()
>       File "./FirstGPS.py", line 47, in read
>         while ser.inWaiting() == 0:
>       File 
> "/home/debian/.local/lib/python3.7/site-packages/serial/serialutil.py", 
> line 593, in inWaiting
>         def inWaiting(self):
>     KeyboardInterrupt
>
> The above error is only when I make no call to config-pin w/out a .dtbo 
> loaded. Also, pyserial is listed...
>
> Now...this source below is after making a config-pin call to P9.21/22 and 
> trying to exit my program:
>
>         ^CTraceback (most recent call last):
>       File "./FirstGPS.py", line 87, in <module>
>         myGPS.read()
>       File "./FirstGPS.py", line 47, in read
>         while ser.inWaiting() == 0:
>       File 
> "/home/debian/.local/lib/python3.7/site-packages/serial/serialutil.py", 
> line 594, in inWaiting
>         return self.in_waiting
>       File 
> "/home/debian/.local/lib/python3.7/site-packages/serial/serialposix.py", 
> line 549, in in_waiting
>         s = fcntl.ioctl(self.fd, TIOCINQ, TIOCM_zero_str)
>     KeyboardInterrupt
>
> Both...are screaming to me about pyserial and those specific locations. I 
> add print statements and receive nothing back. So, I think my source, which 
> is an update from Python2 (from utf-8 to bytes) to Python3, is faulty.
>
> I can show you in case you are wondering. I am just updating some source I 
> found a while back.
>
> Seth
>
>
> On Monday, March 1, 2021 at 6:47:56 PM UTC-6 donp...@gmail.com wrote:
>
>> You prompted me to recheck how I'm accessing the two peripherals I did 
>> get to install, the UART and the I2C. I'm only sending messages out over 
>> the UART using pyserial, although I do also use minicom to bi-directionally 
>> communicate with the board under test from the BBB Ubuntu command line. For 
>> the I2C I'm using the Adafruit char LCD library, which relies on busio from 
>> Circuit Python. Still an Adafruit product, but not technically the BBB_IO 
>> library, I guess.
>>
>> If anyone can give tips on how to do a button-based interrupt (abort) 
>> without BBB_IO, I'm all ears. I guess I could just start programming the 
>> BBB in C. I already program embedded microcontrollers in that language, so 
>> why not SBC?
>>
>>
>> --
>> Don Pancoe, P.E.
>> Industrial Designer, Electrical Engineer
>> DonPancoe.com <http://donpancoe.com/>
>>
>> On Mon, Mar 1, 2021 at 4:27 PM set_ <fun...@gmail.com> wrote:
>>
>>> Hello,
>>>
>>> I literally am havin' the same issue as you right now w/ a GPS module 
>>> working w/ BB-UART2-00A0.dtbo and a grove connector. This is my error:
>>>
>>> *py_setup_uart(UART2): set_pin_mode() failed for pin=P9_22Traceback 
>>> (most recent call last):*
>>> *  File "FirstGPS.py", line 5, in <module>*
>>> *    UART.setup("UART2")*
>>> *ValueError: Set pin mode failed for uart channel.*
>>>
>>> I think things are changing at some point in some way at some level. 
>>> Vague...yes. I can set up my source w/out the .dtbo and use config-pin to 
>>> set my uart2 pins to have my source 'work.'
>>>
>>> Anyway, I will be following along to see how far you get b/c right now, 
>>> I am a  little stumped as to why what has worked no longer is viable.
>>>
>>> Seth
>>>
>>> On Monday, March 1, 2021 at 12:27:01 PM UTC-6 donp...@gmail.com wrote:
>>>
>>>> Hello all,
>>>>
>>>> I have a BBB Python application (PCBA test fixture) where I am using 
>>>> libpruio, specifically for access to the eCAP pins. Libpruio requires that 
>>>> the universal cape be disabled, but when I needed a UART and I2C, I was 
>>>> able to add those back in using the existing dtbo files from /lib/firmware 
>>>> (shown below) in my uEnv.txt.
>>>>
>>>> uboot_overlay_addr0=/lib/firmware/BB-I2C1-00A0.dtbo
>>>> uboot_overlay_addr1=/lib/firmware/BB-UART4-00A0.dtbo
>>>> uboot_overlay_addr2=/lib/firmware/DP-GPIO-PCBATest-00A0.dtbo (I talk 
>>>> about this below)
>>>>
>>>>
>>>> Now I want to add an "abort" button to the test fixture since the 
>>>> technicians have reported it takes a lot of time to reset if the board 
>>>> under test locks up. I expect that wiring a pushbutton to a GPIO with an 
>>>> interrupt is the way to handle this, and I've been thinking that there are 
>>>> two ways to get there.
>>>>
>>>>    1. Include another dtbo file to add a single GPIO that I can then 
>>>>    access with Adafruit_BBIO (this is where my efforts have focused so 
>>>> far), or
>>>>    2. Figure out how to work with the hardware-based IRQ of the PRU  
>>>>    with libpruio (which I've been avoiding because it looks even more 
>>>> scary)
>>>>
>>>> I've tried to make a custom dtbo by following an example from Derek 
>>>> Molloy (github.com/derekmolloy/boneDeviceTree) and while it compiled 
>>>> and booted OK, I still get the following error when I run a simple test 
>>>> program. The same error as when I tried running the program before I 
>>>> created the dtbo.
>>>>
>>>> kapsul@beaglebone:~/pyDev$ sudo python3 abortTest.py
>>>> Traceback (most recent call last):
>>>>   File "abortTest.py", line 6, in <module>
>>>>     GPIO.setup("P9_12", GPIO.IN)
>>>> ValueError: Set gpio mode failed, missing file or invalid permissions.
>>>>
>>>>
>>>> Further, when I do the following (with or without the dtbo), I get the 
>>>> following...
>>>>
>>>> kapsul@beaglebone:~/pyDev$ config-pin -q p9.12
>>>> P9_12 pinmux file not found!
>>>> Cannot read pinmux file: 
>>>> /sys/devices/platform/ocp/ocp*P9_12_pinmux/state
>>>>
>>>>
>>>> Any input would be appreciated, whether it is correcting me on path 1 
>>>> or steering me towards path 2. I will happily provide any additional info, 
>>>> but I didn't want to start uploading stuff until I know what, exactly, 
>>>> will 
>>>> be helpful.
>>>>
>>>> Thanks,
>>>> --
>>>> Don Pancoe, P.E.
>>>> Industrial Designer, Electrical Engineer
>>>> DonPancoe.com <http://donpancoe.com/>
>>>>
>>> -- 
>>> 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/58e45b18-f019-49e7-92ce-95015cbc0e63n%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/beagleboard/58e45b18-f019-49e7-92ce-95015cbc0e63n%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/a8940055-487b-4c8c-bb8a-9f0dee1df2d5n%40googlegroups.com.

Reply via email to