Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eagrahamjr/kobots-devices
IoT hardware interfaces built on the `diozero` Java library.
https://github.com/eagrahamjr/kobots-devices
homeautomation iot kotlin robotics
Last synced: about 6 hours ago
JSON representation
IoT hardware interfaces built on the `diozero` Java library.
- Host: GitHub
- URL: https://github.com/eagrahamjr/kobots-devices
- Owner: EAGrahamJr
- License: apache-2.0
- Created: 2023-04-18T17:19:34.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-05T20:41:36.000Z (about 1 month ago)
- Last Synced: 2025-01-05T21:26:04.110Z (about 1 month ago)
- Topics: homeautomation, iot, kotlin, robotics
- Language: Kotlin
- Homepage: https://eagrahamjr.github.io/kobots-devices/
- Size: 1.17 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Hardware Device Drivers in Kotlin
Herein are various drivers for some microprocessor peripherals, written in **Kotin** and using the [`diozero`](https://www.diozero.com) library.
Javadocs are at [kobots-devices](https://eagrahamjr.github.io/kobots-devices/)
* The "biggie" is a translation of the [Adafruit SeeSaw](src/main/kotlin/crackers/kobots/devices/expander/AdafruitSeeSaw.kt) microprocessor code, which is
not complete.
* Another interesting note is the [PixelBuf](src/main/kotlin/crackers/kobots/devices/lighting/PixelBuf.kt) which, like it's Adafruit conterpart, underlies the various hardware-specific `NepPixel` (WS281x) interfaces. This deviates quite a bit from the `diozero` implementation, as I preferred using Java `Color` constructs since they are available.:bangbang: **STILL UNDER CONSTRUCTION!!!!** These items were constructed and verified **only** on a Raspberry Pi, but _should_ work where the [`diozero`](https://www.diozero.com) **main branch** library will work.
![Just Build](https://github.com/EAGrahamJr/kobots-devices/actions/workflows/build.yaml/badge.svg) ![Kotlin](https://badgen.net/badge/Kotlin/1.9.0/purple) ![Java](https://badgen.net/badge/Java/17/orange) ![Apache License](https://badgen.net/github/license/EAGrahamJr/kobots-devices)
## Licensing
Many driver translations are based on code from the [Adafruit Circuit Python](https://github.com/adafruit), which are generally licensed under the [MIT License](https://opensource.org/license/mit/), The [`diozero`](https://www.diozero.com) library is similarly licensed.
## Building
This project uses [Gradle](https://gradle.org), so the only thing you need is a compatible JDK**1**. Additionally, because the project is [Kotlin](https://kotlinlang.org) and uses the _Kotlin Gradle plugin_, a Kotlin installation is also not necessary.**2**
A default build will use the [gradle-plugins](https://github.com/EAGrahamJr/gradle-scripts) to publish to the "local" Maven repository.
---
**1**Kotlin 1.9.0/Java 17 is the current build target.
**2**This project _may_ depend on _my_ `diozero` changes as they may be ahead of the main repository branch. See the GitHub [actions](.github/workflows/build.yaml) for which version is being used.