10-08-2021, 08:09 AM
Java Periphery is a high performance library for GPIO, LED, PWM, SPI, I2C, MMIO and Serial peripheral I/O interface access in userspace Linux. Rather than try to build this from scratch I used c-periphery and HawtJNI to generate the JNI wrappers. This saves a lot of hand coding and allows for easier synchronization with c-periphery changes moving forward.
I believe this is the only userspace IO library that supports the new JDK 17 LTS (and still supports JDK 11). I had to fork HawtJNI to make it work with JDK 17. The only caveat is that ARM32 supports JDK 11. For some reason I cannot find a JDK 17 for ARM32 or information on why is was not supported. The install script handles this automatically. ARM64/x86/x86_64 uses JDK 17.
I believe this is the only userspace IO library that supports the new JDK 17 LTS (and still supports JDK 11). I had to fork HawtJNI to make it work with JDK 17. The only caveat is that ARM32 supports JDK 11. For some reason I cannot find a JDK 17 for ARM32 or information on why is was not supported. The install script handles this automatically. ARM64/x86/x86_64 uses JDK 17.