(function(){\r
var NS=MiMicJS;\r
/**\r
- * @name MiMicJS#VERSION\r
* MiMicJsAPIのバージョン文字列。\r
+ * @name MiMicJS#VERSION\r
*/\r
NS.VERSION="MiMicJsAPI/2.0.0";\r
/**\r
+ * 配列要素、又は値がすべてInt値でない場合に例外を起こします。\r
* @name MiMicJS.assertInt\r
* @function\r
- * 配列要素、又は値がすべてInt値でない場合に例外を起こします。\r
* @params {[array]} v\r
* テストする配列\r
*/\r
}\r
}\r
/**\r
+ * 配列要素、、又は値がすべて数値でない場合に例外を起こします。\r
* @name MiMicJS.assertNumber\r
* @function\r
- * 配列要素、、又は値がすべて数値でない場合に例外を起こします。\r
* @params {[array]} v\r
* テストする配列\r
*/\r
}\r
};\r
/**\r
- * @private\r
* 数値であるかを確認します。\r
+ * @private\r
*/\r
NS.isNumber=function isNumber(o)\r
{\r
return (typeof o=='number');\r
};\r
/**\r
- * @private\r
* 整数であるかを確認します。\r
+ * @private\r
*/\r
NS.isInt=function isInt(o)\r
{\r
* <tr><td>7-0</td><td>ErrorID</td><td></td></tr>\r
* </table>\r
* @namespace\r
+ * @name MiMicJS.Error\r
* @example\r
* throw new MiMicException(MiMicError.NG);\r
*/\r
NS.Error=\r
{\r
- /** 成功を示すエラー値\r
- * @constant*/ \r
+ /** 成功を示します。\r
+ * @constant\r
+ * @name MiMicJS.Error.OK\r
+ */\r
OK:[0x00000000,"OK"],\r
- /** 失敗を示すエラー値。不明な場所で、不明な何かが、不明なエラーを起こしたことを示す。\r
- * @constant*/ \r
+ /** 詳細情報の無いエラーです。\r
+ * @constant\r
+ * @name MiMicJS.Error.NG\r
+ */ \r
NG:[0x40000000,"NG"],\r
+ /** Generatorを用いたコードで、前回のyieldが終了していないことを示します。\r
+ * @constant\r
+ * @name MiMicJS.Error.NG_YIELD_NOT_COMPLETED\r
+ */\r
NG_YIELD_NOT_COMPLETED:[0x40001001,"The previous function has not been completed."],\r
+ /** 関数の呼び出し順序が正しくないことを示します。\r
+ * @constant\r
+ * @name MiMicJS.Error.NG_ILLEGAL_CALL\r
+ */\r
NG_ILLEGAL_CALL:[0x40001002,"Illegal procedure call."],\r
+ /** 引数型の不一致を検出したことを示します。\r
+ * @constant\r
+ * @name MiMicJS.Error.NG_INVALID_ARG\r
+ */\r
NG_INVALID_ARG:[0x40001003,"Invalid arguments."],\r
/**\r
* エラーコードがOKか調べる。\r
* @function\r
+ * @name MiMicJS.Error.isOK\r
* @param {Object as [MiMicErrorCode]} v\r
* 評価するオブジェクト\r
* @return {Boolean}\r
var NS=MiMicJS; \r
/**\r
* 引数が1個のパターン。\r
- * @name MiMicException.2\r
+ * @name MiMicJS.MiMicException.2\r
* @function\r
* @param {object} e\r
* eのクラスにより、動作が異なる。\r
* スタックトレースは改行で連結された文字列である。messageプロパティに格納される。alert関数で表示することで、効率的なデバックが可能である。\r
* 引数の違いにより、数種類の呼び出し方がある。\r
* @constructor\r
+ * @name MiMicJS.MiMicException\r
* @param ...\r
* 詳細は、MiMicException.nを参照。\r
*/\r
/**\r
* MiMicErrorCode形式のエラーコードを保持する。\r
* @field {object as MiMicErrorCode}\r
+ * @name MiMicJS.MiMicException#code\r
*/\r
code:null,\r
/**\r
* エラーメッセージを保持する。この値は、改行区切りのコールスタックである。\r
* @field {string}\r
+ * @name MiMicJS.MiMicException#message\r
*/\r
message:"",\r
/**\r
* messageフィールドをalertで表示する。\r
+ * @name MiMicJS.MiMicException#alert\r
* @function\r
* @example\r
* try{\r
* toStringを上書きする。オブジェクトを文字列化する。\r
* 文字列は例外のコールスタックであり、デバックで役立つ。\r
* @function\r
+ * @name MiMicJS.MiMicException#toString\r
* @return {string}\r
* 現在のオブジェクトの状態(例外のコールスタック)\r
* @example\r
/**@private */\r
var NS=MiMicJS;\r
/**\r
- * @name MiMicJs.Rpc\r
- * @constructor\r
* MiMicRPCのクライアントクラスです。\r
* 通信APIを提供します。\r
+ * @name MiMicJS.Rpc\r
+ * @constructor\r
* @param {HashMap} i_event\r
* 非同期イベントハンドラの連想配列です。登録できるメンバは以下の通りです。\r
* <ul>\r
*/\r
_ws:null,\r
/**\r
+ * @private\r
+ * [READ ONLY]\r
+ * RPCの平均RTT[ms]です。\r
* @name MiMicJs.Rpc#RTT\r
- * [READ ONLY]\r
- * RPCの平均RTT[ms]です。\r
*/\r
rtt:0,\r
/** メソッドIDカウンタ。sendJsonを実行する毎にインクリメントされます。*/\r
_method_id:0,\r
/**\r
- * @name MiMicJS.Rpc#open\r
- * @function\r
* RPCコネクションを開きます。\r
* 関数が終了するとonOpenイベントをコールバックします。\r
+ * @name MiMicJS.Rpc#open\r
+ * @function\r
* @param i_url\r
* ws://から始まるWebsocketサービスURLを指定します。\r
*/\r
this._ws=ws;\r
},\r
/**\r
- * @name MiMicJS.Rpc#close\r
- * @function\r
* 接続中のRPCコネクションを閉じます。\r
* 関数が終了するとonCloseイベントをコールバックします。\r
+ * @name MiMicJS.Rpc#close\r
+ * @function\r
*/\r
close:function close()\r
{\r
}\r
},\r
/**\r
- * @name MiMicJS.Rpc#shutdown\r
* RPC回線を確実に閉じます。\r
* この関数を実行すると、すべてのコールバックイベントはキャンセルされます。\r
+ * @name MiMicJS.Rpc#shutdown\r
+ * @function\r
*/\r
shutdown:function shutdown()\r
{\r
}\r
},\r
/**\r
+ * 非同期でJSON RPCメソッドを送信します。\r
* @name MiMicJS.Rpc#sendMethod\r
* @function\r
- * 非同期でJSON RPCメソッドを送信します。\r
* @param {string} i_method\r
* RPCメソッドの名前です。\r
* @param {string} i_params\r
* カンマ区切りのJSONスタイルの文字列です。この文字列は[....]に埋め込まれます。エスケープ文字列は使用できません。\r
* @param {function(json)}i_callback\r
* Resultを受け取るコールベック関数です。jsonにはResult JSONをパースしたオブジェクトが入ります。\r
- * @return\r
+ * @return {int}\r
* メソッドIDを返します。\r
*/\r
sendMethod:function callJsonRpc(i_method,i_params,i_callback)\r
+/**\r
+ * @fileOverview AnalogInクラスを定義します。\r
+ */\r
(function(){\r
var NS=mbedJS;\r
var MI=MiMicJS;\r
\r
/**\r
- * @name mbedJS.AnalogIn\r
* AnalogInクラスです。\r
* <a href="https://mbed.org/handbook/AnalogIn">mbed::AnalogIn</a>と同等の機能を持ちます。\r
* @constructor\r
+ * @name mbedJS.AnalogIn\r
* @param {mbedJS.Mcu} i_mcu\r
* インスタンスをバインドするMCUオブジェクトです。\r
* @param {PinName} i_params\r
* Generatorを指定した場合、コールバック関数の引数はyiledの戻り値として取得できます。\r
* <p>\r
* @return {mbedJS.AnalogIn}\r
- * @example\r
+ * @example //Callback\r
+ * var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",\r
+ * {\r
+ * onNew:function(){\r
+ * var pin=new mbedJS.AnalogIn(mcu,mbedJS.PinName.A0,{\r
+ * onNew:function(){\r
+ * pin.read();\r
+ * },\r
+ * onRead:function(v)\r
+ * {\r
+ * pin.read_u16();\r
+ * },\r
+ * onRead_u16:function(v){\r
+ * mcu.close();\r
+ * }});\r
+ * },\r
+ * onClose:function(){},\r
+ * onError:function(){}\r
+ * });\r
+ * @example //Generator\r
+ * var g=function*(){\r
+ * try{\r
+ * var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",g);\r
+ * yield mcu.waitForNew();\r
+ * var pin=new mbedJS.AnalogIn(mcu,mbedJS.PinName.A0,g);\r
+ * yield pin.waitForNew();\r
+ * var v=yield pin.read();\r
+ * v=yield pin.read_u16();\r
+ * yield mcu.close();\r
+ * }catch(e){\r
+ * mcu.shutdown();\r
+ * }}();\r
+ * g.next();\r
*/\r
var CLASS=function AnalogIn(i_mcu,i_params,i_handler)\r
{\r
/** @private リモートインスタンスのオブジェクトIDです。*/\r
_oid:null,\r
/**\r
- * @name mbedJS.AnalogIn#waitForNew\r
- * @function\r
* Generatorモードのときに使用する関数です。\r
* Generatorモードの時は、yieldと併用してnew AnalogIn()の完了を待ちます。\r
+ * @name mbedJS.AnalogIn#waitForNew\r
+ * @function\r
*/\r
waitForNew:function AnalogIn_waitForNew()\r
{\r
}\r
},\r
/**\r
- * @name mbedJS.AnalogIn#read\r
- * @function\r
* ピンから値を読み込みます。\r
* 関数の完了時にonReadイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
- * @return {int|float}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
- * <p>Generatorモードの時はピンの値を返します。</p>\r
+ * @name mbedJS.AnalogIn#read\r
+ * @function\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
+ * @return {float}\r
+ * Generatorモードの時はピンの値を返します。\r
*/\r
read:function AnalogIn_read()\r
{\r
} \r
},\r
/**\r
- * @name mbedJS.AnalogIn#read_u16\r
- * @function\r
* ピンから値を読み込みます。\r
* 関数の完了時にonRead_u16イベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
- * @return {int|int}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
- * <p>Generatorモードの時はピンの値を返します。</p>\r
+ * @name mbedJS.AnalogIn#read_u16\r
+ * @function\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
+ * @return {int}\r
+ * Generatorモードの時はピンの値を返します。\r
*/\r
read_u16:function AnalogIn_read_u16()\r
{\r
+/**\r
+ * @fileOverview AnalogOutクラスを定義します。\r
+ */\r
(function(){\r
var NS=mbedJS;\r
var MI=MiMicJS;\r
\r
/**\r
- * @name mbedJS.AnalogOut\r
* AnalogOutクラスです。\r
* <a href="https://mbed.org/handbook/AnalogOut">mbed::AnalogOut</a>と同等の機能を持ちます。\r
+ * @name mbedJS.AnalogOut\r
* @constructor\r
* @param {mbedJS.Mcu} i_mcu\r
* インスタンスをバインドするMCUオブジェクトです。\r
* Generatorを指定した場合、コールバック関数の引数はyiledの戻り値として取得できます。\r
* <p>\r
* @return {mbedJS.AnalogOut}\r
- * @example\r
+ * @example //Callback\r
+ * var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",\r
+ * {\r
+ * onNew:function(){\r
+ * var pin=new mbedJS.AnalogOut(mcu,mbedJS.PinName.p18,{\r
+ * onNew:function(){\r
+ * pin.write(0.5);\r
+ * },\r
+ * onWrite:function()\r
+ * {\r
+ * pin.read();\r
+ * },\r
+ * onRead:function(v)\r
+ * {\r
+ * pin.write_u16(0);\r
+ * },\r
+ * onWrite_u16:function()\r
+ * {\r
+ * mcu.close();\r
+ * }\r
+ * });\r
+ * },\r
+ * onClose:function(){\r
+ * },\r
+ * onError:function(){\r
+ * }\r
+ * });\r
+ * @example //Generator\r
+ * var g=function*(){\r
+ * try{\r
+ * var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",g);\r
+ * yield mcu.waitForNew();\r
+ * var pin=new mbedJS.AnalogOut(mcu,mbedJS.PinName.p18,g);\r
+ * yield pin.waitForNew();\r
+ * v=yield pin.write(0.3);\r
+ * var v=yield pin.read();\r
+ * v=yield pin.write_u16(1000);\r
+ * var v=yield pin.read();\r
+ * yield mcu.close();\r
+ * }catch(e){\r
+ * mcu.shutdown();\r
+ * }}();\r
+ * g.next();\r
*/\r
var CLASS=function AnalogOut(i_mcu,i_params,i_handler)\r
{\r
/** @private リモートインスタンスのオブジェクトIDです。*/\r
_oid:null,\r
/**\r
- * @name mbedJS.AnalogOut#waitForNew\r
- * @function\r
* Generatorモードのときに使用する関数です。\r
* Generatorモードの時は、yieldと併用してnew AnalogOut()の完了を待ちます。\r
+ * @name mbedJS.AnalogOut#waitForNew\r
+ * @function\r
*/\r
waitForNew:function AnalogOut_waitForNew()\r
{\r
} \r
}, \r
/**\r
- * @name mbedJS.AnalogOut#write\r
- * @function\r
* ピンに値を出力します。\r
* 関数の完了時にonWriteイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
+ * @name mbedJS.AnalogOut#write\r
+ * @function\r
* @param {float} i_value\r
* [0,1]の範囲で値を指定します。\r
- * @return {int|none}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
- * <p>Generatorモードの時は戻り値はありません。</p>\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
*/\r
write:function AnalogOut_write(i_value)\r
{\r
} \r
},\r
/**\r
- * @name mbedJS.AnalogOut#write_u16\r
- * @function\r
* ピンに値を出力します。\r
* 関数の完了時にonWrite_u16イベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
+ * @name mbedJS.AnalogOut#write_u16\r
+ * @function\r
* @param {int} i_value\r
* [0,0xffff]の範囲の整数を指定します。\r
- * @return {int|none}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
- * <p>Generatorモードの時は戻り値はありません。</p>\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
*/\r
write_u16:function AnalogOut_write_u16(i_value)\r
{\r
} \r
}, \r
/**\r
- * @name mbedJS.AnalogOut#read\r
- * @function\r
* ピンから値を読み込みます。\r
* 関数の完了時にonReadイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
- * @return {int|float}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
- * <p>Generatorモードの時はピンの値を返します。</p>\r
+ * @name mbedJS.AnalogOut#read\r
+ * @function\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
+ * @return {float}\r
+ * Generatorモードの時はピンの値を返します。\r
*/\r
read:function AnalogOut_read()\r
{\r
+/**\r
+ * @fileOverview BusInクラスを定義します。\r
+ */\r
(function(){\r
var NS=mbedJS;\r
var MI=MiMicJS;\r
\r
/**\r
- * @name mbedJS.BusIn\r
* BusInクラスです。\r
* <a href="https://mbed.org/handbook/BusIn">mbed::BusIn</a>と同等の機能を持ちます。\r
+ * @name mbedJS.BusIn\r
* @constructor\r
* @param {mbedJS.Mcu} i_mcu\r
* インスタンスをバインドするMCUオブジェクトです。\r
* Generatorを指定した場合、コールバック関数の引数はyiledの戻り値として取得できます。\r
* <p>\r
* @return {mbedJS.BusIn}\r
- * @example\r
+ * @example //Callback\r
+ * var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",\r
+ * {\r
+ * onNew:function(){\r
+ * var pin=new mbedJS.BusIn(mcu,[mbedJS.PinName.P0_21,mbedJS.PinName.P0_22],{\r
+ * onNew:function(){\r
+ * pin.read();\r
+ * },\r
+ * onRead:function(v)\r
+ * {\r
+ * pin.mode(mbedJS.PinMode.PullDown);\r
+ * },\r
+ * onMode:function(v){\r
+ * mcu.close();\r
+ * }});\r
+ * },\r
+ * onClose:function(){\r
+ * },\r
+ * onError:function(){\r
+ * }\r
+ * });\r
+ * @example //Generator\r
+ * var g=function*(){\r
+ * try{\r
+ * var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",g);\r
+ * yield mcu.waitForNew();\r
+ * var bus=new mbedJS.BusIn(mcu,[mbedJS.PinName.P0_21,mbedJS.PinName.P0_22],g);\r
+ * yield bus.waitForNew();\r
+ * var v=yield bus.read();\r
+ * v=yield bus.mode(mbedJS.PinMode.PullUp);\r
+ * yield mcu.close();\r
+ * }catch(e){\r
+ * mcu.shutdown();\r
+ * }}();\r
+ * g.next();\r
*/\r
var CLASS=function BusIn(i_mcu,i_params,i_handler)\r
{\r
/** @private リモートインスタンスのオブジェクトIDです。*/\r
_oid:null,\r
/**\r
- * @name mbedJS.BusIn#waitForNew\r
- * @function\r
* Generatorモードのときに使用する関数です。\r
* Generatorモードの時は、yieldと併用してnew BusIn()の完了を待ちます。\r
+ * @name mbedJS.BusIn#waitForNew\r
+ * @function\r
*/\r
waitForNew:function BusIn_waitForNew()\r
{\r
}\r
},\r
/**\r
- * @name mbedJS.BusIn#read\r
- * @function\r
* ピンから値を読み込みます。\r
* 関数の完了時にonReadイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
- * @return {int|int}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
- * <p>Generatorモードの時はピンの値を返します。</p>\r
+ * @name mbedJS.BusIn#read\r
+ * @function\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
+ * @return {int}\r
+ * Generatorモードの時はピンの値を返します。\r
*/\r
read:function BusIn_read()\r
{\r
}\r
},\r
/**\r
- * @name mbedJS.BusIn#mode\r
- * @function\r
* ピンモードを設定します。\r
* 関数の完了時にonModeイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
+ * @name mbedJS.BusIn#mode\r
+ * @function\r
* @param {PinMode} i_value\r
* PinModeの値です。\r
- * @return {int|none}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
*/\r
mode:function BusIn_mode(i_value)\r
{\r
+/**\r
+ * @fileOverview BusInOutクラスを定義します。\r
+ */\r
(function(){\r
var NS=mbedJS;\r
var MI=MiMicJS;\r
\r
/**\r
- * @name mbedJS.BusInOut\r
* BusInOutクラスです。\r
* <a href="https://mbed.org/handbook/BusInOut">mbed::BusInOut</a>と同等の機能を持ちます。\r
+ * @name mbedJS.BusInOut\r
* @constructor\r
* @param {mbedJS.Mcu} i_mcu\r
* インスタンスをバインドするMCUオブジェクトです。\r
* Generatorを指定した場合、コールバック関数の引数はyiledの戻り値として取得できます。\r
* <p>\r
* @return {mbedJS.BusIn}\r
- * @example\r
+ * @example //Callback\r
+ * var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",\r
+ * {\r
+ * onNew:function(){\r
+ * var bus=new mbedJS.BusInOut(mcu,[mbedJS.PinName.P0_21,mbedJS.PinName.P0_22],{\r
+ * onNew:function(){\r
+ * bus.mode(mbedJS.PinMode.PullDown);\r
+ * },\r
+ * onMode:function()\r
+ * {\r
+ * bus.output();\r
+ * },\r
+ * onOutput:function()\r
+ * {\r
+ * bus.write(1);\r
+ * },\r
+ * onWrite:function()\r
+ * {\r
+ * bus.input();\r
+ * },\r
+ * onInput:function(){\r
+ * bus.read();\r
+ * },\r
+ * onRead:function(v)\r
+ * {\r
+ * mcu.close();\r
+ * }});\r
+ * },\r
+ * onClose:function(){\r
+ * },\r
+ * onError:function(){\r
+ * }\r
+ * });\r
+ * \r
+ * @example //Generator\r
+ * var g=function*(){\r
+ * try{\r
+ * var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",g);\r
+ * yield mcu.waitForNew();\r
+ * var bus=new mbedJS.BusInOut(mcu,[mbedJS.PinName.P0_21,mbedJS.PinName.P0_22],g);\r
+ * yield bus.waitForNew();\r
+ * yield bus.mode(mbedJS.PinMode.PullDown);\r
+ * yield bus.output();\r
+ * yield bus.write(1);\r
+ * yield bus.input();\r
+ * var v=yield bus.read();\r
+ * yield mcu.close();\r
+ * }catch(e){\r
+ * mcu.shutdown();\r
+ * }\r
+ * }();\r
+ * g.next();\r
*/\r
var CLASS=function BusInOut(i_mcu,i_params,i_handler)\r
{\r
/** @private リモートインスタンスのオブジェクトIDです。*/\r
_oid:null,\r
/**\r
- * @name mbedJS.BusInOut#waitForNew\r
- * @function\r
* Generatorモードのときに使用する関数です。\r
* Generatorモードの時は、yieldと併用してnew BusInOut()の完了を待ちます。\r
+ * @name mbedJS.BusInOut#waitForNew\r
+ * @function\r
*/\r
waitForNew:function BusInOut_waitForNew()\r
{\r
}\r
}, \r
/**\r
- * @name mbedJS.BusInOut#write\r
- * @function\r
* ピンに値を出力します。\r
* 関数の完了時にonWriteイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
+ * @name mbedJS.BusInOut#write\r
+ * @function\r
* @param {int} i_value\r
- * @return {int|none}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
- * <p>Generatorモードの時は戻り値はありません。</p>\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
*/\r
write:function BusInOut_write(i_value)\r
{\r
}\r
},\r
/**\r
- * @name mbedJS.BusInOut#read\r
- * @function\r
* ピンから値を読み込みます。\r
* 関数の完了時にonReadイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
- * @return {int|int}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
- * <p>Generatorモードの時はピンの値を返します。</p>\r
+ * @name mbedJS.BusInOut#read\r
+ * @function\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
+ * @return {int}\r
+ * Generatorモードの時はピンの値を返します。\r
*/\r
read:function BusInOut_read()\r
{\r
}\r
},\r
/**\r
- * @name mbedJS.BusInOut#mode\r
- * @function\r
* ピンモードを設定します。\r
* 関数の完了時にonModeイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
+ * @name mbedJS.BusInOut#mode\r
+ * @function\r
* @param {PinMode} i_value\r
* PinModeの値です。\r
- * @return {int|none}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
*/\r
mode:function BusInOut_mode(i_value)\r
{\r
}\r
},\r
/**\r
- * @name mbedJS.BusInOut#input\r
- * @function\r
* ピンモードを設定します。\r
* 関数の完了時にonInputイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
- * @return {int|none}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
+ * @name mbedJS.BusInOut#input\r
+ * @function\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
*/\r
input:function BusInOut_input()\r
{\r
}\r
},\r
/**\r
- * @name mbedJS.BusInOut#output\r
- * @function\r
* ピンモードを設定します。\r
* 関数の完了時にonOutputイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
- * @return {int|none}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
+ * @name mbedJS.BusInOut#output\r
+ * @function\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
*/\r
output:function BusInOut_output()\r
{\r
+/**\r
+ * @fileOverview BusOutクラスを定義します。\r
+ */\r
(function(){\r
var NS=mbedJS;\r
var MI=MiMicJS;\r
\r
/**\r
- * @name mbedJS.BusOut\r
* BusOutクラスです。\r
* <a href="https://mbed.org/handbook/BusOut">mbed::BusOut</a>と同等の機能を持ちます。\r
+ * @name mbedJS.BusOut\r
* @constructor\r
* @param {mbedJS.Mcu} i_mcu\r
* インスタンスをバインドするMCUオブジェクトです。\r
* Generatorを指定した場合、コールバック関数の引数はyiledの戻り値として取得できます。\r
* <p>\r
* @return {mbedJS.BusOut}\r
- * @example\r
+ * @example //Callback\r
+ * var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",\r
+ * {\r
+ * onNew:function(){\r
+ * var bus=new mbedJS.BusOut(mcu,[mbedJS.PinName.P0_21,mbedJS.PinName.P0_22],{\r
+ * onNew:function(){\r
+ * bus.write(2);\r
+ * },\r
+ * onWrite:function()\r
+ * {\r
+ * bus.read();\r
+ * },\r
+ * onRead:function(v){\r
+ * mcu.close();\r
+ * },\r
+ * });\r
+ * },\r
+ * onClose:function(){\r
+ * },\r
+ * onError:function(){\r
+ * }\r
+ * });\r
+ * @example //Generator\r
+ * var g=function*(){\r
+ * try{\r
+ * var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",g);\r
+ * yield mcu.waitForNew();\r
+ * var bus=new mbedJS.BusOut(mcu,[mbedJS.PinName.P0_21,mbedJS.PinName.P0_22],g);\r
+ * yield bus.waitForNew();\r
+ * yield bus.write(1);\r
+ * var v=yield bus.read();\r
+ * yield mcu.close();\r
+ * }catch(e){\r
+ * mcu.shutdown();\r
+ * }\r
+ * }();\r
+ * g.next();\r
*/\r
var CLASS=function BusOut(i_mcu,i_params,i_handler)\r
{\r
/** @private リモートインスタンスのオブジェクトIDです。*/\r
_oid:null,\r
/**\r
- * @name mbedJS.BusOut#waitForNew\r
- * @function\r
* Generatorモードのときに使用する関数です。\r
* Generatorモードの時は、yieldと併用してnew BusOut()の完了を待ちます。\r
+ * @name mbedJS.BusOut#waitForNew\r
+ * @function\r
*/\r
waitForNew:function BusOut_waitForNew()\r
{\r
}\r
}, \r
/**\r
- * @name mbedJS.BusOut#write\r
- * @function\r
* ピンに値を出力します。\r
* 関数の完了時にonWriteイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
+ * @name mbedJS.BusOut#write\r
+ * @function\r
* @param {int} i_value\r
- * @return {int|none}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
- * <p>Generatorモードの時は戻り値はありません。</p>\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
*/\r
write:function BusOut_write(i_value)\r
{\r
}\r
},\r
/**\r
- * @name mbedJS.BusOut#read\r
- * @function\r
* ピンから値を読み込みます。\r
* 関数の完了時にonReadイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
- * @return {int|int}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
- * <p>Generatorモードの時はピンの値を返します。</p>\r
+ * @name mbedJS.BusOut#read\r
+ * @function\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
+ * @return {int}\r
+ * Generatorモードの時はピンの値を返します。\r
*/\r
read:function BusOut_read()\r
{\r
+/**\r
+ * @fileOverview DigitalInクラスを定義します。\r
+ */\r
(function(){\r
var NS=mbedJS;\r
var MI=MiMicJS;\r
\r
/**\r
- * @name mbedJS.DigitalIn\r
* DigitalInクラスです。\r
* <a href="https://mbed.org/handbook/DigitalIn">mbed::DigitalIn</a>と同等の機能を持ちます。\r
+ * @name mbedJS.DigitalIn\r
* @constructor\r
* @param {mbedJS.Mcu} i_mcu\r
* インスタンスをバインドするMCUオブジェクトです。\r
* Generatorを指定した場合、コールバック関数の引数はyiledの戻り値として取得できます。\r
* <p>\r
* @return {mbedJS.DigitalIn}\r
- * @example\r
+ * @example //Callback\r
+ * var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",\r
+ * {\r
+ * onNew:function(){\r
+ * var pin=new mbedJS.DigitalIn(mcu,mbedJS.PinName.P0_22,{\r
+ * onNew:function(){\r
+ * pin.mode(mbedJS.PinMode.PullUp);\r
+ * },\r
+ * onMode:function()\r
+ * {\r
+ * pin.read();\r
+ * },\r
+ * onRead:function(v){\r
+ * mcu.close();\r
+ * }});\r
+ * },\r
+ * onClose:function(){\r
+ * },\r
+ * onError:function(){\r
+ * }\r
+ * });\r
+ * @example //Generator\r
+ * var g=function*(){\r
+ * try{\r
+ * var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",g);\r
+ * yield mcu.waitForNew();\r
+ * var pin=new mbedJS.DigitalIn(mcu,mbedJS.PinName.P0_22,g);\r
+ * yield pin.waitForNew();\r
+ * var v=yield pin.read();\r
+ * yield pin.mode(mbedJS.PinMode.PullDown);\r
+ * yield mcu.close();\r
+ * }catch(e){\r
+ * mcu.shutdown();\r
+ * }}();\r
+ * g.next();\r
*/\r
var CLASS=function DigitalIn(i_mcu,i_params,i_handler)\r
{\r
/** @private リモートインスタンスのオブジェクトIDです。*/\r
_oid:null,\r
/**\r
- * @name mbedJS.DigitalIn#waitForNew\r
- * @function\r
* Generatorモードのときに使用する関数です。\r
* Generatorモードの時は、yieldと併用してnew DigitalIn()の完了を待ちます。\r
+ * @name mbedJS.DigitalIn#waitForNew\r
+ * @function\r
*/\r
waitForNew:function DigitalIn_waitForNew()\r
{\r
}\r
},\r
/**\r
- * @name mbedJS.DigitalIn#read\r
- * @function\r
* ピンからアナログ値を読み込みます。\r
* 関数の完了時にonReadイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
+ * @name mbedJS.DigitalIn#read\r
+ * @function\r
* @return {int|int}\r
* <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
* <p>Generatorモードの時はピンの値を返します。</p>\r
}\r
},\r
/**\r
- * @name mbedJS.DigitalIn#mode\r
- * @function\r
* ピンモードを設定します。\r
* 関数の完了時にonModeイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
+ * @name mbedJS.DigitalIn#mode\r
+ * @function\r
* @param {PinMode} i_value\r
* PinModeの値です。\r
* @return {int|none}\r
+/**\r
+ * @fileOverview DigitalOutクラスを定義します。\r
+ */\r
(function(){\r
var NS=mbedJS;\r
var MI=MiMicJS;\r
\r
/**\r
- * @name mbedJS.DigitalOut\r
* DigitalOutクラスです。\r
* <a href="https://mbed.org/handbook/DigitalOut">mbed::DigitalOut</a>と同等の機能を持ちます。\r
+ * @name mbedJS.DigitalOut\r
* @constructor\r
* @param {mbedJS.Mcu} i_mcu\r
* インスタンスをバインドするMCUオブジェクトです。\r
* Generatorを指定した場合、コールバック関数の引数はyiledの戻り値として取得できます。\r
* <p>\r
* @return {mbedJS.DigitalOut}\r
- * @example\r
+ * @example //Callback\r
+ * var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",\r
+ * {\r
+ * onNew:function(){\r
+ * var pin=new mbedJS.DigitalOut(mcu,mbedJS.PinName.P0_22,{\r
+ * onNew:function(){\r
+ * pin.read();\r
+ * },\r
+ * onWrite:function(){\r
+ * mcu.close();\r
+ * },\r
+ * onRead:function(v){\r
+ * pin.write((v+1)%2);\r
+ * }});\r
+ * },\r
+ * onClose:function(){\r
+ * },\r
+ * onError:function(){\r
+ * }\r
+ * });\r
+ * @example //Generator\r
+ * var g=function*(){\r
+ * try{\r
+ * var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",g);\r
+ * yield mcu.waitForNew();\r
+ * var pin=new mbedJS.DigitalOut(mcu,{pin:mbedJS.PinName.P0_22,value:0},g);\r
+ * yield pin.waitForNew();\r
+ * var v=yield pin.read();\r
+ * yield pin.write((v+1)%2);\r
+ * v=yield pin.read();\r
+ * yield pin.write((v+1)%2);\r
+ * yield mcu.close();\r
+ * }catch(e){\r
+ * mcu.shutdown();\r
+ * }\r
+ * }();\r
+ * g.next();\r
*/\r
var CLASS=function DigitalOut(i_mcu,i_params,i_handler)\r
{\r
/** @private リモートインスタンスのオブジェクトIDです。*/\r
_oid:null,\r
/**\r
- * @name mbedJS.DigitalOut#waitForNew\r
- * @function\r
* Generatorモードのときに使用する関数です。\r
* Generatorモードの時は、yieldと併用してnew DigitalOut()の完了を待ちます。\r
+ * @name mbedJS.DigitalOut#waitForNew\r
+ * @function\r
*/\r
waitForNew:function DigitalOut_waitForNew()\r
{\r
}\r
}, \r
/**\r
- * @name mbedJS.DigitalOut#write\r
- * @function\r
* ピンに値を出力します。\r
* 関数の完了時にonWriteイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
+ * @name mbedJS.DigitalOut#write\r
+ * @function\r
* @param {int} i_value\r
- * @return {int|none}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
- * <p>Generatorモードの時は戻り値はありません。</p>\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
*/\r
write:function DigitalOut_write(i_value)\r
{\r
}\r
},\r
/**\r
- * @name mbedJS.DigitalOut#read\r
- * @function\r
* ピンから値を読み込みます。\r
* 関数の完了時にonReadイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
- * @return {int|int}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
- * <p>Generatorモードの時はピンの値を返します。</p>\r
+ * @name mbedJS.DigitalOut#read\r
+ * @function\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
+ * @return {int}\r
+ * Generatorモードの時はピンの値を返します。\r
*/\r
read:function DigitalOut_read()\r
{\r
+/**\r
+ * @fileOverview Mcuクラスを定義します。\r
+ */\r
(function(){\r
var NS=mbedJS;\r
var MI=MiMicJS;\r
\r
/**\r
+ * mbedJSを搭載したmbedに接続したインスタンスを生成します。\r
+ * Mcuオブジェクトは、他のペリフェラルクラスをインスタンス化するときに必要です。\r
* @name mbedJS.Mcu\r
* @constructor\r
- * mbedJSを搭載したmbedに接続したインスタンスを生成します。\r
* @param {string} i_url\r
* 接続先のMiMicRPCサービスのアドレスを指定します。\r
* @param {HashMap|Generator} i_handler\r
* Generatorを指定した場合、コールバック関数の戻り値はyiledの戻り値として取得できます。\r
* <p>\r
* @return {mbedJS.Mcu}\r
- * \r
+ * @example //Callback\r
+ * var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",\r
+ * {\r
+ * onNew:function(){\r
+ * },\r
+ * onClose:function(){\r
+ * },\r
+ * onError:function(){\r
+ * }\r
+ * });\r
+ * @example //Generator\r
+ * var g=function*(){\r
+ * try{\r
+ * var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",g);\r
+ * yield mcu.waitForNew();\r
+ * yield mcu.close();\r
+ * }catch(e){\r
+ * mcu.shutdown();\r
+ * }\r
+ * }();\r
+ * g.next();\r
*/\r
var CLASS=function Mcu(i_url,i_handler)\r
{\r
_event:{},\r
_has_error:false,\r
/**\r
- * @name mbedJS.Mcu#hasError\r
- * @function\r
* エラー状態であるかを返します。\r
* Generatorモードの場合に、定期実行してインスタンスの状態をチェックできます。\r
* falseの場合、下位のオブジェクトでyieldロックが発生している場合があります。\r
- * @returns\r
+ * @name mbedJS.Mcu#hasError\r
+ * @function\r
+ * @return {boolean}\r
* true - インスタンスはエラー状態で停止中です。使用できません。\r
* false - インスタンスは動作中です。使用可能です。\r
*/\r
return _t._has_error;\r
},\r
/**\r
- * @name mbedJS.Mcu#waitForNew\r
- * @function\r
* Generatorモードのときに使用する関数です。\r
* Generatorモードの時は、yieldと併用してnew Mcu()の完了を待ちます。\r
+ * @name mbedJS.Mcu#waitForNew\r
+ * @function\r
*/\r
waitForNew:function MCU_waitForNew(){\r
if(this._lc!=CLASS){throw new MI.MiMicException(MI.Error.NG_ILLEGAL_CALL);}\r
this._lc=CLASS.waitForNew;\r
},\r
/**\r
- * @name mbedJS.Mcu#close\r
- * @function\r
* RPCを切断します。関数の完了時にonCloseイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
+ * @name mbedJS.Mcu#close\r
+ * @function\r
*/\r
close:function MCU_close(){\r
if(this._gen && this._lc){throw new MI.MiMicException(MI.Error.NG_YIELD_NOT_COMPLETED);}\r
this._rpc.close();\r
},\r
/**\r
+ * コールバック関数を全てキャンセルして、Mcuとの接続をシャットダウンします。\r
* @name mbedJS.Mcu#shutdown\r
* @function\r
- * コールバック関数を全てキャンセルして、Mcuとの接続をシャットダウンします。\r
*/\r
shutdown:function MCU_shutdown(){\r
this._rpc.shutdown();\r
},\r
/**\r
+ * RPCメソッドを実行します。\r
* @name mbedJS.Mcu#rpc\r
* @function\r
- * RPCメソッドを実行します。\r
* @param {string} m\r
* メソッド名です。\r
* @param {string} p\r
* <ul>\r
* <li>json - 戻り値をJSON文字列としてパースしたObjectです。</li>\r
* </ul>\r
- * @return\r
+ * @return {int}\r
* メソッドのid値を返します。\r
*/\r
rpc:function Mcu_rpc(m,p,c){\r
}\r
return this._rpc.sendMethod(m,p,c);\r
},\r
+ /** @private */\r
addItem:function(o){\r
this._items.push(o);\r
}\r
+/**\r
+ * @fileOverview PortInクラスを定義します。\r
+ */\r
(function(){\r
var NS=mbedJS;\r
var MI=MiMicJS;\r
\r
/**\r
- * @name mbedJS.PortIn\r
* PortInクラスです。\r
* <a href="https://mbed.org/handbook/PortIn">mbed::PortIn</a>と同等の機能を持ちます。\r
+ * @name mbedJS.PortIn\r
* @constructor\r
* @param {mbedJS.Mcu} i_mcu\r
* インスタンスをバインドするMCUオブジェクトです。\r
* Generatorを指定した場合、コールバック関数の引数はyiledの戻り値として取得できます。\r
* <p>\r
* @return {mbedJS.PortIn}\r
- * @example\r
+ * @example //Callback\r
+ * var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",\r
+ * {\r
+ * onNew:function(){\r
+ * var pin=new mbedJS.PortIn(mcu,[mbedJS.PortName.Port0,0xffffffff],{\r
+ * onNew:function(){\r
+ * log("[PASS]onNew");\r
+ * pin.read();\r
+ * },\r
+ * onRead:function(v)\r
+ * {\r
+ * log("[PASS]read:"+v);\r
+ * mcu.close();\r
+ * }});\r
+ * },\r
+ * onClose:function(){\r
+ * log("[PASS]onClose");\r
+ * },\r
+ * onError:function(){\r
+ * alert("Error");\r
+ * }\r
+ * });\r
+ * @example //Generator\r
+ * var g=function*(){\r
+ * try{\r
+ * var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",g);\r
+ * yield mcu.waitForNew();\r
+ * var port=new mbedJS.PortIn(mcu,[mbedJS.PortName.Port0,0xffffffff],g);\r
+ * yield port.waitForNew();\r
+ * var v=yield port.read();\r
+ * yield mcu.close();\r
+ * }catch(e){\r
+ * mcu.shutdown();\r
+ * }\r
+ * }();\r
+ * g.next();\r
*/\r
var CLASS=function PortIn(i_mcu,i_params,i_handler)\r
{\r
/** @private リモートインスタンスのオブジェクトIDです。*/\r
_oid:null,\r
/**\r
- * @name mbedJS.PortIn#waitForNew\r
- * @function\r
* Generatorモードのときに使用する関数です。\r
* Generatorモードの時は、yieldと併用してnew PortIn()の完了を待ちます。\r
+ * @name mbedJS.PortIn#waitForNew\r
+ * @function\r
*/\r
waitForNew:function PortIn_waitForNew()\r
{\r
}\r
},\r
/**\r
- * @name mbedJS.PortIn#read\r
- * @function\r
* ピンから値を読み込みます。\r
* 関数の完了時にonReadイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
- * @return {int|int}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
- * <p>Generatorモードの時はポートの値を返します。</p>\r
+ * @name mbedJS.PortIn#read\r
+ * @function\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
+ * @return {int}\r
+ * Generatorモードの時はポートの値を返します。\r
*/\r
read:function PortIn_read()\r
{\r
+/**\r
+ * @fileOverview PortOutクラスを定義します。\r
+ */\r
(function(){\r
var NS=mbedJS;\r
var MI=MiMicJS;\r
\r
/**\r
- * @name mbedJS.PortOut\r
* PortOutクラスです。\r
* <a href="https://mbed.org/handbook/PortOut">mbed::PortOut</a>と同等の機能を持ちます。\r
+ * @name mbedJS.PortOut\r
* @constructor\r
* @param {mbedJS.Mcu} i_mcu\r
* インスタンスをバインドするMCUオブジェクトです。\r
* Generatorを指定した場合、コールバック関数の引数はyiledの戻り値として取得できます。\r
* <p>\r
* @return {mbedJS.PortOut}\r
- * @example\r
+ * @example //Callback\r
+ * var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",\r
+ * {\r
+ * onNew:function(){\r
+ * var pin=new mbedJS.PortOut(mcu,[mbedJS.PortName.Port0,0xffffffff],{\r
+ * onNew:function(){\r
+ * pin.write(1234);\r
+ * },\r
+ * onWrite:function()\r
+ * {\r
+ * pin.read();\r
+ * }, \r
+ * onRead:function(v)\r
+ * {\r
+ * mcu.close();\r
+ * }});\r
+ * },\r
+ * onClose:function(){\r
+ * },\r
+ * onError:function(){\r
+ * }\r
+ * });\r
+ * @example //Generator\r
+ * var g=function*(){\r
+ * try{\r
+ * var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",g);\r
+ * yield mcu.waitForNew();\r
+ * var port=new mbedJS.PortOut(mcu,{port:mbedJS.PortName.Port0,mask:0xffffffff},g);\r
+ * yield port.waitForNew();\r
+ * yield port.write(5678);\r
+ * var v=yield port.read();\r
+ * yield mcu.close();\r
+ * }catch(e){\r
+ * mcu.shutdown();\r
+ * }\r
+ * }();\r
+ * g.next();\r
*/\r
var CLASS=function PortOut(i_mcu,i_params,i_handler)\r
{\r
/** @private リモートインスタンスのオブジェクトIDです。*/\r
_oid:null,\r
/**\r
- * @name mbedJS.PortOut#waitForNew\r
- * @function\r
* Generatorモードのときに使用する関数です。\r
* Generatorモードの時は、yieldと併用してnew PortOut()の完了を待ちます。\r
+ * @name mbedJS.PortOut#waitForNew\r
+ * @function\r
*/\r
waitForNew:function DigitalOut_waitForNew()\r
{\r
}\r
},\r
/**\r
- * @name mbedJS.PortOut#write\r
- * @function\r
* ポートへ値を出力します。\r
* 関数の完了時にonWriteイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
+ * @name mbedJS.PortOut#write\r
+ * @function\r
* @param {int} i_value\r
- * @return {int|none}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
- * <p>Generatorモードの時は戻り値はありません。</p>\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
*/\r
write:function PortOut_write(i_value)\r
{\r
}\r
},\r
/**\r
- * @name mbedJS.PortOut#write\r
- * @function\r
* ポートから値を読み込みます。\r
* 関数の完了時にonReadイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
- * @return {int|int}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
- * <p>Generatorモードの時はポートの値を返します。</p>\r
+ * @name mbedJS.PortOut#write\r
+ * @function\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
+ * @return {int}\r
+ * Generatorモードの時はポートの値を返します。\r
*/\r
read:function PortOut_read()\r
{\r
+/**\r
+ * @fileOverview PwmOutクラスを定義します。\r
+ */\r
(function(){\r
var NS=mbedJS;\r
var MI=MiMicJS;\r
\r
/**\r
- * @name mbedJS.PwmOut\r
* PwmOutクラスです。\r
* <a href="https://mbed.org/handbook/PwmOut">mbed::PwmOut</a>と同等の機能を持ちます。\r
+ * @name mbedJS.PwmOut\r
* @constructor\r
* @param {mbedJS.Mcu} i_mcu\r
* インスタンスをバインドするMCUオブジェクトです。\r
* Generatorを指定した場合、コールバック関数の引数はyiledの戻り値として取得できます。\r
* <p>\r
* @return {mbedJS.PwmOut}\r
- * @example\r
+ * @example //Callback\r
+ * var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",\r
+ * {\r
+ * onNew:function(){\r
+ * var pin=new mbedJS.PwmOut(mcu,mbedJS.PinName.p21,{\r
+ * onNew:function(){\r
+ * pin.write(0.33);\r
+ * },\r
+ * onWrite:function()\r
+ * {\r
+ * pin.read();\r
+ * },\r
+ * onRead:function(v)\r
+ * {\r
+ * pin.period(1.0);\r
+ * },\r
+ * onPeriod:function(){\r
+ * pin.period_ms(1);\r
+ * },\r
+ * onPeriod_ms:function(){\r
+ * pin.period_us(10);\r
+ * },\r
+ * onPeriod_us:function(){\r
+ * pin.pulsewidth(3);\r
+ * },\r
+ * onPulsewidth:function(){\r
+ * pin.pulsewidth_ms(30);\r
+ * },\r
+ * onPulsewidth_ms:function(){\r
+ * pin.pulsewidth_us(40);\r
+ * },\r
+ * onPulsewidth_us:function(){\r
+ * mcu.close();\r
+ * }\r
+ * });\r
+ * },\r
+ * onClose:function(){\r
+ * },\r
+ * onError:function(){\r
+ * }\r
+ * });\r
+ * @example //Generator\r
+ * var g=function*(){\r
+ * try{\r
+ * var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",g);\r
+ * yield mcu.waitForNew();\r
+ * var pin=new mbedJS.PwmOut(mcu,mbedJS.PinName.p21,g);\r
+ * yield pin.waitForNew();\r
+ * yield pin.write(0.33);\r
+ * var v=yield pin.read();\r
+ * yield pin.period(1.0);\r
+ * yield pin.period_ms(1);\r
+ * yield pin.period_us(10);\r
+ * yield pin.pulsewidth(3);\r
+ * yield pin.pulsewidth_ms(30);\r
+ * yield pin.pulsewidth_us(40);\r
+ * yield mcu.close();\r
+ * }catch(e){\r
+ * mcu.shutdown();\r
+ * }}();\r
+ * g.next();\r
*/\r
var CLASS=function PwmOut(i_mcu,i_params,i_handler)\r
{\r
/** @private リモートインスタンスのオブジェクトIDです。*/\r
_oid:null,\r
/**\r
- * @name mbedJS.PwmOut#waitForNew\r
- * @function\r
* Generatorモードのときに使用する関数です。\r
* Generatorモードの時は、yieldと併用してnew PwmOut()の完了を待ちます。\r
+ * @name mbedJS.PwmOut#waitForNew\r
+ * @function\r
*/\r
waitForNew:function PwmOut_waitForNew()\r
{\r
} \r
},\r
/**\r
- * @name mbedJS.PwmOut#write\r
- * @function\r
* ピンに値を出力します。\r
* 関数の完了時にonWriteイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
+ * @name mbedJS.PwmOut#write\r
+ * @function\r
* @param {float} i_value\r
* [0,1]の値を指定します。\r
* @return {int|none}\r
}\r
},\r
/**\r
- * @name mbedJS.PwmOut#read\r
- * @function\r
* ピンから値を読み込みます。\r
* 関数の完了時にonReadイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
+ * @name mbedJS.PwmOut#read\r
+ * @function\r
* @return {int|float}\r
* <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
* <p>Generatorモードの時はピンの値を返します。</p>\r
} \r
},\r
/**\r
- * @name mbedJS.PwmOut#period\r
- * @function\r
* PWMの周期を設定します。\r
* 関数の完了時にonPeriodイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
+ * @name mbedJS.PwmOut#period\r
+ * @function\r
* @param {float} i_value\r
* 秒単位の周期を設定します。\r
* @return {int|none}\r
}\r
},\r
/**\r
- * @name mbedJS.PwmOut#period_ms\r
- * @function\r
* PWMの周期を設定します。\r
* 関数の完了時にonPeriod_msイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
+ * @name mbedJS.PwmOut#period_ms\r
+ * @function\r
* @param {int} i_value\r
* ms単位の周期を設定します。\r
* @return {int|none}\r
}\r
},\r
/**\r
- * @name mbedJS.PwmOut#period_us\r
- * @function\r
* PWMの周期を設定します。\r
* 関数の完了時にonPeriod_usイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
+ * @name mbedJS.PwmOut#period_us\r
+ * @function\r
* @param {int} i_value\r
* 整数値を指定します。\r
* @return {int|none}\r
}\r
},\r
/**\r
- * @name mbedJS.PwmOut#pulsewidth\r
- * @function\r
* PWMの周期を設定します。\r
* 関数の完了時にonPeriodイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
+ * @name mbedJS.PwmOut#pulsewidth\r
+ * @function\r
* @param {float} i_value\r
* 秒単位の周期を設定します。\r
* @return {int|none}\r
}\r
},\r
/**\r
- * @name mbedJS.PwmOut#pulsewidth_ms\r
- * @function\r
* PWMの周期を設定します。\r
* 関数の完了時にonPulsewidth_msイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
+ * @name mbedJS.PwmOut#pulsewidth_ms\r
+ * @function\r
* @param {int} i_value\r
* ms単位の周期を設定します。\r
- * @return {int|none}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
- * <p>Generatorモードの時は戻り値はありません。</p>\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
*/\r
pulsewidth_ms:function PwmOut_pulsewidth_ms(i_value)\r
{\r
}\r
},\r
/**\r
- * @name mbedJS.PwmOut#pulsewidth_us\r
- * @function\r
* PWMの周期を設定します。\r
* 関数の完了時にonPulsewidth_usイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
+ * @name mbedJS.PwmOut#pulsewidth_us\r
+ * @function\r
* @param {int} i_value\r
* 整数値を指定します。\r
- * @return {int|none}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
- * <p>Generatorモードの時は戻り値はありません。</p>\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
*/\r
pulsewidth_us:function PwmOut_pulsewidth_us(i_value)\r
{\r
+/**\r
+ * @fileOverview SPIクラスを定義します。\r
+ */\r
(function(){\r
var NS=mbedJS;\r
var MI=MiMicJS;\r
\r
/**\r
- * @name mbedJS.SPI\r
* SPIクラスです。\r
* <a href="https://mbed.org/handbook/SPI">mbed::SPI</a>と同等の機能を持ちます。\r
+ * @name mbedJS.SPI\r
* @constructor\r
* @param {mbedJS.Mcu} i_mcu\r
* インスタンスをバインドするMCUオブジェクトです。\r
* Generatorを指定した場合、コールバック関数の引数はyiledの戻り値として取得できます。\r
* <p>\r
* @return {mbedJS.SPI}\r
- * @example\r
+ * @example //Callback\r
+ * var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",\r
+ * {\r
+ * onNew:function(){\r
+ * var pin=new mbedJS.SPI(mcu,[mbedJS.PinName.p5,mbedJS.PinName.p6,mbedJS.PinName.p7],{\r
+ * onNew:function(){\r
+ * pin.frequency(1000000);\r
+ * },\r
+ * onFrequency:function()\r
+ * {\r
+ * pin.format(8,3);\r
+ * },\r
+ * onFormat:function()\r
+ * {\r
+ * pin.write(39);\r
+ * },\r
+ * onWrite:function(v){\r
+ * mcu.close();\r
+ * }});\r
+ * },\r
+ * onClose:function(){\r
+ * },\r
+ * onError:function(){\r
+ * }\r
+ * });\r
+ * @example //Generator\r
+ * var g=function*(){\r
+ * try{\r
+ * var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",g);\r
+ * yield mcu.waitForNew();\r
+ * var pin=new mbedJS.SPI(mcu,[mbedJS.PinName.p5,mbedJS.PinName.p6,mbedJS.PinName.p7],g);\r
+ * yield pin.waitForNew();\r
+ * yield pin.frequency(1000000);\r
+ * yield pin.format(8,3);\r
+ * v=yield pin.write(39);\r
+ * yield mcu.close();\r
+ * }catch(e){\r
+ * mcu.shutdown();\r
+ * }\r
+ * }();\r
+ * g.next();\r
*/\r
var CLASS=function SPI(i_mcu,i_params,i_handler)\r
{\r
/** @private リモートインスタンスのオブジェクトIDです。*/\r
_oid:null,\r
/**\r
- * @name mbedJS.SPI#waitForNew\r
- * @function\r
* Generatorモードのときに使用する関数です。\r
* Generatorモードの時は、yieldと併用してnew SPI()の完了を待ちます。\r
+ * @name mbedJS.SPI#waitForNew\r
+ * @function\r
*/\r
waitForNew:function SPI_waitForNew()\r
{\r
} \r
}, \r
/**\r
- * @name mbedJS.SPI#write\r
- * @function\r
* ピンに値を出力します。\r
* 関数の完了時にonWriteイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
+ * @name mbedJS.SPI#write\r
+ * @function\r
* @param {int} i_value\r
- * @return {int|none}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
- * <p>Generatorモードの時は戻り値はありません。</p>\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
*/\r
write:function SPI_write(i_value)\r
{\r
}\r
},\r
/**\r
- * @name mbedJS.SPI#frequency\r
- * @function\r
* ピンに値を出力します。\r
* 関数の完了時にonFrequencyイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
+ * @name mbedJS.SPI#frequency\r
+ * @function\r
* @param {int} i_value\r
- * \r
- * @return {int|none}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
- * <p>Generatorモードの時は戻り値はありません。</p>\r
+ * frequencyに設定する値です。\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
*/\r
frequency:function SPI_frequency(i_value)\r
{\r
}\r
}, \r
/**\r
- * @name mbedJS.SPI#format\r
- * @function\r
* ピンに値を出力します。\r
* 関数の完了時にonFrequencyイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
+ * @name mbedJS.SPI#format\r
+ * @function\r
* @param {int} i_bits\r
* @param {int} i_mode\r
* 省略可能です。省略時は0になります。\r
- * @return {int|none}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
- * <p>Generatorモードの時は戻り値はありません。</p>\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
*/\r
format:function SPI_format(i_bits,i_mode)\r
{\r
+/**\r
+ * @fileOverview SPISlaveクラスを定義します。\r
+ */\r
(function(){\r
var NS=mbedJS;\r
var MI=MiMicJS;\r
\r
/**\r
- * @name mbedJS.SPISlave\r
* SPISlaveクラスです。\r
* <a href="https://mbed.org/handbook/SPISlave">mbed::SPISlave</a>と同等の機能を持ちます。\r
+ * @name mbedJS.SPISlave\r
* @constructor\r
* @param {mbedJS.Mcu} i_mcu\r
* インスタンスをバインドするMCUオブジェクトです。\r
* Generatorを指定した場合、コールバック関数の引数はyiledの戻り値として取得できます。\r
* <p>\r
* @return {mbedJS.SPI}\r
- * @example\r
+ * @example //Callback\r
+ * var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",\r
+ * {\r
+ * onNew:function(){\r
+ * var pin=new mbedJS.SPISlave(mcu,[mbedJS.PinName.p5,mbedJS.PinName.p6,mbedJS.PinName.p7,mbedJS.PinName.p8],{\r
+ * onNew:function(){\r
+ * pin.frequency(1000000);\r
+ * },\r
+ * onFrequency:function()\r
+ * {\r
+ * pin.format(8,3);\r
+ * },\r
+ * onFormat:function()\r
+ * {\r
+ * pin.read();\r
+ * },\r
+ * onRead:function(v){\r
+ * pin.receive();\r
+ * },\r
+ * onReceive:function(v)\r
+ * {\r
+ * pin.reply(1);\r
+ * },\r
+ * onReply:function(){\r
+ * mcu.close();\r
+ * }\r
+ * });\r
+ * },\r
+ * onClose:function(){\r
+ * },\r
+ * onError:function(){\r
+ * }\r
+ * });\r
+ * @example //Generator\r
+ * var g=function*(){\r
+ * try{\r
+ * var mcu=new mbedJS.Mcu("ws://192.168.128.39/rpc/",g);\r
+ * yield mcu.waitForNew();\r
+ * var pin=new mbedJS.SPISlave(mcu,[mbedJS.PinName.p5,mbedJS.PinName.p6,mbedJS.PinName.p7,mbedJS.PinName.p8],g);\r
+ * yield pin.waitForNew();\r
+ * yield pin.frequency(1000000);\r
+ * yield pin.format(8,3);\r
+ * var v=yield pin.read();\r
+ * v=yield pin.receive();\r
+ * yield pin.reply(1);\r
+ * yield mcu.close();\r
+ * }catch(e){\r
+ * mcu.shutdown();\r
+ * }\r
+ * }();\r
+ * g.next();\r
*/\r
var CLASS=function SPISlave(i_mcu,i_params,i_handler)\r
{\r
/** @private リモートインスタンスのオブジェクトIDです。*/\r
_oid:null,\r
/**\r
- * @name mbedJS.SPISlave#waitForNew\r
- * @function\r
* Generatorモードのときに使用する関数です。\r
* Generatorモードの時は、yieldと併用してnew SPISlave()の完了を待ちます。\r
+ * @name mbedJS.SPISlave#waitForNew\r
+ * @function\r
*/\r
waitForNew:function SPISlave_waitForNew()\r
{\r
}, \r
\r
/**\r
- * @name mbedJS.SPISlave#frequency\r
- * @function\r
* ピンに値を出力します。\r
* 関数の完了時にonFrequencyイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
+ * @name mbedJS.SPISlave#frequency\r
+ * @function\r
* @param {int} i_value\r
* \r
- * @return {int|none}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
- * <p>Generatorモードの時は戻り値はありません。</p>\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
*/\r
frequency:function SPISlave_frequency(i_value)\r
{\r
}\r
}, \r
/**\r
- * @name mbedJS.SPISlave#format\r
- * @function\r
* ピンに値を出力します。\r
* 関数の完了時にonFrequencyイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
+ * @name mbedJS.SPISlave#format\r
+ * @function\r
* @param {int} i_bits\r
* @param {int} i_mode\r
* 省略可能です。省略時は0になります。\r
- * @return {int|none}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
- * <p>Generatorモードの時は戻り値はありません。</p>\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
*/\r
format:function SPISlave_format(i_bits,i_mode)\r
{\r
}\r
},\r
/**\r
- * @name mbedJS.SPISlave#read\r
- * @function\r
* ピンから値を読み込みます。\r
* 関数の完了時にonReadイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
- * @return {int|int}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
- * <p>Generatorモードの時はピンの値を返します。</p>\r
+ * @name mbedJS.SPISlave#read\r
+ * @function\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
+ * @return {int}\r
+ * Generatorモードの時はピンの値を返します。\r
*/\r
read:function SPISlave_read()\r
{\r
} \r
},\r
/**\r
- * @name mbedJS.SPISlave#receive\r
- * @function\r
* ピンから値を読み込みます。\r
* 関数の完了時にonReadイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
- * @return {int|int}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
- * <p>Generatorモードの時はピンの値を返します。</p>\r
+ * @name mbedJS.SPISlave#receive\r
+ * @function\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
+ * @return {int}\r
+ * Generatorモードの時はピンの値を返します。\r
*/\r
receive:function SPISlave_receive()\r
{\r
} \r
},\r
/**\r
- * @name mbedJS.SPISlave#reply\r
- * @function\r
* ピンモードを設定します。\r
* 関数の完了時にonReplyイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
+ * @name mbedJS.SPISlave#reply\r
+ * @function\r
* @param {int} i_value\r
* 次に送る8bitの値です。\r
- * @return {int|none}\r
- * <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
+ * @return {int}\r
+ * Callbackモードの時はRPCメソッドのインデクスを返します。\r
*/\r
reply:function SPISlave_reply(i_value)\r
{\r
+/**\r
+ * @fileOverview mbedSDKの定数を定義します。\r
+ */\r
+\r
+/**\r
+ * mbedJSネームスペース\r
+ * @namespace\r
+ */\r
var mbedJS={};\r
(function(){\r
var NS=mbedJS;\r
/**\r
+ * mbedSDKのピン識別子です。ライブラリのピン名と一致します。次のピン名を使用できます。\r
+ * <ul>\r
+ * <li> LPC Pin Names(P0_0 - P4_31)\r
+ * <li> mbed DIP Pin Names(p5-p40)\r
+ * <li> Other mbed Pin Names(LED1-LED4,USBRX,USBTX)\r
+ * <li> Arch Pro Pin Names(D0-D15,A0-A5,I2C_SCL,I2C_SDA)\r
+ * <li> NC\r
+ * </ul>\r
* @name mbedJS.PinName\r
- * mbedSDKのピン識別子です。ライブラリのピン名と一致します。\r
*/\r
NS.PinName=function(){\r
var B;\r
return D;\r
}();\r
/**\r
- * @name mbedJS.PinMode\r
* ピンモード値です。\r
- * mbedSDKのピンモード値です。\r
+ * mbedSDKのピンモード値と同一です。<br/>\r
+ * (PullUp|PullDown|PullNone|OpenDrain|PullDefault)\r
+ * @name mbedJS.PinMode\r
*/\r
NS.PinMode={\r
PullUp: 0x00010000,\r
OpenDrain: 0x00010003,\r
PullDefault:0x00010004};\r
/**\r
- * @name mbed.JS.PinName\r
* ポート識別子です。\r
- * mbedSDKのポート名と同一です。\r
+ * mbedSDKのポート名と同一です。<br/>\r
+ * (Port0 - Port4)\r
+ * @name mbedJS.PortName\r
*/\r
NS.PortName={\r
Port0: 0x00010000,\r