bcm2835_for_java(仮称)の体裁がまとまってきた [JAVAでプログラム]
(2013.09.16)
C言語で書かれたBCM2835ライブラリ(これです)をJAVAから呼び出す仕組み(<==bcm2835_for_java)の開発を続けてきましたが、少しずつ体裁がまとまってきました。
アプリケーションで使用するファイルは以下の3つです。
bcm2835.jar <== BCM2835ライブラリのラッパー
libbcm_interface.so <== JAVAプロセス側のインターフェース関数群
bcm2835_for_java <== BCMプロセス側のインターフェース関数群(root権限で動作する)
Raspberry piでLEDを点滅するJAVAプログラムはこんな感じです。
ライブラリの呼び出しをすっきり記述できるように整理しました。
<以前のコード>
BCMInterface.INSTANCE.bi_init(args[0]);
BCMInterface.INSTANCE.bi_bcm2835_init();
<今のコード>
bcm2835.bi_init(args[0]);
ソース・コードの見苦しい点には目をつぶり、簡単な説明を付けてGITHUBに登録しようと考えているのですが・・・
GITがよく判らない(爆)
C言語で書かれたBCM2835ライブラリ(これです)をJAVAから呼び出す仕組み(<==bcm2835_for_java)の開発を続けてきましたが、少しずつ体裁がまとまってきました。
アプリケーションで使用するファイルは以下の3つです。
bcm2835.jar <== BCM2835ライブラリのラッパー
libbcm_interface.so <== JAVAプロセス側のインターフェース関数群
bcm2835_for_java <== BCMプロセス側のインターフェース関数群(root権限で動作する)
Raspberry piでLEDを点滅するJAVAプログラムはこんな感じです。
import dkl.bcm2835; public class Example { static final byte PIN = bcm2835.RPI_GPIO_P1_11; public static void main(String[] args) { bcm2835.bi_init(args[0]); bcm2835.gpio_fsel(PIN, bcm2835.BCM2835_GPIO_FSEL_OUTP); for(int i=0; i<5; i++ ) { bcm2835.gpio_write(PIN, bcm2835.HIGH); bcm2835.bi_delay(500); bcm2835.gpio_write(PIN, bcm2835.LOW); bcm2835.bi_delay(500); } if( bcm2835.ope_sync() != 0 ) { System.out.print("ope_sync error\n"); } bcm2835.bi_close(); } }
ライブラリの呼び出しをすっきり記述できるように整理しました。
<以前のコード>
BCMInterface.INSTANCE.bi_init(args[0]);
BCMInterface.INSTANCE.bi_bcm2835_init();
<今のコード>
bcm2835.bi_init(args[0]);
ソース・コードの見苦しい点には目をつぶり、簡単な説明を付けてGITHUBに登録しようと考えているのですが・・・
GITがよく判らない(爆)
|
|
|
コメント 0