Class Index | File Index

Classes


Class mbedJS.I2CSlave


Defined in: mbed.I2CSlave.js.

Class Summary
Constructor Attributes Constructor Name and Description
 
mbedJS.I2CSlave(i_mcu, i_params, i_handler)
I2CSlaveクラスです。 mbed::I2CSlaveと同等の機能を持ちます。
Field Summary
Field Attributes Field Name and Description
 
mbedJS.Serial#receiveの戻り値の種類です。 NoData,ReadAddressed,WriteGeneral,WriteAddressedがあります。
Method Summary
Method Attributes Method Name and Description
 
address(i_value)
I2CSlaveのアドレスを設定します。 関数の完了時にonAddressイベントが発生します。 Generatorモードの時は、yieldと併用して完了を待機できます。
 
MCUに生成されているオブジェクトを破棄します。
 
frequency(i_hz)
Hz単位でバスの速度を指定します。 関数の完了時にonFrequencyイベントが発生します。 Generatorモードの時は、yieldと併用して完了を待機できます。
 
read()
バスから値を読み出します。 関数の完了時にonReadイベントが発生します。 Generatorモードの時は、yieldと併用して完了を待機できます。
 
read:1(length)
引数が2個の場合
 
引数が0個の場合
 
I2CSlaveバスを開始状態にします。 関数の完了時にonReceiveイベントが発生します。 Generatorモードの時は、yieldと併用して完了を待機できます。
 
stop()
I2CSlaveを受信状態に戻します。 関数の完了時にonStopイベントが発生します。 Generatorモードの時は、yieldと併用して完了を待機できます。
 
Generatorモードのときに使用する関数です。 Generatorモードの時は、yieldと併用してnew I2CSlave()の完了を待ちます。
 
バスに値を書き込みます。 関数の完了時にonWriteイベントが発生します。 Generatorモードの時は、yieldと併用して完了を待機できます。
 
write:1(data)
引数が1個(byte array)の場合
 
write:2(data)
引数が1個(int)の場合
Class Detail
mbedJS.I2CSlave(i_mcu, i_params, i_handler)
I2CSlaveクラスです。 mbed::I2CSlaveと同等の機能を持ちます。
//Callback
var mcu=new mbedJS.Mcu("192.168.128.39",
{
  onNew:function(){
    var i2c=new mbedJS.I2CSlave(mcu,[mbedJS.PinName.p28,mbedJS.PinName.p27],{
    onNew:function(){
      i2c.frequency(100000);
    },
    onFrequency:function()
    {
      i2c.address(1);
    },
    onAddress:function()
    {
      i2c.receive();
    },
    onReceive:function(){
      st=0;
      i2c.write(1);
    },
    onWrite:function(v){
      if(st==0){
        i2c.write([1,2,3]);
        st++;
      }else{
        i2c.read();
        st=0;
      }
    },
    onRead:function(v){
      if(st==0){
        i2c.read(2,false);
        st++;
      }else{
        log("[PASS]onRead:"+v.ret+":"+v.data);
        i2c.stop();
      }
      },
    onStop:function(){
      mcu.close();
    }
    });
  },
  onClose:function(){
  },
  onError:function(){
    alert("Error");
  }
});
//Generator
var g=function*(){
try{
	var v;
	var mcu=new mbedJS.Mcu("192.168.128.39",g);
	yield mcu.waitForNew();
	var i2c=new mbedJS.I2CSlave(mcu,[mbedJS.PinName.p28,mbedJS.PinName.p27],g);
	yield i2c.waitForNew();
	yield i2c.frequency(100000);
	yield i2c.address(1);
	v=yield i2c.receive();
	v=yield i2c.write(1);
	v=yield i2c.write([1,2,3]);
	v=yield i2c.read();
	v=yield i2c.read(2,false);
	log("[PASS]onRead:"+v.ret+":"+v.data);
	yield i2c.stop();
	yield mcu.close();
}catch(e){
	mcu.shutdown();
	alert(e);
	throw e;
}
}();
g.next();
return;
Parameters:
{mbedJS.Mcu} i_mcu
インスタンスをバインドするMCUオブジェクトです。
{[PinName|PinName]} i_params
i2Cバスを構成するピンIDを指定します。sda,sclの順番です。
{HashMap|Generator|function} i_handler
非同期イベントの共通ハンドラの連想配列,Generator,個別コールバック関数の何れかを指定します。

{HashMap} 非同期イベントの共通イベントハンドラです。

  • onNew:function() - インスタンスが使用可能になった時に呼び出されます。
  • onFrequency:function() - frequency関数が完了したときに呼び出されます。
  • onRead:function(ret,data) - read関数が完了したときに呼び出されます。
    • ret:int - 成功/失敗フラグを返します。read.1とread.2の場合で意味が異なります。 read.1の場合、 0:ACK(成功),1:NACK(失敗)です。read.2の場合、読みだした値です。
    • data:byte[] - 読みだしたデータの配列です。read.1の場合のみ有効です。
  • onWrite:function(ret) - write関数が完了したときに呼び出されます。
    • ret:int - 成功/失敗フラグを返します。write.1とwrite.2の場合で意味が異なります。 write.1の場合、ACK:0(成功),NACK:それ以外です。write.2の場合、ACKを受信すると1を返します。
  • onReceive:function(v) - receive関数が完了したときに呼び出されます。
  • v:int - 受信ステータス値を返します。mbedJS.I2CSlave#RxStatusの値です。
  • onStop:function() - stop関数が完了したときに呼び出されます。
  • onAddress:function() - address関数が完了したときに呼び出されます。
  • {Generator} Generatorを指定した場合、コールバック関数の引数はyiledの戻り値として取得できます。

    コールバック関数を指定した場合、RPCが完了したときに呼び出されます。メンバ関数のイベントハンドラは個別に設定する必要があります。

    Returns:
    {mbedJS.I2CSlave}
    Field Detail
    RxStatus
    mbedJS.Serial#receiveの戻り値の種類です。 NoData,ReadAddressed,WriteGeneral,WriteAddressedがあります。
    Method Detail
    {int} address(i_value)
    I2CSlaveのアドレスを設定します。 関数の完了時にonAddressイベントが発生します。 Generatorモードの時は、yieldと併用して完了を待機できます。
    Parameters:
    {int} i_value
    8ビットのアドレス値です。
    Returns:
    {int} Callbackモードの時はRPCメソッドのインデクスを返します。

    dispose()
    MCUに生成されているオブジェクトを破棄します。

    {int} frequency(i_hz)
    Hz単位でバスの速度を指定します。 関数の完了時にonFrequencyイベントが発生します。 Generatorモードの時は、yieldと併用して完了を待機できます。
    Parameters:
    {int} i_hz
    Hz単位のバス速度です。
    Returns:
    {int} Callbackモードの時はRPCメソッドのインデクスを返します。

    read()
    バスから値を読み出します。 関数の完了時にonReadイベントが発生します。 Generatorモードの時は、yieldと併用して完了を待機できます。
    Parameters:
    ...
    詳細はmbedJS.I2CSlave#read:Nを参照してください。

    {int, HashMap} read:1(length)
    引数が2個の場合
    Parameters:
    {int} length
    読み出すデータの長さです。256未満の値を指定してください。
    Returns:
    {int} Callbackモードの時はRPCメソッドのインデクスを返します。
    {HashMap} {ret:int,data:[byte]} Generatorの場合は戻り値オブジェクトを返します。
    • ret:int - 成功フラグ 0:ACK(成功),1:NACK(失敗)
    • data:byte[] - 読みだしたデータ

    {int, int} read:2()
    引数が0個の場合
    Returns:
    {int} Callbackモードの時はRPCメソッドのインデクスを返します。
    {int} Generatorモードの時は読みだした値を返します。

    {int, int} receive()
    I2CSlaveバスを開始状態にします。 関数の完了時にonReceiveイベントが発生します。 Generatorモードの時は、yieldと併用して完了を待機できます。
    Returns:
    {int} Callbackモードの時はRPCメソッドのインデクスを返します。
    {int} Generatorモードの時は受信ステータス値を返します。mbedJS.I2CSlave#RxStatusの値です。

    {int} stop()
    I2CSlaveを受信状態に戻します。 関数の完了時にonStopイベントが発生します。 Generatorモードの時は、yieldと併用して完了を待機できます。
    Returns:
    {int} Callbackモードの時はRPCメソッドのインデクスを返します。

    waitForNew()
    Generatorモードのときに使用する関数です。 Generatorモードの時は、yieldと併用してnew I2CSlave()の完了を待ちます。

    write()
    バスに値を書き込みます。 関数の完了時にonWriteイベントが発生します。 Generatorモードの時は、yieldと併用して完了を待機できます。
    Parameters:
    ...
    詳細はmbedJS.I2CSlave#write:Nを参照してください。

    {int, int} write:1(data)
    引数が1個(byte array)の場合
    Parameters:
    {byte[]} data
    送信するデータを格納したバイト配列です。
    Returns:
    {int} Callbackモードの時はRPCメソッドのインデクスを返します。
    {int} Generatorモードの時は成功/失敗フラグを返します。ACK:0(成功),NACK:それ以外です。

    {int, int} write:2(data)
    引数が1個(int)の場合
    Parameters:
    {int} data
    送信データを指定します。
    Returns:
    {int} Callbackモードの時はRPCメソッドのインデクスを返します。
    {int} Generatorモードの時は成功/失敗フラグを返します。ACKを受信すると1を返します。

    Documentation generated by JsDoc Toolkit 2.4.0 on Fri Sep 12 2014 09:40:44 GMT+0900 (JST)