Hi Beaglebone Community,

I'd like to announce that I have written a Java library for the Beaglebone 
Black. This project has largely been inspired by the excellent pi4j API for 
the raspberry pi and as I could not find such an API for the beaglebone 
black, I decided to roll my own.

In the beginning, I wanted to port pi4j, but then I decided to correct some 
flaws and have sources that are easier to maintain and platform 
independent. Well, I did not convincingly succeed in that, but it resulted 
in a nice API with a lot of features.

Here are some features of libbulldog:

* Designed for platform independence
* Memory Mapping in Java
* Memory mapped GPIO (toggle speed ~1.8MHz iirc)
* Event driven IO and Interrupts via epoll
* All PWMs simultaneously usable
* I2C fully accessible via Java
* UARTs fully accessible via Java
* SPI working, although you will have to roll your own chip selects
* ADC is mostly working but has got some flaws
* Some devices readily supported (e.g. HD44780 LCD)
* Extensive Servo API with eased movements
* etc...

Now that I have come so far programming this in my spare time, I want to 
share it with you. 

I have created a website for the project: http://www.libbulldog.org

Not everything is 100% finished yet, but you can really do a lot with the 
API already. My hopes are that people will use it, test it and provide 
feedback until I can release a stable production build. Unfortunatelly the 
board specific codes are very hard to unit test! I will soon have a few 
days of vacation and hope to achieve this goal by then. If something is 
broken currently, it's probably very easy to fix.

Moreover, it'd be cool to support more devices and turn this into a huge 
device library.
It has been tested with Angstrom Linux so far.

There's only one major concept in this API. It is that a pin is just an 
output line and it can have several features, of which one can be activated 
at a time (e.g. DigitalIO, PWM). Libbulldog provides a fluent API for it. 
Just take a look at the examples:

http://libbulldog.org/bulldog/examples/
http://libbulldog.org/bulldog/examples/gpio/
http://libbulldog.org/bulldog/examples/pwm/

Things I intend to do:
* Networking support
* Support more boards (raspberry pi is in the makes already)

Have fun controlling the board with Java!

Best regards,
Datenheld

-- 
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].
For more options, visit https://groups.google.com/d/optout.

Reply via email to