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.