i2cを使用するクラスの複数インスタンス生成について



  • i2cを使用するクラスからI/Oアドレスが異なるデバイスのインスタンスを複数生成したいのですが、wired(obniz)で呼び出される、 getI2CWithConfigは一度しか呼び出せないと思います。
    一度目のインスタンス生成時に取得したi2cオブジェクトをこのクラスのインスタンス間で共通にしたいのですが、うまい手はありますか?
    javascriptがわかってないだけのような気がしてますが。。。
    よろしくお願いします。



  • getI2CWithConfigは,引数の中にi2cが入っていればそのままそちらのi2cインスタンスを返します。

    https://github.com/obniz/obniz/blob/master/src/obniz/ObnizComponents.ts#L321

    パーツライブラリがwiredされる前に作成し、それを引数で渡すことでひとつのi2cを複数パーツで共用できます

    const i2c = obniz.getFreeI2C();
    i2c.start({mode:"master", sda:0, scl:1, clock:400000}); 
    
    const p1 = obniz.wired("xxxx", {i2c : i2c});
    const p2 = obniz.wired("xxxx", {i2c : i2c});
    


  • @kido
    回答ありがとうございました。早速試してみます。


Log in to reply
 

SUGGESTED TOPICS

  • 3
  • 4