NTT DOCOMO and Hitachi Kokusai Electric Know-how & Confidential

com.docomo_um.module.connection
クラス SPIMaster

java.lang.Object
  上位を拡張 com.docomo_um.module.connection.SPIDevice
      上位を拡張 com.docomo_um.module.connection.SPIMaster

public class SPIMaster
extends SPIDevice

SPIマスタ側を表すクラスです。

SPI通信をstart()で開始します。SPI通信の停止はstop()を使用します。

CS信号をアクティブにする動作は、以下のデータ送受信メソッドを呼び出したタイミングで行われます。 データ送受信が完了したタイミングでCS信号は非アクティブになります。

留意事項
デバイスと物理的に接続されていない状態において、以下の場合に例外は発生しません。

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

関連項目:
SPIConnection, SPISpec, SPISlave, SPIListener

メソッドの概要
 SPICombinedFormatData[] sendCombinedFormat(SPICombinedFormatData[] data)
          連続してデータの送受信を行います。
 byte[] sendFullduplexFormat(byte[] write)
          同時にデータを送受信します。
 void start()
          SPI通信を開始します。
 void stop()
          SPI通信を終了します。
 void updateSettingInfo(SPIMasterSettingInfo info)
          SPIマスタへの設定情報を更新します。
 
クラス java.lang.Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait
 

メソッドの詳細

start

public void start()
SPI通信を開始します。

本メソッドはSPI通信機能の開始を行うのみであり、CS信号の操作は行いません。


stop

public void stop()
SPI通信を終了します。

CS信号がアクティブの場合は、非アクティブにしてSPI通信を終了します。 送受信バッファにデータがある場合、そのデータは破棄されます。

接続先とフレーム送受信中に本メソッドをコールした場合は、 フレーム送受信終了後にCS信号を非アクティブにしてSPI通信を終了します。

start()で通信を開始していない状態の場合、本メソッドは無視されます。


updateSettingInfo

public void updateSettingInfo(SPIMasterSettingInfo info)
                       throws ConnectionException
SPIマスタへの設定情報を更新します。

パラメータ:
info - 設定情報を指定します。
例外:
java.lang.NullPointerException - infoがnullの場合に発生します。
java.lang.IllegalStateException - start()で通信を開始している状態で、本メソッドをコールした場合に発生します。
ConnectionException - 内部エラーにより処理が中断した場合に発生します。

sendFullduplexFormat

public byte[] sendFullduplexFormat(byte[] write)
                            throws java.io.IOException,
                                   ConnectionException
同時にデータを送受信します。

マスタからスレーブに対してデータを送信すると共に、スレーブからマスタへのデータを受信します。 受信データのバッファサイズは、writeで指定したバイトデータと同じサイズとなります。

送信データはフレーム単位に分割されてから送信されます。

受信処理の際、サンプリングのタイミングが、スレーブの送信処理のタイミングと合わなかった場合は、 不定な値を返します。

start()で通信を開始していない状態の場合、IllegalStateExceptionが発生します。

パラメータ:
write - スレーブに対して送信するデータを指定します。
戻り値:
スレーブから読み込んだ結果が格納されたバッファを返します。
例外:
java.lang.NullPointerException - writeがnullの場合に発生します。
java.lang.IllegalArgumentException - writeの要素数が0であった場合に発生します。
java.lang.IllegalStateException - start()で通信を開始していない状態で、本メソッドをコールした場合に発生します。
java.io.IOException - 送受信中にstop()により通信を中断した場合、または入出力エラーの場合に発生します。
ConnectionException - 内部エラーにより処理が中断した場合に発生します。

sendCombinedFormat

public SPICombinedFormatData[] sendCombinedFormat(SPICombinedFormatData[] data)
                                           throws java.io.IOException,
                                                  ConnectionException
連続してデータの送受信を行います。 dataに指定した配列の先頭の要素から順に送受信を行います。

送信データはフレーム単位に分割されてから送信されます。

戻り値の要素数は、dataで指定した配列のうち、伝送タイプがSPICombinedFormatData.TYPE_READである要素の数と同じです。 また戻り値の要素の受信領域のバッファサイズおよび順序についても、dataで指定した配列の要素の受信領域および順序と同じです。 なお、データの受信によってdataで指定したSPICombinedFormatDataの受信領域が書き換わることはありません。

受信処理の際、サンプリングのタイミングが、スレーブの送信処理のタイミングと合わなかった場合は、 不定な値を返します。

start()で通信を開始していない状態の場合、IllegalStateExceptionが発生します。

定義:
クラス SPIDevice 内の sendCombinedFormat
パラメータ:
data - 送信データと受信領域の配列を指定します。
戻り値:
受信したデータを返します。受信処理を行わなかった場合はnullを返します。
例外:
java.lang.NullPointerException - dataがnullの場合に発生します。
java.lang.IllegalArgumentException - dataの要素数が0であった場合に発生します。
java.lang.IllegalStateException - start()で通信を開始していない状態で、本メソッドをコールした場合に発生します。
java.io.IOException - 送受信中にstop()により通信を中断した場合、または入出力エラーの場合に発生します。
ConnectionException - 内部エラーにより処理が中断した場合に発生します。

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