+/**\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