NTT DOCOMO and Hitachi Kokusai Electric Know-how & Confidential

com.docomo_um.module.connection
クラス I2CConnection

java.lang.Object
  上位を拡張 com.docomo_um.module.connection.I2CConnection
すべての実装されたインタフェース:
Connectable

public class I2CConnection
extends java.lang.Object
implements Connectable

I2Cを表すクラスです。

利用可能なI2C情報を取得するには、getI2CSpec()を使用します。 I2Cのマスタ側(I2CMaster)のインスタンスを取得するには、I2C情報(I2CSpec)の インスタンスと対象のスレーブアドレスを引数としてgetI2CMaster(I2CSpec, int)で取得します。 I2Cのスレーブ側(I2CSlave)のインスタンスを取得するには、I2C情報(I2CSpec)の インスタンスと対象のスレーブアドレスを引数としてgetI2CSlave(I2CSpec, int)で取得します。

留意事項
getI2CMaster(I2CSpec, int)およびgetI2CSlave(I2CSpec, int)で生成したインスタンスは、 一度生成するとインスタンスを内部に保持し、管理を行います。
取得したインスタンスを破棄しても内部に保持されていますので、スレーブ側インスタンスとして生成したI2Cデバイスを、 マスタ側インスタンスに生成し直す、ということは出来ません。

デバイスの故障などによる障害が発生した場合、以下のメソッドをコールしても例外は発生しません。

そのような場合において、ストリームの各メソッドがどのような値を返すのかは、通信モジュールの実装に依存します。

物理的に接続されていない場合、以下の場合にIOExceptionが発生します。

物理的に接続されていない場合、以下の場合に例外は発生しません。

そのような場合において、ストリームの各メソッドがどのような値を返すのかは、通信モジュールの実装に依存します。

関連項目:
I2CSpec, I2CMaster, I2CSlave

メソッドの概要
 I2CMaster getI2CMaster(I2CSpec i2c, int slaveAddress)
          I2Cマスタ側インスタンスを生成します。
 I2CSlave getI2CSlave(I2CSpec i2c, int slaveAddress)
          I2Cスレーブ側インスタンスを生成します。
 java.util.List<I2CSpec> getI2CSpec()
          利用可能なI2C情報のリストを取得します。
 
クラス java.lang.Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait
 

メソッドの詳細

getI2CSpec

public java.util.List<I2CSpec> getI2CSpec()
利用可能なI2C情報のリストを取得します。

戻り値:
I2C情報のリストを返します。

getI2CMaster

public I2CMaster getI2CMaster(I2CSpec i2c,
                              int slaveAddress)
                       throws ConnectionException
I2Cマスタ側インスタンスを生成します。

マスタとバスで接続されたデバイスとの通信を行うためのインスタンスを生成します。 引数のslaveAddressには、バスで接続されたデバイスが持つ固有のスレーブアドレスを指定してください。 以前に生成したインスタンスと同じI2C情報とスレーブアドレスで本メソッドをコールした場合、本メソッドは生成済みのインスタンスを返却します。 また、既にgetI2CSlave(I2CSpec, int)でスレーブ側インスタンスとして生成したデバイスを、 本メソッドで生成しようとすると、IllegalStateExceptionが発生します。

存在しないスレーブアドレスを指定しても、本メソッドはI2Cマスタ側インスタンスを生成して返却します。 その際、返却されたI2Cマスタ側インスタンスの入出力処理は全て失敗します。

パラメータ:
i2c - 利用するI2C情報を指定します。
slaveAddress - スレーブアドレスを指定します。
戻り値:
I2Cマスタ側インスタンスを返します。
例外:
java.lang.NullPointerException - i2cにnullを指定した場合に発生します。
java.lang.IllegalStateException - 既にスレーブ側インスタンスとして生成したデバイスを、本メソッドで生成しようとした場合に発生します。
java.lang.IllegalArgumentException - スレーブのみで動作するi2cを指定した場合に発生します。
ConnectionException - 内部エラーにより処理が中断した場合に発生します。

getI2CSlave

public I2CSlave getI2CSlave(I2CSpec i2c,
                            int slaveAddress)
                     throws ConnectionException
I2Cスレーブ側インスタンスを生成します。

デバイスとバスで接続されたマスタとの通信を行うためのインスタンスを生成します。 引数のslaveAddressには、自分自身のスレーブアドレスを指定してください。 以前に生成したインスタンスと同じI2C情報とスレーブアドレスで本メソッドをコールした場合、本メソッドは生成済みのインスタンスを返却します。 また、既にgetI2CMaster(I2CSpec, int)でマスタ側インスタンスとして生成したデバイスを、 本メソッドで生成しようとすると、IllegalStateExceptionが発生します。

存在しないスレーブアドレスを指定しても、本メソッドはI2Cスレーブ側インスタンスを生成して返却します。
その際、返却されたI2Cスレーブ側インスタンスの入出力処理は全て失敗します。

パラメータ:
i2c - 利用するI2C情報を指定します。
slaveAddress - スレーブアドレスを指定します。
戻り値:
I2Cスレーブ側インスタンスを返します。
例外:
java.lang.NullPointerException - i2cにnullを指定した場合に発生します。
java.lang.IllegalStateException - 既にマスタ側インスタンスとして生成したデバイスを、本メソッドで生成しようとした場合に発生します。
java.lang.IllegalArgumentException - マスタのみで動作するi2cを指定した場合に発生します。
ConnectionException - 内部エラーにより処理が中断した場合に発生します。

Copyright © 2013 NTT DOCOMO, INC. and Hitachi Kokusai Electric Inc. All Rights Reserved.