*/\r
var CLASS=function AnalogOut(i_mcu,i_params,i_handler)\r
{\r
- var _t=this;\r
- _t._mcu=i_mcu;\r
- _t._lc=CLASS;\r
- if(MI.isGenerator(i_handler)){_t._gen=i_handler;}\r
- else if(i_handler){_t._event=i_handler}\r
- function cb(j)\r
- {\r
- _t._oid=j.result[0];\r
- if(_t._event.onNew){_t._event.onNew();}\r
- if(_t._gen){_t._gen.next(_t);}\r
- _t._lc=null;\r
- }\r
- return _t._mcu.rpc(_t.RPC_NS+":_new1",i_params,cb);\r
+ try{\r
+ var _t=this;\r
+ _t._mcu=i_mcu;\r
+ _t._lc=CLASS;\r
+ if(MI.isGenerator(i_handler)){_t._gen=i_handler;}\r
+ else if(i_handler){_t._event=i_handler}\r
+ function cb(j)\r
+ {\r
+ _t._oid=j.result[0];\r
+ if(_t._event.onNew){_t._event.onNew();}\r
+ if(_t._gen){_t._gen.next(_t);}\r
+ _t._lc=null;\r
+ }\r
+ MI.assertInt(i_params);\r
+ return _t._mcu.rpc(_t.RPC_NS+":_new1",i_params,cb);\r
+ }catch(e){\r
+ throw new MI.MiMicException(e);\r
}\r
}\r
CLASS.prototype=\r
* Generatorモードのときに使用する関数です。\r
* Generatorモードの時は、yieldと併用してnew AnalogOut()の完了を待ちます。\r
*/\r
- waitForNew:function AnalogOut_waitForNew(){\r
- if(this._lc!=CLASS){throw new MI.MiMicException(MI.Error.NG_ILLEGAL_CALL);}\r
- this._lc=CLASS.waitForNew;\r
+ waitForNew:function AnalogOut_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
* @name mbedJS.AnalogOut#write\r
* 関数の完了時にonWriteイベントが発生します。\r
* Generatorモードの時は、yieldと併用して完了を待機できます。\r
* @param {float} i_value\r
- * [0,1]の値を指定します。\r
+ * [0,1]の範囲で値を指定します。\r
* @return {int|none}\r
* <p>Callbackモードの時はRPCメソッドのインデクスを返します。</p>\r
* <p>Generatorモードの時は戻り値はありません。</p>\r
*/\r
write:function AnalogOut_write(i_value)\r
{\r
- var _t=this;\r
- if(this._gen && this._lc){throw new MI.MiMicException(MI.Error.NG_YIELD_NOT_COMPLETED);}\r
- _t._lc=CLASS.write;\r
- return _t._mcu.rpc(_t.RPC_NS+":write_fx",_t._oid+","+Math.round(i_value*10000),\r
- function(j){\r
- if(_t._event.onWrite){_t._event.onWrite();}\r
- if(_t._gen){_t._gen.next();}\r
- _t._lc=null;\r
- });\r
+ try{\r
+ var _t=this;\r
+ if(this._gen && this._lc){throw new MI.MiMicException(MI.Error.NG_YIELD_NOT_COMPLETED);}\r
+ _t._lc=CLASS.write;\r
+ MI.assertNumber(i_value);\r
+ return _t._mcu.rpc(_t.RPC_NS+":write_fx",_t._oid+","+Math.round(i_value*10000),\r
+ function(j){\r
+ if(_t._event.onWrite){_t._event.onWrite();}\r
+ if(_t._gen){_t._gen.next();}\r
+ _t._lc=null;\r
+ });\r
+ }catch(e){\r
+ throw new MI.MiMicException(e);\r
+ } \r
},\r
/**\r
* @name mbedJS.AnalogOut#write_u16\r
*/\r
write_u16:function AnalogOut_write_u16(i_value)\r
{\r
- var _t=this;\r
- if(this._gen && this._lc){throw new MI.MiMicException(MI.Error.NG_YIELD_NOT_COMPLETED);}\r
- _t._lc=CLASS.write;\r
- return _t._mcu.rpc(_t.RPC_NS+":write_fx",_t._oid+","+Math.round(i_value*10000),\r
- function(j){\r
- if(_t._event.onWrite_u16){_t._event.onWrite_u16();}\r
- if(_t._gen){_t._gen.next();}\r
- _t._lc=null;\r
- });\r
+ try{\r
+ var _t=this;\r
+ if(this._gen && this._lc){throw new MI.MiMicException(MI.Error.NG_YIELD_NOT_COMPLETED);}\r
+ _t._lc=CLASS.write;\r
+ MI.assertInt(i_value);\r
+ return _t._mcu.rpc(_t.RPC_NS+":write_fx",_t._oid+","+i_value,\r
+ function(j){\r
+ if(_t._event.onWrite_u16){_t._event.onWrite_u16();}\r
+ if(_t._gen){_t._gen.next();}\r
+ _t._lc=null;\r
+ });\r
+ }catch(e){\r
+ throw new MI.MiMicException(e);\r
+ } \r
}, \r
/**\r
* @name mbedJS.AnalogOut#read\r
*/\r
read:function AnalogOut_read()\r
{\r
- var _t=this;\r
- if(this._gen && this._lc){throw new MI.MiMicException(MI.Error.NG_YIELD_NOT_COMPLETED);}\r
- _t._lc=CLASS.read;\r
- return _t._mcu.rpc(_t.RPC_NS+":read_fx",_t._oid,\r
- function (j)\r
- {\r
- var v=j.result[0]/10000;\r
- if(_t._event.onRead){_t._event.onRead(v);}\r
- if(_t._gen){_t._gen.next(v);}\r
- _t._lc=null;\r
+ try{\r
+ var _t=this;\r
+ if(this._gen && this._lc){throw new MI.MiMicException(MI.Error.NG_YIELD_NOT_COMPLETED);}\r
+ _t._lc=CLASS.read;\r
+ return _t._mcu.rpc(_t.RPC_NS+":read_fx",_t._oid,\r
+ function (j)\r
+ {\r
+ var v=j.result[0]/10000;\r
+ if(_t._event.onRead){_t._event.onRead(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
NS.AnalogOut=CLASS;\r