sgjava Posted December 11, 2021 Posted December 11, 2021 Java UIO provides high performance Java interfaces for Linux Userspace IO. Java UIO was built from the ground up to use modern kernel APIs, libraries and code generation techniques to provide a best of breed cross platform approach. It does not make sense to recreate the wheel like so many other IO libraries. JDK 17 LTS is supported out of the box. I've been committing code to U8g2 that utilizes the same userspace code at the C level and dramatically improved the performance of HW/SW SPI and I2C in the arm-linux port. I also made the arm-linux port thread safe and multi display capable (you can use this in C as well obviously). It made sense to add modularization to the Java Periphery IO library since I can take advantage of the same code generation techniques. I will continue to wrap optimized C libraries moving forward in the same modular fashion. So now you can develop against IO and small displays with one code base in Java. 1 Quote
Keerati Posted January 17, 2022 Posted January 17, 2022 Hi, First of all, I would like to say a big "Thank you!" for making this project. This project is very promising especially for its cross platform and performance. I'm trying to use Java UIO on Orange Pi PC Plus. Since this SBC is using the same CPU as NanoPi M1 (Allwinner H3). I think I could use NanoPi M1 "input file" to work with Orange Pi PC Plus. I could install and compile Java UIO on Orange Pi successfully. However, when I tried to run LedBlink demo, it didn't work out. So, I thought it didn't work because I use the wrong input file. So, I tried to read the code to find a way to specify the input file, but couldn't find any. So, I take a look at another source code (Gen.java) and see that it clearly has an argument to specify the input file. So, my question is very simple. How could I specify the input file in the demo program? Sorry if I'm asking a silly. I'm an experienced java programmer, but I'm quite new for low-level programming (e.g. GPIO) in java. 0 Quote
sgjava Posted January 17, 2022 Author Posted January 17, 2022 @KeeratiI replied to your post on github. The input file is for MMIO GPIO mappings and not used by LedBlink. Use --help argument on any demo or tool for list of arguments such as gpio chip, pin, etc. 1 Quote
Keerati Posted January 18, 2022 Posted January 18, 2022 Thanks for your answer. I just use GPIOD to do a simple test with Java UIO on Orange Pi PC Plus (both GPIOD and MMIO GPIO) and it is working well 0 Quote
sgjava Posted January 18, 2022 Author Posted January 18, 2022 @Keeratiglad to hear that. What properties file did you use with MMIO? 0 Quote
Keerati Posted January 19, 2022 Posted January 19, 2022 I use NanoPi M1 (m1-map.properties). This MMIO property file is working with Orange Pi H3, but I think the pin arrangement on each SBC may differ. For example, the pin "203" is not present in OrangePi PC Plus. 0 Quote
gounthar Posted April 4, 2023 Posted April 4, 2023 Thanks for this tool. I'm trying to use it on a NanoPi Duo2 with I2C and SPI displays, but I'm struggling. 0 Quote
sgjava Posted April 4, 2023 Author Posted April 4, 2023 c-periphery was just updated, so I need to test build with u8g2 and UIO. What issue are you having? 0 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.