Re: [beagleboard] Re: GPIO JAVA library for Beaglebone Black

2021-07-01 Thread Robert Heller
If you want to use the UART, then you should config the pins as uart pins and 
use the /dev/ttyS? devices.

At Thu, 1 Jul 2021 06:51:09 -0700 (PDT) [email protected] wrote:

> 
> I would like to trasmit data via UART4_TXD and receive viac UART4_RXD.
> 
> Btw, I try to write to gpio30 and I think I figured out finally how it use. 
> Export -> Set Direction -> Read / Write -> Unexport.
> 
> Dátum: Å¡tvrtok 1. júla 2021, Ä as: 12:51:05 UTC+2, odosielateľ: 
> [email protected]
> 
> > At Wed, 30 Jun 2021 23:25:19 -0700 (PDT) [email protected] wrote:
> >
> > > 
> > > config-pin P9_26 gpio
> > > ERROR: open() for /sys/devices/platform/ocp/ocp:P9_26_pinmux/state 
> > failed, 
> > > No such file or directory
> > > 
> > > 
> > > write "in" to /sys/class/gpio/gpio14/direction (for input) 
> > > write "out" to /sys/class/gpio/gpio14/direction (for output) ... Did you 
> > > mean gpio15 (not gpio14)? gpio15 ... UART1_TXD
> > > 
> > > I will try UART4_RXD (P9_11 - gpio30) and UART4_TXD (P9_13 - gpio31).
> >
> > Why are you speificly going after UART pins? Are you wanting to actually 
> > use 
> > the UARTs?
> >
> > > 
> > > 
> > > Dátum: streda 30. júna 2021, Ä as: 17:21:06 UTC+2, odosielateľ: 
> > > [email protected]
> > > 
> > > > At Wed, 30 Jun 2021 07:03:38 -0700 (PDT) [email protected] 
> > wrote:
> > > >
> > > > > 
> > > > > I tried to use write operation on /sys/class/gpio/gpio14 
> > (gpio15)/value, 
> > > > > but nothing happens (from 
> > > > > 
> > https://github.com/RobertPHeller/JAVALinuxGPIO/blob/main/LinuxGPIO.java 
> > > > )
> > > > > I figured out that PrintStream doesn't throw exceptions so I tried 
> > to 
> > > > use 
> > > > > FileOutputStream.
> > > > > Then I got exception:
> > > > > 
> > > > > java.io.IOException: Operation not permitted
> > > > > at java.io.FileOutputStream.write(Native Method)
> > > > > at java.io.FileOutputStream.write(FileOutputStream.java:290)
> > > > > 
> > > > > Read operation via FileInputStream is ok.
> > > > > 
> > > > > I run my java application with "sudo".
> > > > > 
> > > > > gpio14 ... P9_24 (UART1_TXD)
> > > > > gpio15 ... P9_26 (UART1_RXD)
> > > > > Right?
> > > >
> > > > First of all you need to configure the pins:
> > > >
> > > > config-pin P9_24 gpio
> > > > config-pin P9_26 gpio
> > > > ("config-pin -l P9_24" list the possible options, "config-pin -q 
> > P9_24" 
> > > > displays the current settings. There is an extended versin of 
> > config-pin 
> > > > under /opt/source/bb.org-overlays/tools/beaglebone-universal-io/)
> > > >
> > > > You then need to "export" the GPIO pins:
> > > >
> > > > write "14" to /sys/class/gpio/export
> > > > write "15" to /sys/class/gpio/export
> > > >
> > > > You also need to configure the direction:
> > > >
> > > > write "in" to /sys/class/gpio/gpio14/direction (for input)
> > > > write "out" to /sys/class/gpio/gpio14/direction (for output)
> > > >
> > > > (My GPIO class does that in the constructor)
> > > >
> > > > To avoid sudo, you put yourself into the gpio group:
> > > >
> > > > sudo usermod -a -G gpio $USER
> > > >
> > > > then logout and log back in.
> > > >
> > > > > 
> > > > > 
> > > > > Dátum: utorok 29. júna 2021, Ä as: 16:42:45 UTC+2, 
> > odosielateľ: 
> > > > Dennis Bieber
> > > > > 
> > > > > > On Tue, 29 Jun 2021 07:02:06 -0700 (PDT), in
> > > > > > gmane.comp.hardware.beagleboard.user Radovan Chovan
> > > > > >  wrote:
> > > > > >
> > > > > > >Thanks for all your comments.
> > > > > > >
> > > > > > >Is there any mapping between /sys/class/gpio and schematic 
> > diagram of 
> > > > > > >Beaglebone Black board?
> > > > > > >
> > > > > > Does
> > > > > > 
> > https://vadl.github.io/beagleboneblack/2016/07/29/setting-up-bbb-gpio
> > > > > > provide any help.
> > > > > >
> > > > > > >I want to use pin P9_24 (UART1_TXD) and P9_26 (UART1_RXD).
> > > > > > >https://beagleboard.org/static/beaglebone/BEAGLEBONE_SCHEM_A3.pdf 
> > > > (page 
> > > > > > >11/11)
> > > > > > >
> > > > > > P9_24 equates to GPIO15, but in raw pin numbering appears to be 
> > 97. As
> > > > > > I recall, there are 32 GPIOs per "CHIP", so that might be the 4th 
> > CHIP
> > > > > > (counting from 0), and the second GPIO (again, counting from 0)
> > > > > >
> > > > > > >>> divmod(97, 32)
> > > > > > (3, 1)
> > > > > >
> > > > > > P9_26 -> GPIO14, raw 96...
> > > > > >
> > > > > > >>> divmod(96, 32)
> > > > > > (3, 0)
> > > > > > >>> 
> > > > > >
> > > > > > HOWEVER, 
> > > > > > debian@beaglebone:~$ gpioinfo
> > > > > > gpiochip0 - 32 lines:
> > > > > > line 0: "MDIO_DATA" unused input active-high
> > > > > > 
> > > > > > line 12: "UART1_CTSN" "P9_20" input active-high [used]
> > > > > > line 13: "UART1_RTSN" "P9_19" input active-high [used]
> > > > > > line 14: "UART1_RXD" "P9_26" input active-high [used]
> > > > > > line 15: "UART1_TXD" "P9_24" input active-high [used]
> > > > > > line 16: "GMII1_TXD3" unused input active-high
> > > > > >
> > > > > > indicates that it is CHIP

Re: [beagleboard] Re: GPIO JAVA library for Beaglebone Black

2021-07-01 Thread Gwen Stouthuysen
Then Linux and Java have other ways to deal with this.

The uart is known (should be) as a serial port in the OS, this is something
you can instruct the OS to do.

Check out serial communication in Java and connect through the OS with the
right port.

Gwen


Op do 1 jul. 2021 om 15:51 schreef Radovan Chovan :

> I would like to trasmit data via UART4_TXD and receive viac UART4_RXD.
>
> Btw, I try to write to gpio30 and I think I figured out finally how it
> use. Export -> Set Direction -> Read / Write -> Unexport.
>
> Dátum: štvrtok 1. júla 2021, čas: 12:51:05 UTC+2, odosielateľ:
> [email protected]
>
>> At Wed, 30 Jun 2021 23:25:19 -0700 (PDT) [email protected]
>> wrote:
>>
>> >
>> > config-pin P9_26 gpio
>> > ERROR: open() for /sys/devices/platform/ocp/ocp:P9_26_pinmux/state
>> failed,
>> > No such file or directory
>> >
>> >
>> > write "in" to /sys/class/gpio/gpio14/direction (for input)
>> > write "out" to /sys/class/gpio/gpio14/direction (for output) ... Did
>> you
>> > mean gpio15 (not gpio14)? gpio15 ... UART1_TXD
>> >
>> > I will try UART4_RXD (P9_11 - gpio30) and UART4_TXD (P9_13 - gpio31).
>>
>> Why are you speificly going after UART pins? Are you wanting to actually
>> use
>> the UARTs?
>>
>> >
>> >
>> > Dátum: streda 30. júna 2021, Ä as: 17:21:06 UTC+2, odosielateľ:
>> > [email protected]
>> >
>> > > At Wed, 30 Jun 2021 07:03:38 -0700 (PDT) [email protected]
>> wrote:
>> > >
>> > > >
>> > > > I tried to use write operation on /sys/class/gpio/gpio14
>> (gpio15)/value,
>> > > > but nothing happens (from
>> > > >
>> https://github.com/RobertPHeller/JAVALinuxGPIO/blob/main/LinuxGPIO.java
>> > > )
>> > > > I figured out that PrintStream doesn't throw exceptions so I tried
>> to
>> > > use
>> > > > FileOutputStream.
>> > > > Then I got exception:
>> > > >
>> > > > java.io.IOException: Operation not permitted
>> > > > at java.io.FileOutputStream.write(Native Method)
>> > > > at java.io.FileOutputStream.write(FileOutputStream.java:290)
>> > > >
>> > > > Read operation via FileInputStream is ok.
>> > > >
>> > > > I run my java application with "sudo".
>> > > >
>> > > > gpio14 ... P9_24 (UART1_TXD)
>> > > > gpio15 ... P9_26 (UART1_RXD)
>> > > > Right?
>> > >
>> > > First of all you need to configure the pins:
>> > >
>> > > config-pin P9_24 gpio
>> > > config-pin P9_26 gpio
>> > > ("config-pin -l P9_24" list the possible options, "config-pin -q
>> P9_24"
>> > > displays the current settings. There is an extended versin of
>> config-pin
>> > > under /opt/source/bb.org-overlays/tools/beaglebone-universal-io/)
>> > >
>> > > You then need to "export" the GPIO pins:
>> > >
>> > > write "14" to /sys/class/gpio/export
>> > > write "15" to /sys/class/gpio/export
>> > >
>> > > You also need to configure the direction:
>> > >
>> > > write "in" to /sys/class/gpio/gpio14/direction (for input)
>> > > write "out" to /sys/class/gpio/gpio14/direction (for output)
>> > >
>> > > (My GPIO class does that in the constructor)
>> > >
>> > > To avoid sudo, you put yourself into the gpio group:
>> > >
>> > > sudo usermod -a -G gpio $USER
>> > >
>> > > then logout and log back in.
>> > >
>> > > >
>> > > >
>> > > > Dátum: utorok 29. júna 2021, Ä as: 16:42:45 UTC+2,
>> odosielateľ:
>> > > Dennis Bieber
>> > > >
>> > > > > On Tue, 29 Jun 2021 07:02:06 -0700 (PDT), in
>> > > > > gmane.comp.hardware.beagleboard.user Radovan Chovan
>> > > > >  wrote:
>> > > > >
>> > > > > >Thanks for all your comments.
>> > > > > >
>> > > > > >Is there any mapping between /sys/class/gpio and schematic
>> diagram of
>> > > > > >Beaglebone Black board?
>> > > > > >
>> > > > > Does
>> > > > >
>> https://vadl.github.io/beagleboneblack/2016/07/29/setting-up-bbb-gpio
>> > > > > provide any help.
>> > > > >
>> > > > > >I want to use pin P9_24 (UART1_TXD) and P9_26 (UART1_RXD).
>> > > > > >
>> https://beagleboard.org/static/beaglebone/BEAGLEBONE_SCHEM_A3.pdf
>> > > (page
>> > > > > >11/11)
>> > > > > >
>> > > > > P9_24 equates to GPIO15, but in raw pin numbering appears to be
>> 97. As
>> > > > > I recall, there are 32 GPIOs per "CHIP", so that might be the 4th
>> CHIP
>> > > > > (counting from 0), and the second GPIO (again, counting from 0)
>> > > > >
>> > > > > >>> divmod(97, 32)
>> > > > > (3, 1)
>> > > > >
>> > > > > P9_26 -> GPIO14, raw 96...
>> > > > >
>> > > > > >>> divmod(96, 32)
>> > > > > (3, 0)
>> > > > > >>>
>> > > > >
>> > > > > HOWEVER,
>> > > > > debian@beaglebone:~$ gpioinfo
>> > > > > gpiochip0 - 32 lines:
>> > > > > line 0: "MDIO_DATA" unused input active-high
>> > > > > 
>> > > > > line 12: "UART1_CTSN" "P9_20" input active-high [used]
>> > > > > line 13: "UART1_RTSN" "P9_19" input active-high [used]
>> > > > > line 14: "UART1_RXD" "P9_26" input active-high [used]
>> > > > > line 15: "UART1_TXD" "P9_24" input active-high [used]
>> > > > > line 16: "GMII1_TXD3" unused input active-high
>> > > > >
>> > > > > indicates that it is CHIP0, and the "line" 14/15 map to the
>> GPIOxx (so
>> > > for,
>> > > > > say, G

Re: [beagleboard] Re: GPIO JAVA library for Beaglebone Black

2021-07-01 Thread Radovan Chovan
I would like to trasmit data via UART4_TXD and receive viac UART4_RXD.

Btw, I try to write to gpio30 and I think I figured out finally how it use. 
Export -> Set Direction -> Read / Write -> Unexport.

Dátum: štvrtok 1. júla 2021, čas: 12:51:05 UTC+2, odosielateľ: 
[email protected]

> At Wed, 30 Jun 2021 23:25:19 -0700 (PDT) [email protected] wrote:
>
> > 
> > config-pin P9_26 gpio
> > ERROR: open() for /sys/devices/platform/ocp/ocp:P9_26_pinmux/state 
> failed, 
> > No such file or directory
> > 
> > 
> > write "in" to /sys/class/gpio/gpio14/direction (for input) 
> > write "out" to /sys/class/gpio/gpio14/direction (for output) ... Did you 
> > mean gpio15 (not gpio14)? gpio15 ... UART1_TXD
> > 
> > I will try UART4_RXD (P9_11 - gpio30) and UART4_TXD (P9_13 - gpio31).
>
> Why are you speificly going after UART pins? Are you wanting to actually 
> use 
> the UARTs?
>
> > 
> > 
> > Dátum: streda 30. júna 2021, Ä as: 17:21:06 UTC+2, odosielateľ: 
> > [email protected]
> > 
> > > At Wed, 30 Jun 2021 07:03:38 -0700 (PDT) [email protected] 
> wrote:
> > >
> > > > 
> > > > I tried to use write operation on /sys/class/gpio/gpio14 
> (gpio15)/value, 
> > > > but nothing happens (from 
> > > > 
> https://github.com/RobertPHeller/JAVALinuxGPIO/blob/main/LinuxGPIO.java 
> > > )
> > > > I figured out that PrintStream doesn't throw exceptions so I tried 
> to 
> > > use 
> > > > FileOutputStream.
> > > > Then I got exception:
> > > > 
> > > > java.io.IOException: Operation not permitted
> > > > at java.io.FileOutputStream.write(Native Method)
> > > > at java.io.FileOutputStream.write(FileOutputStream.java:290)
> > > > 
> > > > Read operation via FileInputStream is ok.
> > > > 
> > > > I run my java application with "sudo".
> > > > 
> > > > gpio14 ... P9_24 (UART1_TXD)
> > > > gpio15 ... P9_26 (UART1_RXD)
> > > > Right?
> > >
> > > First of all you need to configure the pins:
> > >
> > > config-pin P9_24 gpio
> > > config-pin P9_26 gpio
> > > ("config-pin -l P9_24" list the possible options, "config-pin -q 
> P9_24" 
> > > displays the current settings. There is an extended versin of 
> config-pin 
> > > under /opt/source/bb.org-overlays/tools/beaglebone-universal-io/)
> > >
> > > You then need to "export" the GPIO pins:
> > >
> > > write "14" to /sys/class/gpio/export
> > > write "15" to /sys/class/gpio/export
> > >
> > > You also need to configure the direction:
> > >
> > > write "in" to /sys/class/gpio/gpio14/direction (for input)
> > > write "out" to /sys/class/gpio/gpio14/direction (for output)
> > >
> > > (My GPIO class does that in the constructor)
> > >
> > > To avoid sudo, you put yourself into the gpio group:
> > >
> > > sudo usermod -a -G gpio $USER
> > >
> > > then logout and log back in.
> > >
> > > > 
> > > > 
> > > > Dátum: utorok 29. júna 2021, Ä as: 16:42:45 UTC+2, 
> odosielateľ: 
> > > Dennis Bieber
> > > > 
> > > > > On Tue, 29 Jun 2021 07:02:06 -0700 (PDT), in
> > > > > gmane.comp.hardware.beagleboard.user Radovan Chovan
> > > > >  wrote:
> > > > >
> > > > > >Thanks for all your comments.
> > > > > >
> > > > > >Is there any mapping between /sys/class/gpio and schematic 
> diagram of 
> > > > > >Beaglebone Black board?
> > > > > >
> > > > > Does
> > > > > 
> https://vadl.github.io/beagleboneblack/2016/07/29/setting-up-bbb-gpio
> > > > > provide any help.
> > > > >
> > > > > >I want to use pin P9_24 (UART1_TXD) and P9_26 (UART1_RXD).
> > > > > >https://beagleboard.org/static/beaglebone/BEAGLEBONE_SCHEM_A3.pdf 
> > > (page 
> > > > > >11/11)
> > > > > >
> > > > > P9_24 equates to GPIO15, but in raw pin numbering appears to be 
> 97. As
> > > > > I recall, there are 32 GPIOs per "CHIP", so that might be the 4th 
> CHIP
> > > > > (counting from 0), and the second GPIO (again, counting from 0)
> > > > >
> > > > > >>> divmod(97, 32)
> > > > > (3, 1)
> > > > >
> > > > > P9_26 -> GPIO14, raw 96...
> > > > >
> > > > > >>> divmod(96, 32)
> > > > > (3, 0)
> > > > > >>> 
> > > > >
> > > > > HOWEVER, 
> > > > > debian@beaglebone:~$ gpioinfo
> > > > > gpiochip0 - 32 lines:
> > > > > line 0: "MDIO_DATA" unused input active-high
> > > > > 
> > > > > line 12: "UART1_CTSN" "P9_20" input active-high [used]
> > > > > line 13: "UART1_RTSN" "P9_19" input active-high [used]
> > > > > line 14: "UART1_RXD" "P9_26" input active-high [used]
> > > > > line 15: "UART1_TXD" "P9_24" input active-high [used]
> > > > > line 16: "GMII1_TXD3" unused input active-high
> > > > >
> > > > > indicates that it is CHIP0, and the "line" 14/15 map to the GPIOxx 
> (so 
> > > for,
> > > > > say, GPIO45 it becomes chip 1, line 13)
> > > > >
> > > > > The gpioinfo command is provided by installing the gpiod package.
> > > > >
> > > > >
> > > > > debian@beaglebone:~$
> > > > > 
> /opt/source/bb.org-overlays/tools/beaglebone-universal-io/config-pin -i
> > > > > p9_26
> > > > > Pin name: P9_26
> > > > > Function if no cape loaded: gpio
> > > > > Function if cape loaded: default gpio gpio_pu gpio_pd gpio_input 
> ua

Re: [beagleboard] Re: GPIO JAVA library for Beaglebone Black

2021-07-01 Thread Robert Heller
At Wed, 30 Jun 2021 23:25:19 -0700 (PDT) [email protected] wrote:

> 
> config-pin P9_26 gpio
> ERROR: open() for /sys/devices/platform/ocp/ocp:P9_26_pinmux/state failed, 
> No such file or directory
> 
> 
> write "in" to /sys/class/gpio/gpio14/direction (for input) 
> write "out" to /sys/class/gpio/gpio14/direction (for output) ... Did you 
> mean gpio15 (not gpio14)? gpio15 ... UART1_TXD
> 
> I will try UART4_RXD (P9_11 - gpio30) and UART4_TXD (P9_13 - gpio31).

Why are you speificly going after UART pins?  Are you wanting to actually use 
the UARTs?

> 
> 
> Dátum: streda 30. júna 2021, Ä as: 17:21:06 UTC+2, odosielateľ: 
> [email protected]
> 
> > At Wed, 30 Jun 2021 07:03:38 -0700 (PDT) [email protected] wrote:
> >
> > > 
> > > I tried to use write operation on /sys/class/gpio/gpio14 (gpio15)/value, 
> > > but nothing happens (from 
> > > https://github.com/RobertPHeller/JAVALinuxGPIO/blob/main/LinuxGPIO.java 
> > )
> > > I figured out that PrintStream doesn't throw exceptions so I tried to 
> > use 
> > > FileOutputStream.
> > > Then I got exception:
> > > 
> > > java.io.IOException: Operation not permitted
> > > at java.io.FileOutputStream.write(Native Method)
> > > at java.io.FileOutputStream.write(FileOutputStream.java:290)
> > > 
> > > Read operation via FileInputStream is ok.
> > > 
> > > I run my java application with "sudo".
> > > 
> > > gpio14 ... P9_24 (UART1_TXD)
> > > gpio15 ... P9_26 (UART1_RXD)
> > > Right?
> >
> > First of all you need to configure the pins:
> >
> > config-pin P9_24 gpio
> > config-pin P9_26 gpio
> > ("config-pin -l P9_24" list the possible options, "config-pin -q P9_24" 
> > displays the current settings. There is an extended versin of config-pin 
> > under /opt/source/bb.org-overlays/tools/beaglebone-universal-io/)
> >
> > You then need to "export" the GPIO pins:
> >
> > write "14" to /sys/class/gpio/export
> > write "15" to /sys/class/gpio/export
> >
> > You also need to configure the direction:
> >
> > write "in" to /sys/class/gpio/gpio14/direction (for input)
> > write "out" to /sys/class/gpio/gpio14/direction (for output)
> >
> > (My GPIO class does that in the constructor)
> >
> > To avoid sudo, you put yourself into the gpio group:
> >
> > sudo usermod -a -G gpio $USER
> >
> > then logout and log back in.
> >
> > > 
> > > 
> > > Dátum: utorok 29. júna 2021, Ä as: 16:42:45 UTC+2, odosielateľ: 
> > Dennis Bieber
> > > 
> > > > On Tue, 29 Jun 2021 07:02:06 -0700 (PDT), in
> > > > gmane.comp.hardware.beagleboard.user Radovan Chovan
> > > >  wrote:
> > > >
> > > > >Thanks for all your comments.
> > > > >
> > > > >Is there any mapping between /sys/class/gpio and schematic diagram of 
> > > > >Beaglebone Black board?
> > > > >
> > > > Does
> > > > https://vadl.github.io/beagleboneblack/2016/07/29/setting-up-bbb-gpio
> > > > provide any help.
> > > >
> > > > >I want to use pin P9_24 (UART1_TXD) and P9_26 (UART1_RXD).
> > > > >https://beagleboard.org/static/beaglebone/BEAGLEBONE_SCHEM_A3.pdf 
> > (page 
> > > > >11/11)
> > > > >
> > > > P9_24 equates to GPIO15, but in raw pin numbering appears to be 97. As
> > > > I recall, there are 32 GPIOs per "CHIP", so that might be the 4th CHIP
> > > > (counting from 0), and the second GPIO (again, counting from 0)
> > > >
> > > > >>> divmod(97, 32)
> > > > (3, 1)
> > > >
> > > > P9_26 -> GPIO14, raw 96...
> > > >
> > > > >>> divmod(96, 32)
> > > > (3, 0)
> > > > >>> 
> > > >
> > > > HOWEVER, 
> > > > debian@beaglebone:~$ gpioinfo
> > > > gpiochip0 - 32 lines:
> > > > line 0: "MDIO_DATA" unused input active-high
> > > > 
> > > > line 12: "UART1_CTSN" "P9_20" input active-high [used]
> > > > line 13: "UART1_RTSN" "P9_19" input active-high [used]
> > > > line 14: "UART1_RXD" "P9_26" input active-high [used]
> > > > line 15: "UART1_TXD" "P9_24" input active-high [used]
> > > > line 16: "GMII1_TXD3" unused input active-high
> > > >
> > > > indicates that it is CHIP0, and the "line" 14/15 map to the GPIOxx (so 
> > for,
> > > > say, GPIO45 it becomes chip 1, line 13)
> > > >
> > > > The gpioinfo command is provided by installing the gpiod package.
> > > >
> > > >
> > > > debian@beaglebone:~$
> > > > /opt/source/bb.org-overlays/tools/beaglebone-universal-io/config-pin -i
> > > > p9_26
> > > > Pin name: P9_26
> > > > Function if no cape loaded: gpio
> > > > Function if cape loaded: default gpio gpio_pu gpio_pd gpio_input uart 
> > can
> > > > i2c pru_uart pruin
> > > > Function information: gpio0_14 default gpio0_14 gpio0_14 gpio0_14 
> > gpio0_14
> > > > uart1_rxd dcan1_tx i2c1_sda pru_uart pru1_in16
> > > > Kernel GPIO id: 14
> > > > PRU GPIO id: 46
> > > > debian@beaglebone:~$
> > > > /opt/source/bb.org-overlays/tools/beaglebone-universal-io/config-pin -i
> > > > p9_24
> > > > Pin name: P9_24
> > > > Function if no cape loaded: gpio
> > > > Function if cape loaded: default gpio gpio_pu gpio_pd gpio_input uart 
> > can
> > > > i2c pru_uart pruin
> > > > Function information: gpio0_15 default gpio0_15 gp

Re: [beagleboard] Re: GPIO JAVA library for Beaglebone Black

2021-06-30 Thread Radovan Chovan
config-pin P9_26 gpio
ERROR: open() for /sys/devices/platform/ocp/ocp:P9_26_pinmux/state failed, 
No such file or directory


write "in" to /sys/class/gpio/gpio14/direction (for input) 
write "out" to /sys/class/gpio/gpio14/direction (for output) ... Did you 
mean gpio15 (not gpio14)? gpio15 ... UART1_TXD

I will try UART4_RXD (P9_11 - gpio30) and UART4_TXD (P9_13 - gpio31).


Dátum: streda 30. júna 2021, čas: 17:21:06 UTC+2, odosielateľ: 
[email protected]

> At Wed, 30 Jun 2021 07:03:38 -0700 (PDT) [email protected] wrote:
>
> > 
> > I tried to use write operation on /sys/class/gpio/gpio14 (gpio15)/value, 
> > but nothing happens (from 
> > https://github.com/RobertPHeller/JAVALinuxGPIO/blob/main/LinuxGPIO.java 
> )
> > I figured out that PrintStream doesn't throw exceptions so I tried to 
> use 
> > FileOutputStream.
> > Then I got exception:
> > 
> > java.io.IOException: Operation not permitted
> > at java.io.FileOutputStream.write(Native Method)
> > at java.io.FileOutputStream.write(FileOutputStream.java:290)
> > 
> > Read operation via FileInputStream is ok.
> > 
> > I run my java application with "sudo".
> > 
> > gpio14 ... P9_24 (UART1_TXD)
> > gpio15 ... P9_26 (UART1_RXD)
> > Right?
>
> First of all you need to configure the pins:
>
> config-pin P9_24 gpio
> config-pin P9_26 gpio
> ("config-pin -l P9_24" list the possible options, "config-pin -q P9_24" 
> displays the current settings. There is an extended versin of config-pin 
> under /opt/source/bb.org-overlays/tools/beaglebone-universal-io/)
>
> You then need to "export" the GPIO pins:
>
> write "14" to /sys/class/gpio/export
> write "15" to /sys/class/gpio/export
>
> You also need to configure the direction:
>
> write "in" to /sys/class/gpio/gpio14/direction (for input)
> write "out" to /sys/class/gpio/gpio14/direction (for output)
>
> (My GPIO class does that in the constructor)
>
> To avoid sudo, you put yourself into the gpio group:
>
> sudo usermod -a -G gpio $USER
>
> then logout and log back in.
>
> > 
> > 
> > Dátum: utorok 29. júna 2021, Ä as: 16:42:45 UTC+2, odosielateľ: 
> Dennis Bieber
> > 
> > > On Tue, 29 Jun 2021 07:02:06 -0700 (PDT), in
> > > gmane.comp.hardware.beagleboard.user Radovan Chovan
> > >  wrote:
> > >
> > > >Thanks for all your comments.
> > > >
> > > >Is there any mapping between /sys/class/gpio and schematic diagram of 
> > > >Beaglebone Black board?
> > > >
> > > Does
> > > https://vadl.github.io/beagleboneblack/2016/07/29/setting-up-bbb-gpio
> > > provide any help.
> > >
> > > >I want to use pin P9_24 (UART1_TXD) and P9_26 (UART1_RXD).
> > > >https://beagleboard.org/static/beaglebone/BEAGLEBONE_SCHEM_A3.pdf 
> (page 
> > > >11/11)
> > > >
> > > P9_24 equates to GPIO15, but in raw pin numbering appears to be 97. As
> > > I recall, there are 32 GPIOs per "CHIP", so that might be the 4th CHIP
> > > (counting from 0), and the second GPIO (again, counting from 0)
> > >
> > > >>> divmod(97, 32)
> > > (3, 1)
> > >
> > > P9_26 -> GPIO14, raw 96...
> > >
> > > >>> divmod(96, 32)
> > > (3, 0)
> > > >>> 
> > >
> > > HOWEVER, 
> > > debian@beaglebone:~$ gpioinfo
> > > gpiochip0 - 32 lines:
> > > line 0: "MDIO_DATA" unused input active-high
> > > 
> > > line 12: "UART1_CTSN" "P9_20" input active-high [used]
> > > line 13: "UART1_RTSN" "P9_19" input active-high [used]
> > > line 14: "UART1_RXD" "P9_26" input active-high [used]
> > > line 15: "UART1_TXD" "P9_24" input active-high [used]
> > > line 16: "GMII1_TXD3" unused input active-high
> > >
> > > indicates that it is CHIP0, and the "line" 14/15 map to the GPIOxx (so 
> for,
> > > say, GPIO45 it becomes chip 1, line 13)
> > >
> > > The gpioinfo command is provided by installing the gpiod package.
> > >
> > >
> > > debian@beaglebone:~$
> > > /opt/source/bb.org-overlays/tools/beaglebone-universal-io/config-pin -i
> > > p9_26
> > > Pin name: P9_26
> > > Function if no cape loaded: gpio
> > > Function if cape loaded: default gpio gpio_pu gpio_pd gpio_input uart 
> can
> > > i2c pru_uart pruin
> > > Function information: gpio0_14 default gpio0_14 gpio0_14 gpio0_14 
> gpio0_14
> > > uart1_rxd dcan1_tx i2c1_sda pru_uart pru1_in16
> > > Kernel GPIO id: 14
> > > PRU GPIO id: 46
> > > debian@beaglebone:~$
> > > /opt/source/bb.org-overlays/tools/beaglebone-universal-io/config-pin -i
> > > p9_24
> > > Pin name: P9_24
> > > Function if no cape loaded: gpio
> > > Function if cape loaded: default gpio gpio_pu gpio_pd gpio_input uart 
> can
> > > i2c pru_uart pruin
> > > Function information: gpio0_15 default gpio0_15 gpio0_15 gpio0_15 
> gpio0_15
> > > uart1_txd dcan1_rx i2c1_scl pru_uart pru0_in16
> > > Kernel GPIO id: 15
> > > PRU GPIO id: 47
> > > debian@beaglebone:~$
> > >
> > >
> > > (Unfortunately, that script doesn't tell one what "default" mode IS 
> for the
> > > pin, but does have more capability than the compiled config-pin that
> > > replaces it)
> > >
> > >
> > > -- 
> > > Dennis L Bieber
> > >
> > >
> > 
>
> -- 
> Robert Heller -- Cell: 413-658-7953 <(413)%20658-

Re: [beagleboard] Re: GPIO JAVA library for Beaglebone Black

2021-06-30 Thread Robert Heller
At Wed, 30 Jun 2021 07:03:38 -0700 (PDT) [email protected] wrote:

> 
> I tried to use write operation on /sys/class/gpio/gpio14 (gpio15)/value, 
> but nothing happens  (from 
> https://github.com/RobertPHeller/JAVALinuxGPIO/blob/main/LinuxGPIO.java )
> I figured out that PrintStream doesn't throw exceptions so I tried to use 
> FileOutputStream.
> Then I got exception:
> 
> java.io.IOException: Operation not permitted
> at java.io.FileOutputStream.write(Native Method)
> at java.io.FileOutputStream.write(FileOutputStream.java:290)
> 
> Read operation via FileInputStream is ok.
> 
> I run my java application with "sudo".
> 
> gpio14 ... P9_24 (UART1_TXD)
> gpio15 ... P9_26 (UART1_RXD)
> Right?

First of all you need to configure the pins:

config-pin P9_24 gpio
config-pin P9_26 gpio
("config-pin -l P9_24" list the possible options, "config-pin -q P9_24" 
displays the current settings.  There is an extended versin of config-pin 
under /opt/source/bb.org-overlays/tools/beaglebone-universal-io/)

You then need to "export" the GPIO pins:

write "14" to /sys/class/gpio/export
write "15" to /sys/class/gpio/export

You also need to configure the direction:

write "in" to /sys/class/gpio/gpio14/direction (for input)
write "out" to /sys/class/gpio/gpio14/direction (for output)

(My GPIO class does that in the constructor)

To avoid sudo, you put yourself into the gpio group:

sudo usermod -a -G gpio $USER

then logout and log back in.

> 
> 
> Dátum: utorok 29. júna 2021, Ä as: 16:42:45 UTC+2, odosielateľ: Dennis 
> Bieber
> 
> > On Tue, 29 Jun 2021 07:02:06 -0700 (PDT), in
> > gmane.comp.hardware.beagleboard.user Radovan Chovan
> >  wrote:
> >
> > >Thanks for all your comments.
> > >
> > >Is there any mapping between /sys/class/gpio and schematic diagram of 
> > >Beaglebone Black board?
> > >
> > Does
> > https://vadl.github.io/beagleboneblack/2016/07/29/setting-up-bbb-gpio
> > provide any help.
> >
> > >I want to use pin P9_24 (UART1_TXD) and P9_26 (UART1_RXD).
> > >https://beagleboard.org/static/beaglebone/BEAGLEBONE_SCHEM_A3.pdf (page 
> > >11/11)
> > >
> > P9_24 equates to GPIO15, but in raw pin numbering appears to be 97. As
> > I recall, there are 32 GPIOs per "CHIP", so that might be the 4th CHIP
> > (counting from 0), and the second GPIO (again, counting from 0)
> >
> > >>> divmod(97, 32)
> > (3, 1)
> >
> > P9_26 -> GPIO14, raw 96...
> >
> > >>> divmod(96, 32)
> > (3, 0)
> > >>> 
> >
> > HOWEVER, 
> > debian@beaglebone:~$ gpioinfo
> > gpiochip0 - 32 lines:
> > line 0: "MDIO_DATA" unused input active-high
> > 
> > line 12: "UART1_CTSN" "P9_20" input active-high [used]
> > line 13: "UART1_RTSN" "P9_19" input active-high [used]
> > line 14: "UART1_RXD" "P9_26" input active-high [used]
> > line 15: "UART1_TXD" "P9_24" input active-high [used]
> > line 16: "GMII1_TXD3" unused input active-high
> >
> > indicates that it is CHIP0, and the "line" 14/15 map to the GPIOxx (so for,
> > say, GPIO45 it becomes chip 1, line 13)
> >
> > The gpioinfo command is provided by installing the gpiod package.
> >
> >
> > debian@beaglebone:~$
> > /opt/source/bb.org-overlays/tools/beaglebone-universal-io/config-pin -i
> > p9_26
> > Pin name: P9_26
> > Function if no cape loaded: gpio
> > Function if cape loaded: default gpio gpio_pu gpio_pd gpio_input uart can
> > i2c pru_uart pruin
> > Function information: gpio0_14 default gpio0_14 gpio0_14 gpio0_14 gpio0_14
> > uart1_rxd dcan1_tx i2c1_sda pru_uart pru1_in16
> > Kernel GPIO id: 14
> > PRU GPIO id: 46
> > debian@beaglebone:~$
> > /opt/source/bb.org-overlays/tools/beaglebone-universal-io/config-pin -i
> > p9_24
> > Pin name: P9_24
> > Function if no cape loaded: gpio
> > Function if cape loaded: default gpio gpio_pu gpio_pd gpio_input uart can
> > i2c pru_uart pruin
> > Function information: gpio0_15 default gpio0_15 gpio0_15 gpio0_15 gpio0_15
> > uart1_txd dcan1_rx i2c1_scl pru_uart pru0_in16
> > Kernel GPIO id: 15
> > PRU GPIO id: 47
> > debian@beaglebone:~$
> >
> >
> > (Unfortunately, that script doesn't tell one what "default" mode IS for the
> > pin, but does have more capability than the compiled config-pin that
> > replaces it)
> >
> >
> > -- 
> > Dennis L Bieber
> >
> >
> 

-- 
Robert Heller -- Cell: 413-658-7953 GV: 978-633-5364
Deepwoods Software-- Custom Software Services
http://www.deepsoft.com/  -- Linux Administration Services
[email protected]   -- Webhosting Services
   

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/20210630152056.187FA2221FE%40sharky4.deepsoft.com.


Re: [beagleboard] Re: GPIO JAVA library for Beaglebone Black

2021-06-29 Thread Robert Heller
At Tue, 29 Jun 2021 07:02:06 -0700 (PDT) [email protected] wrote:

> 
> Thanks for all your comments.
> 
> Is there any mapping between /sys/class/gpio and schematic diagram of 
> Beaglebone Black board?

No.  /sys/class/gpio just uses the GPIO numbers.  The mapping of GPIO N.M is:

N*32+M

eg GPIO 2.05 is 69

> 
> I want to use pin P9_24 (UART1_TXD) and P9_26 (UART1_RXD).
> https://beagleboard.org/static/beaglebone/BEAGLEBONE_SCHEM_A3.pdf (page 
> 11/11)

If you want to use these pins as UART1, (the default), you can use /dev/ttyS1.

Otherwise you should use config-pin to select the mode:

For GPIO -- #0.15 for P9_24 and #0.14 for P9_26:

config-pin P9_24 gpio
config-pin P9_24 gpio_pu
config-pin P9_24 gpio_pd
config-pin P9_24 gpio_input
config-pin P9_26 gpio
config-pin P9_26 gpio_pu
config-pin P9_26 gpio_pd
config-pin P9_26 gpio_input

For CAN (can1)
config-pin P9_24 can
config-pin P9_26 can

For I2C (i2c1)

config-pin P9_24 i2c
config-pin P9_26 i2c



> 
> Dátum: Å¡tvrtok 24. júna 2021, Ä as: 18:11:14 UTC+2, odosielateľ: Dennis 
> Bieber
> 
> > On Thu, 24 Jun 2021 07:17:59 -0400 (EDT), in
> > gmane.comp.hardware.beagleboard.user Robert Heller
> >  wrote:
> >
> > >At Thu, 24 Jun 2021 03:47:49 -0700 (PDT) beagleboard-/
> > [email protected] wrote:
> > >
> > >> 
> > >> I have complex Java application where using GPIO is only part of it.
> > >
> > >OK, probably the "easiest" (and Linux-only) way to add GPIO access is use 
> > the 
> > >sysfs interface.
> > >
> > At least until the Linux developers remove it... My understanding is
> > that sysfs is currently "deprecated", the replacement being libgpiod -- a
> > "character" device driver.
> >
> > Unfortunately, for libgpiod, JAVA probably needs an interface library
> > to be created -- quick search finds
> > https://github.com/mattjlewis/diozero (though there are some mentions of
> > sysfs in the commentary, but perusing
> >
> > https://github.com/mattjlewis/diozero/blob/main/system-utils-native/src/main/c/com_diozero_internal_provider_builtin_gpio_NativeGpioDevice.c
> > appears to be the libgpiod chip devices).
> >
> > There is also this one https://github.com/sgjava/java-periphery
> >
> >
> > -- 
> > Dennis L Bieber
> >
> >
> 

-- 
Robert Heller -- Cell: 413-658-7953 GV: 978-633-5364
Deepwoods Software-- Custom Software Services
http://www.deepsoft.com/  -- Linux Administration Services
[email protected]   -- Webhosting Services
  

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/20210629143630.C4591220CD0%40sharky4.deepsoft.com.


Re: [beagleboard] Re: GPIO JAVA library for Beaglebone Black

2021-06-29 Thread Robert Nelson
On Tue, Jun 29, 2021 at 9:02 AM Radovan Chovan  wrote:
>
> Thanks for all your comments.
>
> Is there any mapping between /sys/class/gpio and schematic diagram of 
> Beaglebone Black board?
>
> I want to use pin P9_24 (UART1_TXD) and P9_26 (UART1_RXD).
> https://beagleboard.org/static/beaglebone/BEAGLEBONE_SCHEM_A3.pdf (page 11/11)


Derek has this detail on these pdf's

https://github.com/derekmolloy/boneDeviceTree/tree/master/docs

https://github.com/derekmolloy/boneDeviceTree/blob/master/docs/BeagleboneBlackP9HeaderTable.pdf

Regards,

-- 
Robert Nelson
https://rcn-ee.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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/CAOCHtYi9moXCmnGQJgxUpJZEdgXezBSG%3DpSfZd6N%3DZ-CVyK1WA%40mail.gmail.com.