Class LPCXpresso1769.Mcu
Defined in: LPCXpresso1769.Mcu.js.
Constructor Attributes | Constructor Name and Description |
---|---|
LPCXpresso1769.Mcu(i_mimic_addr, i_is_activate)
LPCXPresso1769.MCU(MCU)クラスのコンストラクタ。
MCUクラスは、物理MCUとのインタフェイスを定義する。MiMicRemoteMcuInterfaceの管理機能と、MCUの物理機能への接続手段を定義する。
提供する機能は次のリストである。
|
Field Attributes | Field Name and Description |
---|---|
イベントハンドラの連想配列。メンバにイベントハンドラ関数を格納する。
イベントハンドラは以下の通り。
|
Method Attributes | Method Name and Description |
---|---|
activate()
インスタンスの状態をアクティブに切り替える。
アクティブ化に成功すると、インスタンスは物理MCUと接続状態になる。
コンストラクタで生成と同時にアクティブ化した場合は、コンストラクタ内で自動的にコールされる。
既にアクティブの場合、アクティブ化に失敗した場合に例外が発生する。
|
|
MiMicBCをリンクしているMCUへMiMic Low level APIで同期送信し、結果を取得する。
MiMic Low level APIのresult値が得られない場合、例外が発生する。この状況は、TCP/IPエラー、HTTPエラー、HTTPステータスエラー、MiMicVMのラインタイムエラー、MiMicRemoteMCUのフォールト等の原因で発生する。
関数が値を返した場合は、MiMicRemoteMCUが処理を完了し、正しい形式のステータスを受信できた場合である。例外が発生した場合は、リンクが破壊されている場合がある。リンクが破壊された場合は、1分以内にアクティブ状態が変化するので、それを検出して判断する。
引数の違いにより、数種類の呼び出し方がある。詳細は、callMiMic^nを参照。 |
|
callMiMic(i_mimicbc)
整形済みのMiMicBCを送信する。整形済みのMiMicBCは、MiMicTXT,MiMicDBを連結した文字列である。固定命令を送信するときに使う。
|
|
callMiMic(i_mimictxt, mimicdb)
整形済みのMiMicTXTと、数値配列のMiMicDBを連結して送信する。固定命令+パラメータで擬似関数を実現するときに便利である。
|
|
callMiMic関数のラッパーである。
callMiMic関数成功後に、resultが成功(MVM_OK=0x0)であるかを確認し、それ以外であれば例外を発生させる。
resultが0以外想定されないMiMicBCを実行するときに、便利である。
引数、戻り値については、callMiMic関数を参照。 |
|
インスタンスの状態を非アクティブに切り替える。
成功すると、インスタンスと物理MCUは切断状態になる。
既に非アクティブの場合、例外が発生する。
|
|
SystemClockに関する情報を返す。
|
|
getPeripheral(i_phl_name, i_opt)
ペリフェラル名から、ペリフェラルオブジェクトを得る。
関数は、初めて要求されたペリフェラルについては、オブジェクトを生成し、MCUインスタンスに保存する。同じ名前のペリフェラルが再度要求されると、過去に生成したペリフェラルを返す。
|
|
getPin()
物理ピンを制御するPinインスタンスを得る。
制御ペリフェラル、Pinを順に生成する方法と異なり、機能の実現に必要なインスタンスを自動的に準備できる。
Pinが生成できない場合、例外が発生する。
ペリフェラルが自動生成された場合、そのオプションはデフォルト値が採用される。既に生成済みのペリフェラルの場合は何もしない。PINのオプションは、デフォルト値が採用される。
引数の違いにより、数種類の呼び出し方がある。
|
|
getPin(i_pin_function_name)
ピン機能名から、Pinインスタンスを生成する。
生成されたピンは、ピン機能名の割り当てられている物理ピンで実現される。
ピン機能名は、 LPCXpresso1769.P?[?]の[ピン機能名]で定義する文字列である。これは、UM10360 3.1.2.3 Chapter 8: LPC17xx Pin connect blockのfunction nameで定義される、PINSELレジスタに設定する文字列と一致する。
|
|
getPin(i_pin, i_function_name)
ピン識別子と機能名から、機能を割り当てたピンを生成する。組み合せにより、ピンを生成できない可能性もある。
組み合わせは、UM10360 3.1.2.3 Chapter 8: LPC17xx Pin connect blockを参照すること。
|
|
getPort(i_pins, i_function_name)
ポート(複数ピンで構成するIO)を制御するPortインスタンスを得るする。
制御ペリフェラル、Portを順に生成する方法と異なり、機能の実現に必要なインスタンスを自動的に生成する。
Portが生成できない場合、例外が発生する。
|
|
isActive()
インスタンスがMCUと接続されているかをtrue/falseで返す。
|
Class Detail
LPCXpresso1769.Mcu(i_mimic_addr, i_is_activate)
LPCXPresso1769.MCU(MCU)クラスのコンストラクタ。
MCUクラスは、物理MCUとのインタフェイスを定義する。MiMicRemoteMcuInterfaceの管理機能と、MCUの物理機能への接続手段を定義する。
提供する機能は次のリストである。
- 物理MCUとの接続管理機能。
- MCUの管理するペリフェラル操作インスタンスの生存管理機能。
- MCUの持つ物理デバイスの操作オブジェクト(Pin,Peripheral等)の生成機能(インテリジェント接続)。
//create a controlable MCU via network. var mcu=new LPCXpresso1769.Mcu(“192.168.0.39”);
- Parameters:
- {string} i_mimic_addr
- 接続するMiMicRemoteMcuのホストアドレスを指定する。IPアドレス、ホスト名等。
ex. “127.0.0.1” , “127.0.0.1:3939”
- {boolean} i_is_activate
- インスタンス生成と同時にMiMicRemoteMcuとの接続を確立するかのフラグ。省略時はtrueとみなす。 trueの場合、関数は即座にMiMicRemoteMCUに接続する。このとき、events.onActivateChangedをハンドリングすることが出来ないので注意すること。ハンドリングが必要なら、falseを指定して、改めてactivate関数をコールする。
Field Detail
events
イベントハンドラの連想配列。メンバにイベントハンドラ関数を格納する。
イベントハンドラは以下の通り。
- onActivateChanged as function(f:boolean) - インスタンスのアクティブ状態が変化したときに呼び出されるイベントである。fパラメータには、状態変化後のアクティブ状態値が入る。このハンドラが呼び出されるのは、ユーザが状態を切り替えたときと、システムが状態を維持できなくなったとき(例えばMCUが応答しない)である。
//show that MCU became active. var mcu=new LPCXpresso1769.Mcu("192.168.0.39",false); mcu.events.onActivateChanged=function(f){ if(!f){alert(f)}; } mcu.activate();
Method Detail
activate()
インスタンスの状態をアクティブに切り替える。
アクティブ化に成功すると、インスタンスは物理MCUと接続状態になる。
コンストラクタで生成と同時にアクティブ化した場合は、コンストラクタ内で自動的にコールされる。
既にアクティブの場合、アクティブ化に失敗した場合に例外が発生する。
// MCU will be active. var mcu=new LPCXpresso1769.Mcu("192.168.0.39",false); mcu.activate();
{object as {MiMic result}}
callMiMic()
MiMicBCをリンクしているMCUへMiMic Low level APIで同期送信し、結果を取得する。
MiMic Low level APIのresult値が得られない場合、例外が発生する。この状況は、TCP/IPエラー、HTTPエラー、HTTPステータスエラー、MiMicVMのラインタイムエラー、MiMicRemoteMCUのフォールト等の原因で発生する。
関数が値を返した場合は、MiMicRemoteMCUが処理を完了し、正しい形式のステータスを受信できた場合である。例外が発生した場合は、リンクが破壊されている場合がある。リンクが破壊された場合は、1分以内にアクティブ状態が変化するので、それを検出して判断する。
引数の違いにより、数種類の呼び出し方がある。詳細は、callMiMic^nを参照。
引数の違いにより、数種類の呼び出し方がある。詳細は、callMiMic^nを参照。
- Parameters:
- ...
- LPCXpresso1769.Mcu#callMiMic^nを参照
- Returns:
- {object as {MiMic result}} 応答値を格納した連想配列である。 詳細は 低レベルAPI。MiMicRemoteMcuInterface.execBc関数、または、MiMicVM.pdf Appendix 1. MiMicVM HTTP Interfaceを参照。
{object as {MiMic result}}
callMiMic(i_mimicbc)
整形済みのMiMicBCを送信する。整形済みのMiMicBCは、MiMicTXT,MiMicDBを連結した文字列である。固定命令を送信するときに使う。
//send MiMic operations. var mcu=new LPCXpresso1769.Mcu(“192.168.0.39”); mcu.callMiMic(“ZAZZ.E”);//NOP .END
- Parameters:
- {string} i_mimicbc
- MiMicBC。MiMicBCのフォーマットは、MiMicVM.pdf MiMicBCで定義する。
- Returns:
- {object as {MiMic result}}
{object as {MiMic result}}
callMiMic(i_mimictxt, mimicdb)
整形済みのMiMicTXTと、数値配列のMiMicDBを連結して送信する。固定命令+パラメータで擬似関数を実現するときに便利である。
//send MiMic operations. var mcu=new LPCXpresso1769.Mcu(“192.168.0.39”); mcu.callMiMic(“ZAZZ.E”,[]); //NOP .END
- Parameters:
- {string} i_mimictxt
- MiMicTXT。MiMicTXTのフォーマットは、MiMicVM.pdf MiMicBCで定義する。
- {Array[int]} mimicdb
- 配列のINT値。値は関数によりMiMicDBに変換され、MiMicTXTに連結され、送信される。
- Returns:
- {object as {MiMic result}}
callMiMicWithCheck()
callMiMic関数のラッパーである。
callMiMic関数成功後に、resultが成功(MVM_OK=0x0)であるかを確認し、それ以外であれば例外を発生させる。
resultが0以外想定されないMiMicBCを実行するときに、便利である。
引数、戻り値については、callMiMic関数を参照。
引数、戻り値については、callMiMic関数を参照。
//send 2 MiMic operations. var mcu=new LPCXpresso1769.Mcu(“192.168.0.39”); mcu.callMiMicWithCheck(“ZAZZ.E”,[]); mcu.callMiMicWithCheck(“ZAZZ.ENOOOO”);//exception!
deactivate()
インスタンスの状態を非アクティブに切り替える。
成功すると、インスタンスと物理MCUは切断状態になる。
既に非アクティブの場合、例外が発生する。
// MCU will be deactive. var mcu=new LPCXpresso1769.Mcu(“192.168.0.39”); mcu.events.onActivateChanged=function(f){ if(!f){alert(f)}; } mcu.deactivate();
{cclk:MCUクロック [Hz] as int}
getClockInfo()
SystemClockに関する情報を返す。
// alert MCU clock var mcu=new LPCXpresso1769.Mcu("192.168.0.39"); alert(mcu.getClockInfo().cclk);
- Returns:
- {cclk:MCUクロック [Hz] as int} クロック値を格納した連想配列である。
{object as Peripheral}
getPeripheral(i_phl_name, i_opt)
ペリフェラル名から、ペリフェラルオブジェクトを得る。
関数は、初めて要求されたペリフェラルについては、オブジェクトを生成し、MCUインスタンスに保存する。同じ名前のペリフェラルが再度要求されると、過去に生成したペリフェラルを返す。
//get GPIO peripheral var mcu=new LPCXpresso1769.Mcu(“192.168.0.39”); var gpio=mcu.getPeripheral(“GPIO”);
- Parameters:
- {string as ペリフェラル名} i_phl_name
- ペリフェラル名は文字列である。指定できる文字列は、LPCXpresso1769.PHL_NAMEで定義する。
- {object as ペリフェラルオプション} i_opt
- ペリフェラルに渡すオプション値である。省略可能。ペリフェラルが新しく生成される場合(はじめてペリフェラルが設定されようとしているとき)に、コンストラクタのi_optに設定する。2回目以降の参照で設定されると、例外を発生する。値の構文は、取得しようとするペリフェラルのsetOpt関数のi_optパラメータの説明を参照すること。
- Returns:
- {object as Peripheral} 返却されるインスタンスのクラスは、ペリフェラル名により異なる。その対応は以下の通りである。
- GPIO - LPCXpresso1769.Gpio
- ADC - LPCXpresso1769.Adc
- PWM - LPCXpresso1769.Pwm
{object as PinObject}
getPin()
物理ピンを制御するPinインスタンスを得る。
制御ペリフェラル、Pinを順に生成する方法と異なり、機能の実現に必要なインスタンスを自動的に準備できる。
Pinが生成できない場合、例外が発生する。
ペリフェラルが自動生成された場合、そのオプションはデフォルト値が採用される。既に生成済みのペリフェラルの場合は何もしない。PINのオプションは、デフォルト値が採用される。
引数の違いにより、数種類の呼び出し方がある。
- Parameters:
- ...
- LPCXpresso1769.Mcu#getPin^nを参照
- Returns:
- {object as PinObject} 返却されるPinインスタンスの型は、機能により異なる。機能とPinインスタンスのクラスの対応は、以下の通りである。
- GPIO - LPCXpresso1769.GpioPin
- AD - LPCXpresso1769.AdcPin
- PWM - LPCXpresso1769.PwmPin
{object as PinObject}
getPin(i_pin_function_name)
ピン機能名から、Pinインスタンスを生成する。
生成されたピンは、ピン機能名の割り当てられている物理ピンで実現される。
ピン機能名は、 LPCXpresso1769.P?[?]の[ピン機能名]で定義する文字列である。これは、UM10360 3.1.2.3 Chapter 8: LPC17xx Pin connect blockのfunction nameで定義される、PINSELレジスタに設定する文字列と一致する。
var mcu=new LPCXpresso1769.Mcu(“192.168.0.39”); //create gpio pin at PIN0[0] var gpiopin1=mcu.getPin("GPIO0.0");
- Parameters:
- {string} i_pin_function_name
- ピン機能名の文字列。 ex. “GPIO0.0” ,”AD0.0” GPIOについては、”GPIO Port 0.0”を”GPIO0.0”のように、省略すること。
- Returns:
- {object as PinObject}
{object as PinObject}
getPin(i_pin, i_function_name)
ピン識別子と機能名から、機能を割り当てたピンを生成する。組み合せにより、ピンを生成できない可能性もある。
組み合わせは、UM10360 3.1.2.3 Chapter 8: LPC17xx Pin connect blockを参照すること。
var mcu=new LPCXpresso1769.Mcu(“192.168.0.39”); //create gpio pin at PIN0[1] var gpiopin2=mcu.getPin(LPCXpresso1769.P0[1],"GPIO"); //or mcu.getPin(LPCXpresso1769.P0[1],LPCXpresso1769.FUNC_SYMBOL.GPIO); //create AD at PIN0[23] var adpin1=mcu.getPin(LPCXpresso1769.P0[23],"AD"); //or mcu.getPin(LPCXpresso1769.P0[23],LPCXpresso1769.FUNC_SYMBOL.AD); //create AD at PIN0[3] (exception) var adpin2=mcu.getPin(LPCXpresso1769.P0[3],"AD");
- Parameters:
- {object as pin識別子} i_pin
- ピン識別子。指定できるのは、LPCXpresso1796.P?[?]である。
- {string as 機能名} i_function_name
- 機能名の文字列である。 指定できる文字列は、LPCXpresso1769.FUNC_NAMEで定義する。
- Returns:
- {object as PinObject}
{object as PortObject}
getPort(i_pins, i_function_name)
ポート(複数ピンで構成するIO)を制御するPortインスタンスを得るする。
制御ペリフェラル、Portを順に生成する方法と異なり、機能の実現に必要なインスタンスを自動的に生成する。
Portが生成できない場合、例外が発生する。
- Parameters:
- {array[PIN識別子]} i_pins
- ポートを構成するピン識別子の配列。順序は生成するポートの説明を参照。
- {string} i_function_name
- 機能名の文字列である。 指定できる文字列は、LPCXpresso1769.FUNC_NAMEで定義する。
- Returns:
- {object as PortObject} 返却されるインスタンスのクラスは、機能により異なる。機能とインスタンスのクラスの対応は、以下の通りである。
- GPIO - LPCXpresso1769.GpioPin
- AD - LPCXpresso1769.AdcPin
- PWM - LPCXpresso1769.PwmPin
{boolean}
isActive()
インスタンスがMCUと接続されているかをtrue/falseで返す。
var mcu=new LPCXpresso1769.Mcu(“192.168.0.39”,false); mcu.events.onActivateChanged=function(f){ if(!f){alert(f)}; } mcu.activate();
- Returns:
- {boolean} インスタンスが接続中ならtrue