Class LPCXpresso1769.Ni
Defined in: LPCXpresso1769.Ni.js.
Constructor Attributes | Constructor Name and Description |
---|---|
LPCXpresso1769.Ni(i_mcu)
LPCXPresso1769.Ni (NativeInterface)クラスのコンストラクタ。
MCUに関連付けしたネイティブインタフェイスを生成する。
クラスは、MiMicVMのCALL命令を使用した、ネイティブ関数コール機能を提供する。
|
Method Attributes | Method Name and Description |
---|---|
call(i_id, i_in, o_out)
この関数は、CALLインストラクションを使ったネイティブファンクションコールを実行する。
MiMicRemoteMCUに定義されているネイティブ関数から、ファンクションIDに一致するものを検索して、実行する。
ネイティブ関数は、native_function.cのnaitive_function_tableに定義されている。
引き渡すパラメータは、SPUTによるストリーム値と、VMのレジスタ(WM)値である。得られる返却値は、ネイティブ関数実行後のVMレジスタ(WM)と、ストリームである。
|
Class Detail
LPCXpresso1769.Ni(i_mcu)
LPCXPresso1769.Ni (NativeInterface)クラスのコンストラクタ。
MCUに関連付けしたネイティブインタフェイスを生成する。
クラスは、MiMicVMのCALL命令を使用した、ネイティブ関数コール機能を提供する。
- Parameters:
- {object as LPCXpresso1769.Mcu} i_mcu
- インスタンスを結びつけるMcuオブジェクト。
Method Detail
{boolean}
call(i_id, i_in, o_out)
この関数は、CALLインストラクションを使ったネイティブファンクションコールを実行する。
MiMicRemoteMCUに定義されているネイティブ関数から、ファンクションIDに一致するものを検索して、実行する。
ネイティブ関数は、native_function.cのnaitive_function_tableに定義されている。
引き渡すパラメータは、SPUTによるストリーム値と、VMのレジスタ(WM)値である。得られる返却値は、ネイティブ関数実行後のVMレジスタ(WM)と、ストリームである。
var mcu=new LPCXpresso1769.Mcu("192.168.128.39",true); var ni=new LPCXpresso1769.Ni(mcu); //This function calls the function number 1. wm1=1,wm2=3 are set to WM before calling. And puts [12] to input stream. //Out values are consist of wm4,wm5 and output stream values. var r1={wm4:null,wm5:null}; ni.call(0,{wm1:1,wm2:3,stream:[12]},r1); //sample2 no parameter, returns. ni.call(0); //sample 3 stream only. var r2={stream:null}; ni.call(0,{stream:[]},r2); //call sample echo back native function. var r3={stream:null}; ni.call(0x39000000,{stream:[0x2525]},r3); alert(r3[0]); // set/get all work register and stream. var r4={stream:null,wm0:null,wm1:null,wm2:null,wm3:null,wm4:null,wm5:null,wm6:null,wm7:null}; ni.call(0x39000000,{stream:[0x39],wm0:7,wm1:6,wm2:5,wm3:4,wm4:3,wm5:2,wm6:1,wm7:0},r4);
- Parameters:
- {int} i_id
- ファンクションID。ファンクションIDは、呼び出す関数を識別するidである。
- {object as associative array} i_in
- 入力パラメータである。必要な値を格納した連想配列で指定する。省略が可能である。
連想配列のメンバは以下の通り。
{wm?:int,stream:array[int]}
- wm? - WMレジスタにセットする値である。wm0~wm7まで、最大8個の値を指定できる。
- stream - ストリームに出力する値である。長さに制限は無いが、100個程度が上限である。
- {object as associative array} o_out
- 出力パラメータを受け取る変数である。戻り値として取得したい値を格納した連想配列を指定する。省略が可能である。
各メンバ変数は関数が割り当てるので、nullを設定しておくこと。
連想配列のメンバは以下の通り。
{wm?:null,stream:null}
- wm? - 取得するWMレジスタのプレースホルダ。戻り値としてwmレジスタの値を取得する時に指定する。取得したいWMを指定する。
- stream - 取得するストリームのプレースホルダ。戻り値としてネイティブ関数が出力したストリームを取得する時に指定する。純粋な返却streamから、wmの返却分を差し引いたint array値である。
- Returns:
- {boolean} 関数コールが成功するとtrueである。