com.j_phone.io
クラス RemoteControlData

java.lang.Object
  |
  +--com.j_phone.io.RemoteControlData

public class RemoteControlData
extends java.lang.Object

赤外線送信するコマンドデータおよびパラメータを設定するクラスです。


このクラスは、com.j_phone.io.RemoteControl クラスによる赤外線データの送信において、送信する赤外線データのパラメータおよびコマンドデータを設定する機能を持ちます。

変調方式にマンチェスタ方式を選択した場合は、パラメータおよびコマンドデータの設定方法が通常の場合と異なります。 以下にパラメータおよびコマンドデータ設定時の注意点を示します。

  1. スタートビット、ストップビットは、なし(SHi = SLo = ST = 0)とする。
  2. 論理パルスの設定値はすべて同じ値(H0 = L0 = H1 = L1)を設定する。
  3. コマンドデータの先頭に、マンチェスタ方式用のスタートビットとして「110」または「111」を付加する。 ほとんどの場合は「110」であるが、実際の機器の方式に準拠して設定する。

以下にマンチェスタ方式の場合のパラメータおよびコマンドデータの設定値の例を示します。

項目 設定値
スタートビット High区間 SHi 0
スタートビット Low区間 SLo 0
ストップビット High区間 ST 0
変調方式 マンチェスタ方式
論理パルス 0 High区間 H0 500
論理パルス 0 Low区間 L0 500
論理パルス 1 High区間 H1 500
論理パルス 1 Low区間 L1 500
キャリア周波数 High区間 88
キャリア周波数 Low区間 162
コマンドデータ 110(スタートビット)01010101101010100011100011000111
リピートインターバル 858
リピートカウント 3

導入されたバージョン:
JSCL 1.2

フィールドの概要
static int OUTPUT_MANCHESTER
          変調方式がマンチェスタ方式であることを示します。
static int OUTPUT_PPM_HIGH_LOW
          変調方式がPPMのHigh-Lowであることを示します。
static int OUTPUT_PPM_LOW_HIGH
          変調方式がPPMのLow-Highであることを示します。
 
コンストラクタの概要
RemoteControlData()
          赤外線送信するデータを新規生成します。
 
メソッドの概要
 void setCarrier(int on, int off)
          キャリア周波数を設定します。
 void setData(int length, byte[] data)
          送信するコマンドデータを設定します。
 void setLogicalPulse(int output, int data0_on, int data0_off, int data1_on, int data1_off)
          論理パルスを設定します。
 void setPulse(int leader_on, int leader_off, int trailer_on)
          波形パラメータを設定します。
 void setRepeat(int time, int count)
          リピートを指定します。
 
クラス java.lang.Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

OUTPUT_PPM_HIGH_LOW

public static final int OUTPUT_PPM_HIGH_LOW
変調方式がPPMのHigh-Lowであることを示します。

OUTPUT_PPM_LOW_HIGH

public static final int OUTPUT_PPM_LOW_HIGH
変調方式がPPMのLow-Highであることを示します。

OUTPUT_MANCHESTER

public static final int OUTPUT_MANCHESTER
変調方式がマンチェスタ方式であることを示します。
コンストラクタの詳細

RemoteControlData

public RemoteControlData()
赤外線送信するデータを新規生成します。
メソッドの詳細

setPulse

public void setPulse(int leader_on,
                     int leader_off,
                     int trailer_on)
波形パラメータを設定します。 変調方式がマンチェスタ方式の場合は、すべて 0 を設定します。
パラメータ:
leader_on - スタートビットHigh区間(単位はマイクロ秒)
leader_off - スタートビットLow区間(単位はマイクロ秒)
trailer_on - ストップビットHigh区間(単位はマイクロ秒)
例外:
java.lang.IllegalArgumentException - 引数reader_onreader_offtrailer_onのどれかに指定された値が負の場合に発生する

setLogicalPulse

public void setLogicalPulse(int output,
                            int data0_on,
                            int data0_off,
                            int data1_on,
                            int data1_off)
論理パルスを設定します。 変調方式がマンチェスタ方式の場合は、すべて同じ値を設定します。
パラメータ:
output - 論理 0 指定。論理 0 がHigh-LowかLow-Highか指定します。
data0_on - 論理出力 0 High区間(単位はマイクロ秒)
data0_off - 論理出力 0 Low区間(単位はマイクロ秒)
data1_on - 論理出力 1 High区間(単位はマイクロ秒)
data1_off - 論理出力 1 Low区間(単位はマイクロ秒)
例外:
java.lang.IllegalArgumentException - 引数outputに指定された値が範囲外の場合、または引数data0_ondata0_offdata1_ondata1_offのどれかに指定された値が 0 以下の場合に発生する

setCarrier

public void setCarrier(int on,
                       int off)
キャリア周波数を設定します。
パラメータ:
on - キャリアHigh区間(単位は 0.1 マイクロ秒)
off - キャリアLow区間(単位は 0.1 マイクロ秒)
例外:
java.lang.IllegalArgumentException - 引数onoffのどちらかに指定された値が 0 以下の場合に発生する

setData

public void setData(int length,
                    byte[] data)
送信するコマンドデータを設定します。 変調方式がマンチェスタ方式の場合は、データの先頭にスタートビット用データを付加します。
パラメータ:
length - コマンドデータの長さ(単位はビット)。1 以上の値を指定する。上限値はネイティブシステムに依存。
data - コマンドデータ。コマンドデータをどのように送信するかは、ネイティブシステムの実装依存となる。
例外:
java.lang.IllegalArgumentException - 引数lengthが 0 以下の場合に発生する
NullPointerException - 引数datanullの場合に発生する
ArrayIndexOutOfBoundsException - 引数lengthが引数dataの長さを超えている場合に発生する

setRepeat

public void setRepeat(int time,
                      int count)
リピートを指定します。

引数timeに指定する時間は、引数countに 1 が指定され、かつ RemoteControl.send() メソッドによって送信するデータが 2 以上の場合は、 当該データの先頭(スタートビットを含む)から、次のデータの先頭(スタートビットを含む)までの時間を示します。 countに 2 以上が指定された場合は、 連続して送信するデータの先頭(スタートビットを含む)から、次に送信するデータの先頭(スタートビットを含む)までの時間を示します。

パラメータ:
time - リピートインターバル(単位は 0.1 ミリ秒)
count - リピートカウント。1回だけ送信する場合は 1。
例外:
java.lang.IllegalArgumentException - 引数timeまたは引数countが 0 以下の場合に発生する