OK, thru tracing hardware for now, so let's look at overlays for a second. 
Here is a link to what looks like the cleanest (if not official) code base 
for gpio configuration.

https://github.com/beagleboard/bb.org-overlays

How this code base set up is traditionally, with a "make file". To build 
these, you usually just type "make all" or just "make". This is A correct 
way to distribute this code.

But what I wanted to talk about is universala, more precisely: 
*cape-universala-00A0.dts* Now in researching this issue, you'll come 
across this file over and over again (its like the uEnv file). Here is what 
I'm suggesting you do in figuring out these DTS files (overlay or cape 
manager files) is you download the zip of the above github link and look at 
the files in it manually first. If you go to /src/arm within the ZIP file, 
you will come across all of your available overlays.

Look for cape-universala-00A0.dts and open it in a text editor (I'm doing 
it in Windows so I'm using my EditLite). There is an important reason why 
I'm suggesting this. Look at the contents conceptually first OK? Its easy 
to figure out how the commenting out works (its similar or identical to C's 
commenting out). What you notice is that "universala" is obviously set up 
for using a BBB in the Cloud-9y, stand-alone way (i.e. using a lot of the 
pins for HDMI output and the like).

Now this is NOT how I use my Beagle. I use it like a tiny UN*X host and 
telnet (SSH) into it and I want to use all of my GPIO pins as UARTs, SPI's 
and I2C's (as I'm using it as kind of a controller for a project with a lot 
of sensors and actuators and stuff). So I want to find an overlay that 
satisfies my requirements.

So what I did was I started reading through the overlays available. I 
immediately was attracted to *BB-UART1-00A0.dts *. Now I was "surprised" 
when I manually read this file (I say this for teaching effect) because 
there is only the overlay for activating UART1 in it and it ignores all the 
other pins completely. This is very different from cape-universala-00A0.dts 
in that this file seems to be VERY preoccupied with every pin on the board.

My working theory at this point is that they are...of course...overlays. In 
other words there is some procedure, some approach that allows you to 
overlay a bunch of these files in such a way that it ends up configuring 
the pins exactly how you want. But in typical UNIX tradition the reasoning 
is dense, commenting sparse and the code difficult to sift through.

So that's my working theory right now is I have to determine conceptually 
HOW these overlays are actually overlaid over top each other. (Thoughts? to 
the group...conceptually...in plain english, no code what is the overlay 
process?)


On Thursday, March 9, 2017 at 5:17:59 AM UTC-7, woody stanford wrote:
>
> OK, I want to get to the bottom of this whole GPIO issue on the BBB, so 
> I'm opening up this thread as a "documenter" whereby which I can take notes 
> based on my research into how you consistently, stably and SOLIDLY 
> programatically access the GPIO pins on a BBB. I've already done a lot of 
> the footwork so I'm not entirely unknowledgeable, but I want to get to the 
> heart of this issue and solve the mental block people have with this. A 
> private hope.
>
> Either way, probably a good mess of processed links, articles and 
> information where you can start.
>

-- 
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/d7ddfd56-e197-4373-987a-b72c416b9ab4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to