OSDN Git Service

githubへmbedJSのJavascriptAPIを移動
[mimic/MiMicSDK.git] / misc / mbedJS / mbddJS.API / mbedJS / mbed.Serial.js
diff --git a/misc/mbedJS/mbddJS.API/mbedJS/mbed.Serial.js b/misc/mbedJS/mbddJS.API/mbedJS/mbed.Serial.js
deleted file mode 100644 (file)
index 40e2fe6..0000000
+++ /dev/null
@@ -1,502 +0,0 @@
-/**\r
- * @fileOverview AnalogInクラスを定義します。\r
- */\r
-(function(){\r
-var NS=mbedJS;\r
-var MI=MiMicJS;\r
-\r
-/**\r
- * Serialクラスです。\r
- * <a href="https://mbed.org/handbook/Serial">mbed::Serial</a>と同等の機能を持ちます。\r
- * @constructor\r
- * @name mbedJS.Serial\r
- * @param {mbedJS.Mcu} i_mcu\r
- * インスタンスをバインドするMCUオブジェクトです。\r
- * @param {[PinName,PinName]} i_params\r
- * UARTを構成する2本のピンを指定します。tx,rxの順で設定します。\r
- * @param {HashMap|Generator|function} i_handler\r
- * 非同期イベントハンドラの連想配列、Generator、コールバック関数の何れかを指定します。\r
- * <p>\r
- * 非同期イベントハンドラの場合、関数はイベントハンドラで結果を通知します。\r
- * <ul>\r
- * <li>{function()} onNew -\r
- * インスタンスが使用可能になった時に呼び出されます。\r
- * </li>\r
- * <li>{function()} onFormat -\r
- * format関数が完了したときに呼び出されます。\r
- * </li>\r
- * <li>{function(v)} onReadable -\r
- * read関数が完了したときに呼び出されます。\r
- *     <ul>\r
- *             <li>{boolean} v - 読出しが可能化の真偽値です。</li>\r
- *     </ul>\r
- * </li>\r
- * <li>{function(v)} onWriteable -\r
- * write関数が完了したときに呼び出されます。\r
- *     <ul>\r
- *             <li>{boolean} v - 書き込みが可能化の真偽値です。</li>\r
- *     </ul>\r
- * </li>\r
- * <li>{function()} onSend_break -\r
- * send_break関数が完了したときに呼び出されます。\r
- * </li>\r
- * <li>{function(v)} onPutc -\r
- * putc関数が完了したときに呼び出されます。\r
- *     <ul>\r
- *             <li>{int} v - 謎の戻り値です。</li>\r
- *     </ul>\r
- * </li>\r
- * <li>{function(v)} onPuts -\r
- * puts関数が完了したときに呼び出されます。\r
- *     <ul>\r
- *             <li>{int} v - 謎の戻り値です。</li>\r
- *     </ul>\r
- * </li>\r
- * <li>{function(v)} onGetc -\r
- * getc関数が完了したときに呼び出されます。\r
- *     <ul>\r
- *             <li>{int} v - 読みだした1バイトの値です。</li>\r
- *     </ul>\r
- * </li>\r
- * <li>{function(v)} onGets -\r
- * gets関数が完了したときに呼び出されます。\r
- *     <ul>\r
- *             <li>{int} v - 読みだした文字列です。</li>\r
- *     </ul>\r
- * </li>\r
- * <li>{function()} onBaud -\r
- * baud関数が完了したときに呼び出されます。\r
- * </li>\r
- * </ul>\r
- * <p>\r
- * Generatorを指定した場合、コールバック関数の引数はyiledの戻り値として取得できます。\r
- * </p>\r
- * <p>\r
- * コールバック関数を指定した場合、RPCが完了したときに呼び出されます。メンバ関数のイベントハンドラは個別に設定する必要があります。\r
- * </p>\r
- * @return {mbedJS.Serial}\r
- * @example //Callback\r
- * var mcu=new mbedJS.Mcu("192.168.128.39",\r
- * {\r
- *   onNew:function(){\r
- *     var uart=new mbedJS.Serial(mcu,[mbedJS.PinName.p9,mbedJS.PinName.p10],{\r
- *     onNew:function(){\r
- *       uart.baud(115200);\r
- *     },\r
- *     onBaud:function()\r
- *     {\r
- *       uart.send_break();\r
- *     },\r
- *     onSend_break:function(){\r
- *       uart.format(8,uart.Parity.None,1);\r
- *     },\r
- *     onFormat:function(){\r
- *       uart.readable();\r
- *     },\r
- *     onReadable:function(v){\r
- *       uart.writeable();\r
- *     },\r
- *     onWriteable:function(v){\r
- *       uart.putc(32);\r
- *     },\r
- *     onPutc:function(v){\r
- *       uart.getc();\r
- *     },\r
- *     onGetc:function(v){\r
- *       uart.puts("1234");\r
- *     },\r
- *     onPuts:function(v){\r
- *       uart.gets(5);\r
- *     },\r
- *     onGets:function(v){\r
- *       mcu.close();\r
- *     }\r
- *     });\r
- *   },\r
- *   onClose:function(){\r
- *   },\r
- *   onError:function(){\r
- *     alert("Error");\r
- *   }\r
- * });\r
- * @example //Generator\r
- * var g=function*(){\r
- * try{\r
- *   var v;\r
- *   var mcu=new mbedJS.Mcu("192.168.128.39",g);\r
- *   yield mcu.waitForNew();\r
- *   var uart=new mbedJS.Serial(mcu,[mbedJS.PinName.p9,mbedJS.PinName.p10],g);\r
- *   yield uart.waitForNew();\r
- *   yield uart.baud(115200);\r
- *   yield uart.send_break();\r
- *   yield uart.format(8,uart.Parity.None,1);\r
- *   v=yield uart.readable();\r
- *   v=yield uart.writeable();\r
- *   v=yield uart.putc(32);\r
- *   v=yield uart.getc();\r
- *   v=yield uart.puts("1234");\r
- *   v=yield uart.gets(5);\r
- *   yield mcu.close();\r
- * }catch(e){\r
- *   mcu.shutdown();\r
- *   alert(e);\r
- *   throw e;\r
- * }\r
- * }();\r
- * g.next();\r
- */\r
-var CLASS=function Serial(i_mcu,i_params,i_handler)\r
-{\r
-       try{\r
-               var _t=this;\r
-               var cb;\r
-               _t._mcu=i_mcu;\r
-               _t._lc=CLASS;\r
-               //ハンドラの初期化\r
-               var cb=MI._initHandler.call(_t,i_handler);\r
-               MI.assertInt(i_params);         \r
-               _t._mcu.rpc(_t.RPC_NS+":_new1",i_params[0]+","+i_params[1],\r
-                       function(j)\r
-                       {\r
-                               _t._oid=j.result[0];\r
-                               if(cb){cb();}\r
-                               if(_t._gen){_t._gen.next(_t);}\r
-                               _t._lc=null;\r
-                       }\r
-               );\r
-       }catch(e){\r
-               throw new MI.MiMicException(e);\r
-       }       \r
-}\r
-/**\r
- * mbedJS.Serial#format関数に指定する値の種類です。\r
- * None,Odd,Even,Forced1,Forced0があります。\r
- * @name mbedJS.Serial#Parity\r
- * @field\r
- */\r
-CLASS.Parity={\r
-       None:0,Odd:1,Even:2,Forced1:3,Forced0:4\r
-}\r
-CLASS.prototype={\r
-       /** @private */\r
-       RPC_NS:"mbedJS:Serial",\r
-       /** @private 最後にコールしたAPIです。*/\r
-       _lc:null,\r
-       /** @private Generatorモードの場合にGeneratorオブジェクトを保持します。*/\r
-       _gen:null,\r
-       /** @private コールバック関数の連想配列です。要素はコンストラクタを参照してください。*/\r
-       _event:{},\r
-       /** @private リモートインスタンスのオブジェクトIDです。*/\r
-       _oid:null,\r
-       /**\r
-        * Generatorモードのときに使用する関数です。\r
-        * Generatorモードの時は、yieldと併用してnew AnalogIn()の完了を待ちます。\r
-        * @name mbedJS.Serial#waitForNew\r
-        * @function\r
-        */\r
-       waitForNew:function Serial_waitForNew()\r
-       {\r
-               try{\r
-                       if(this._lc!=CLASS){throw new MI.MiMicException(MI.Error.NG_ILLEGAL_CALL);}\r
-                       this._lc=CLASS.waitForNew;\r
-               }catch(e){\r
-                       throw new MI.MiMicException(e);\r
-               }\r
-       },\r
-       /**\r
-        * フォーマットを設定します。\r
-        * 関数の完了時にonFormatイベントが発生します。\r
-        * Generatorモードの時は、yieldと併用して完了を待機できます。\r
-        * @name mbedJS.Serial#format\r
-        * @function\r
-        * @param {int} i_bits\r
-        * ビット数です。省略時は8です。\r
-        * @param {int} i_parity\r
-        * パリティの値です。省略時はmbedJS.Serial#Parity.Noneです。\r
-        * @param {int} i_stop_bits\r
-        * ストップビットの値です。省略時は1です。\r
-        * @return {int}\r
-        * Callbackモードの時はRPCメソッドのインデクスを返します。\r
-        */\r
-       format:function Serial_format(i_bits,i_parity,i_stop_bits)\r
-       {\r
-               try{\r
-                       var _t=this;\r
-                       MI._assertYield.call(_t);\r
-                       var cb=MI._getCb(arguments,_t._event.onFormat);\r
-                       _t._lc=CLASS.format;\r
-                       var p=[MI.isUndefined(i_bits,8),MI.isUndefined(i_parity,CLASS.Parity.None),MI.isUndefined(i_stop_bits,1)];\r
-                       MI.assertInt(p);\r
-                       return _t._mcu.rpc(_t.RPC_NS+":format",_t._oid+","+p[0]+","+p[1]+","+p[2],\r
-                               function (j)\r
-                               {\r
-                                       if(cb){cb();}\r
-                                       if(_t._gen){_t._gen.next();}\r
-                                        _t._lc=null;\r
-                               }\r
-                       );\r
-               }catch(e){\r
-                       throw new MI.MiMicException(e);\r
-               }                       \r
-       },\r
-       /**\r
-        * 読出し可能かを返します。\r
-        * 関数の完了時にonReadableイベントが発生します。\r
-        * Generatorモードの時は、yieldと併用して完了を待機できます。\r
-        * @name mbedJS.Serial#readable\r
-        * @function\r
-        * @return {int}\r
-        * Callbackモードの時はRPCメソッドのインデクスを返します。\r
-        * @return {boolean}\r
-        * Generatorモードの時は状態値の真偽値を返します。\r
-        */\r
-       readable:function Serial_readable()\r
-       {\r
-               try{\r
-                       var _t=this;\r
-                       MI._assertYield.call(_t);\r
-                       var cb=MI._getCb(arguments,_t._event.onReadable);\r
-                       _t._lc=CLASS.readable;\r
-                       return _t._mcu.rpc(_t.RPC_NS+":readable",_t._oid,\r
-                               function (j)\r
-                               {\r
-                                       var v=j.result[0];\r
-                                       if(cb){cb(v);}\r
-                                       if(_t._gen){_t._gen.next(v);}\r
-                                        _t._lc=null;\r
-                               }\r
-                       );\r
-               }catch(e){\r
-                       throw new MI.MiMicException(e);\r
-               }                       \r
-       },\r
-       /**\r
-        * 書き込み可能かを返します。\r
-        * 関数の完了時にonWriteableイベントが発生します。\r
-        * Generatorモードの時は、yieldと併用して完了を待機できます。\r
-        * @name mbedJS.Serial#writeable\r
-        * @function\r
-        * @return {int}\r
-        * Callbackモードの時はRPCメソッドのインデクスを返します。\r
-        * @return {boolean}\r
-        * Generatorモードの時は状態値の真偽値を返します。\r
-        */\r
-       writeable:function Serial_writeable()\r
-       {\r
-               try{\r
-                       var _t=this;\r
-                       MI._assertYield.call(_t);\r
-                       var cb=MI._getCb(arguments,_t._event.onWriteable);\r
-                       _t._lc=CLASS.writeable;                 \r
-                       return _t._mcu.rpc(_t.RPC_NS+":writeable",_t._oid,\r
-                               function (j)\r
-                               {\r
-                                       var v=j.result[0]?true:false;\r
-                                       if(cb){cb(v);}\r
-                                       if(_t._gen){_t._gen.next(v);}\r
-                                        _t._lc=null;\r
-                               }\r
-                       );\r
-               }catch(e){\r
-                       throw new MI.MiMicException(e);\r
-               }                       \r
-       },\r
-       /**\r
-        * ブレーク信号を送信します。\r
-        * 関数の完了時にonSend_breakイベントが発生します。\r
-        * Generatorモードの時は、yieldと併用して完了を待機できます。\r
-        * @name mbedJS.Serial#send_break\r
-        * @function\r
-        * @return {int}\r
-        * Callbackモードの時はRPCメソッドのインデクスを返します。\r
-        */\r
-       send_break:function Serial_send_break()\r
-       {\r
-               try{\r
-                       var _t=this;\r
-                       MI._assertYield.call(_t);\r
-                       var cb=MI._getCb(arguments,_t._event.onSend_break);\r
-                       _t._lc=CLASS.send_break;\r
-                       return _t._mcu.rpc(_t.RPC_NS+":send_break",_t._oid,\r
-                               function (j)\r
-                               {\r
-                                       if(cb){cb();}\r
-                                       if(_t._gen){_t._gen.next();}\r
-                                        _t._lc=null;\r
-                               }\r
-                       );\r
-               }catch(e){\r
-                       throw new MI.MiMicException(e);\r
-               }                       \r
-       },\r
-       /**\r
-        * 1バイトの値を出力します。\r
-        * 関数の完了時にonPutcイベントが発生します。\r
-        * Generatorモードの時は、yieldと併用して完了を待機できます。\r
-        * @name mbedJS.Serial#putc\r
-        * @function\r
-        * @return {int}\r
-        * Callbackモードの時はRPCメソッドのインデクスを返します。\r
-        * @return {int}\r
-        * Generatorモードの時は謎の値を返します。\r
-        */\r
-       putc:function Serial_putc(i_c)\r
-       {\r
-               try{\r
-                       var _t=this;\r
-                       MI._assertYield.call(_t);\r
-                       var cb=MI._getCb(arguments,_t._event.onPutc);\r
-                       _t._lc=CLASS.putc;\r
-                       MI.assertInt(i_c);\r
-                       return _t._mcu.rpc(_t.RPC_NS+":putc",_t._oid+","+i_c,\r
-                               function (j)\r
-                               {\r
-                                       var v=j.result[0];\r
-                                       if(cb){cb(v);}\r
-                                       if(_t._gen){_t._gen.next(v);}\r
-                                        _t._lc=null;\r
-                               }\r
-                       );\r
-               }catch(e){\r
-                       throw new MI.MiMicException(e);\r
-               }\r
-       },\r
-       /**\r
-        * 文字列を出力します。\r
-        * 関数の完了時にonPutsイベントが発生します。\r
-        * Generatorモードの時は、yieldと併用して完了を待機できます。\r
-        * @name mbedJS.Serial#puts\r
-        * @function\r
-        * @return {int}\r
-        * Callbackモードの時はRPCメソッドのインデクスを返します。\r
-        * @return {int}\r
-        * Generatorモードの時は謎の値を返します。\r
-        */\r
-       puts:function Serial_puts(i_s)\r
-       {\r
-               try{\r
-                       var _t=this;\r
-                       MI._assertYield.call(_t);\r
-                       var cb=MI._getCb(arguments,_t._event.onPuts);\r
-                       _t._lc=CLASS.puts;\r
-                       return _t._mcu.rpc(_t.RPC_NS+":puts",_t._oid+",\""+i_s+"\"",\r
-                               function (j)\r
-                               {\r
-                                       var v=j.result[0];\r
-                                       if(cb){cb(v);}\r
-                                       if(_t._gen){_t._gen.next(v);}\r
-                                        _t._lc=null;\r
-                               }\r
-                       );\r
-               }catch(e){\r
-                       throw new MI.MiMicException(e);\r
-               }\r
-       },\r
-       /**\r
-        * 1バイトを読み込みます。\r
-        * 関数の完了時にonGetcイベントが発生します。\r
-        * Generatorモードの時は、yieldと併用して完了を待機できます。\r
-        * @name mbedJS.Serial#getc\r
-        * @function\r
-        * @return {int}\r
-        * Callbackモードの時はRPCメソッドのインデクスを返します。\r
-        * @return {int}\r
-        * Generatorモードの時は受信した数値を返します。\r
-        */\r
-       getc:function Serial_getc()\r
-       {\r
-               try{\r
-                       var _t=this;\r
-                       MI._assertYield.call(_t);\r
-                       var cb=MI._getCb(arguments,_t._event.onGetc);\r
-                       _t._lc=CLASS.getc;\r
-                       return _t._mcu.rpc(_t.RPC_NS+":getc",_t._oid,\r
-                               function (j)\r
-                               {\r
-                                       var v=j.result[0];\r
-                                       if(cb){cb(v);}\r
-                                       if(_t._gen){_t._gen.next(v);}\r
-                                        _t._lc=null;\r
-                               }\r
-                       );\r
-               }catch(e){\r
-                       throw new MI.MiMicException(e);\r
-               }\r
-       },\r
-       /**\r
-        * 文字列を読み込みます。\r
-        * 関数の完了時にonGetsイベントが発生します。\r
-        * Generatorモードの時は、yieldと併用して完了を待機できます。\r
-        * @name mbedJS.Serial#gets\r
-        * @function\r
-        * @param {int} i_len\r
-        * 受信メモリのサイズを指定します。256未満を指定してください。\r
-        * @return {int}\r
-        * Callbackモードの時はRPCメソッドのインデクスを返します。\r
-        * @return {string}\r
-        * Generatorモードの時は受信した文字列を返します。\r
-        */\r
-       gets:function Serial_gets(i_len)\r
-       {\r
-               try{\r
-                       var _t=this;\r
-                       MI._assertYield.call(_t);\r
-                       var cb=MI._getCb(arguments,_t._event.onGets);\r
-                       _t._lc=CLASS.gets;\r
-                       MI.assertInt(i_len);                    \r
-                       return _t._mcu.rpc(_t.RPC_NS+":gets",_t._oid+","+i_len,\r
-                               function (j)\r
-                               {\r
-                                       var v=j.result[0];\r
-                                       if(cb){cb(v);}\r
-                                       if(_t._gen){_t._gen.next(v);}\r
-                                        _t._lc=null;\r
-                               }\r
-                       );\r
-               }catch(e){\r
-                       throw new MI.MiMicException(e);\r
-               }\r
-       },\r
-       /**\r
-        * ボーレイトを設定します。\r
-        * 関数の完了時にonBaudイベントが発生します。\r
-        * Generatorモードの時は、yieldと併用して完了を待機できます。\r
-        * @name mbedJS.Serial#baud\r
-        * @function\r
-        * @param {int} i_baudrate\r
-        * ボーレイトの値です。\r
-        * @return {int}\r
-        * Callbackモードの時はRPCメソッドのインデクスを返します。\r
-        */\r
-       baud:function Serial_baud(i_baudrate)\r
-       {\r
-               try{\r
-                       var _t=this;\r
-                       MI._assertYield.call(_t);\r
-                       var cb=MI._getCb(arguments,_t._event.onBaud);\r
-                       _t._lc=CLASS.baud;\r
-                       MI.assertInt(i_baudrate);                       \r
-                       return _t._mcu.rpc(_t.RPC_NS+":baud",_t._oid+","+i_baudrate,\r
-                               function (j)\r
-                               {\r
-                                       if(cb){cb();}\r
-                                       if(_t._gen){_t._gen.next();}\r
-                                        _t._lc=null;\r
-                               }\r
-                       );\r
-               }catch(e){\r
-                       throw new MI.MiMicException(e);\r
-               }                       \r
-       },\r
-       /**\r
-        * MCUに生成されているオブジェクトを破棄します。\r
-        * @name mbedJS.Serial#dispose\r
-        * @function\r
-        */\r
-       dispose:function Serial_dispose()\r
-       {\r
-               return this._mcu._dispose.apply(this,arguments);\r
-       }\r
-}\r
-NS.Serial=CLASS;\r
-}());
\ No newline at end of file