At Thu, 24 Jun 2021 03:47:49 -0700 (PDT) [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. If you are at all familure with C++, there is C++ code to do that here: https://github.com/bakerstu/openmrn/blob/master/src/os/LinuxGpio.hxx and Tcl code here: https://github.com/RobertPHeller/ModelRRSystem/blob/master/trunk/Scripts/LinuxGpio/LinuxGpio.tcl It works like this: You set up a GPIO "pin" by writing its number to /sys/class/gpio/export This "creates" a directory named /sys/class/gpio/gpioN (where N is the GPIO number) which contains these files: direction -- read/write direction ('in' or 'out') value -- read/write value ('0' or '1') If you are in the gpio group, you don't need to be root to access these files. You should be able to code this with just Java's standard file I/O classes -- no need for any C/C++ interface code. Note: this will work on any Linux system with GPIO pins, include Beagle boards, Raspberry Pis, Banana Pis, Orange Pis, etc. (Some Linux variants will need udev rules to help with file ownership and permissions.) (There is also a sysfs interface for PWM and Analog pins, in case that is what you need to access.) > > Dátum: Å¡tvrtok 24. júna 2021, Ä as: 10:48:10 UTC+2, odosielateľ: > [email protected] > > > Is there a base reason to use Java in this project? > > > > By design Java has a high separation from the hardware. > > Accessing the hardware (GPIo) is not simple. > > Doing this on Linux is anyhow not simple due the same reason: Linux > > separates the userspace from the hardware. > > > > You better look into C/C++ for hardware access. > > The ultimate speed of the application will also improve. > > > > Gwen > > > > Op do 24 jun. 2021 om 08:08 schreef Radovan Chovan <[email protected]>: > > > >> Thanks. > >> I need to use Debian 10.3 and display GEN4-4DCAPE-70CT-CLB from 4D > >> Systems. > >> I will try another project for java gpio https://github.com/koert/gpio > >> Do you know something else like libbulldog? > >> > >> Dátum: streda 23. júna 2021, Ä as: 16:32:35 UTC+2, odosielateľ: > >> RobertCNelson > >> > >>> On Wed, Jun 23, 2021 at 8:39 AM Radovan Chovan <[email protected]> > >>> wrote: > >>> > > >>> > In the past I used java gpio library libbulldog. > >>> > > >>> > description from author of library: > >>> > https://groups.google.com/g/beagleboard/c/QkdoypqrTPQ/m/L7URLQ1dCAAJ > >>> > > >>> > http://www.libbulldog.org ... page not found > >>> > > >>> > Now I am using Debian 10.3 with kernel 4.19.94-ti-r42 in Beaglebone > >>> Black. > >>> > > >>> > Board is detected via command Board board = Platform.createBoard(); > >>> > but now I get error: > >>> > > >>> > java.lang.ArrayIndexOutOfBoundsException: 0 > >>> > at > >>> org.bulldog.beagleboneblack.sysfs.BBBSysFs.getCapeManager(BBBSysFs.java:23) > >>> > >>> > ... > >>> > at org.bulldog.core.platform.Platform.createBoard(Platform.java:13) > >>> > > >>> > From BBBSysFs file: > >>> > > >>> > private String SYSFS_DEVICES_PATH = "/sys/devices"; > >>> > return getFilesInPath(this.SYSFS_DEVICES_PATH, "bone_capemgr")[0]; > >>> > > >>> > but path sys/devices/bone_capemgr doesn't exist. > >>> > > >>> > I think problem is in newer kernel: > >>> > > >>> https://elinux.org/Beagleboard:BeagleBoneBlack_Debian#Where_did_the_slots_file_go.3F > >>> > >>> > >>> Correct, kernel is too new for that library.. > >>> > >>> Reboot with 3.8.13, (if it even boots..) > >>> > >>> 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/08bc6689-17dd-47f6-bcad-094c9774ee53n%40googlegroups.com > >> > >> <https://groups.google.com/d/msgid/beagleboard/08bc6689-17dd-47f6-bcad-094c9774ee53n%40googlegroups.com?utm_medium=email&utm_source=footer> > >> . > >> > > > -- 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/20210624111759.ABD0F220C73%40sharky4.deepsoft.com.
