★★Java質問・相談スレッド134★★
■ このスレッドは過去ログ倉庫に格納されています
0751デフォルトの名無しさん
2009/12/21(月) 06:14:37こっちのSunSpotの加速度センサのプログラムを少し変えたのですが、うまく動きません。
Stateクラス、
public class State {
int state = 5;
public void setState(int state){
this.state = state;
}
public void callState(){
//このstateが1と0になり続ける状態を作りたい…
System.out.println("come :"+state);
}
}
を作って、LEDが点灯している、していない状態を管理したいのです。
↑のWikiのLEDFlash.javaの
public void thresholdExceeded(IAccelerometer3D accel, int axis, double val, boolean relative) {
//閾値より高い値ならばLEDを青色に点滅させる
以降のif文の前者がLEDを点灯させる、else以降がLEDを消灯させるプログラムです。
これは閾値を超えた時だけ呼び出されます。
このifの点灯させる所にst.setState(1);消灯させる所にst.setState(0);を書いても、超えてる時はちゃんと1と0になってるんですが、
放置したら(閾値を超えてない状態)デフォルトの数値のままになってしまいます。(つまり5)
確認はAccelerometerTest.javaクラスの加速度の測定をしているスレッドでst.callState();をして確認をしています。
AccelerometerTest.java、LEDFlash.java、どちらのクラスでもState st = new State();
と書いてるのがマズいんでしょうか…だとしたらどうしたら良いんでしょうか?
■ このスレッドは過去ログ倉庫に格納されています