log("[PASS]onGetInfo:"+v.version+","+v.platform+","+v.mcu.name+","+v.mcu.eth+","+v.memory.free);\r
var pin=new mbedJS.DigitalIn(mcu,mbedJS.PinName.P0_22,{\r
onNew:function(){\r
+ log("...");\r
mcu.disposeObject(pin._oid);\r
}});\r
},\r
}\r
});\r
}\r
-\r
+function async2()\r
+{\r
+ log();\r
+ log("ASYNC2");\r
+ var mcu=new mbedJS.Mcu("192.168.128.39",\r
+ {\r
+ onNew:function(){\r
+ log("[PASS]onNew");\r
+ mcu.getInfo(function(v){\r
+ log("[PASS]onGetInfo:"+v.version+","+v.platform+","+v.mcu.name+","+v.mcu.eth+","+v.memory.free);\r
+ var pin=new mbedJS.DigitalIn(mcu,mbedJS.PinName.P0_22,function(){\r
+ log("...");\r
+ mcu.disposeObject(pin._oid,function(v){\r
+ log("[PASS]onDisposeObject:"+v);\r
+ mcu.close();\r
+ });\r
+ });\r
+ });\r
+ },\r
+ onClose:function(){\r
+ log("[PASS]onClose");\r
+ },\r
+ onError:function(){\r
+ alert("Error");\r
+ }\r
+ });\r
+}\r
+function dispose1()\r
+{\r
+ log();\r
+ log("d1");\r
+ var mcu=new mbedJS.Mcu("192.168.128.39",\r
+ {\r
+ onNew:function(){\r
+ log("[PASS]onNew");\r
+ var pin=new mbedJS.DigitalIn(mcu,mbedJS.PinName.P0_22,function(){\r
+ pin.dispose(function(v){\r
+ log("[PASS]onDispose:"+v);\r
+ mcu.close();\r
+ });\r
+ });\r
+ },\r
+ onClose:function(){\r
+ log("[PASS]onClose");\r
+ },\r
+ onError:function(){\r
+ alert("Error");\r
+ }\r
+ });\r
+}\r
+function dispose2()\r
+{\r
+ log();\r
+ log("d1");\r
+ var mcu=new mbedJS.Mcu("192.168.128.39",\r
+ {\r
+ onNew:function(){\r
+ log("[PASS]onNew");\r
+ var pin=new mbedJS.DigitalIn(mcu,mbedJS.PinName.P0_22,{\r
+ onNew:function(){\r
+ log("[PASS]onNew:");\r
+ pin.dispose();\r
+ },\r
+ onDispose:function(v){\r
+ log("[PASS]onDispose:"+v);\r
+ mcu.close();\r
+ }\r
+ });\r
+ },\r
+ onClose:function(){\r
+ log("[PASS]onClose");\r
+ },\r
+ onError:function(){\r
+ alert("Error");\r
+ }\r
+ });\r
+}\r
+function dispose3()\r
+{\r
+ log();\r
+ log("d3");\r
+ var mcu=new mbedJS.Mcu("192.168.128.39",\r
+ {\r
+ onNew:function(){\r
+ log("[PASS]onNew");\r
+ var pin=new mbedJS.DigitalIn(mcu,mbedJS.PinName.P0_22,{\r
+ onNew:function(){\r
+ log("[PASS]onNew:");\r
+ pin.dispose();\r
+ mcu.close();\r
+ }\r
+ });\r
+ },\r
+ onClose:function(){\r
+ log("[PASS]onClose");\r
+ },\r
+ onError:function(){\r
+ alert("Error");\r
+ }\r
+ });\r
+}\r
+function dispose4()\r
+{\r
+ var g=function*(){\r
+ try{\r
+ log();\r
+ var mcu=new mbedJS.Mcu("192.168.128.39",g);\r
+ log(2);\r
+ var v;\r
+ yield mcu.waitForNew();\r
+ var pin= new mbedJS.DigitalIn(mcu,mbedJS.PinName.P0_22,g);\r
+ yield pin.waitForNew();\r
+ v=yield pin.dispose();\r
+ log("[PASS]dispose:"+v);\r
+ yield mcu.close();\r
+ log("[PASS]close");\r
+ }catch(e){\r
+ alert(e);\r
+ mcu.shutdown();\r
+ }\r
+ }();\r
+ g.next();\r
+}\r
/**\r
* 誤った使用方法でExceptionが出た場合にシャットダウンできるかのテスト\r
*/\r
<h1>MCU test</h1>\r
<hr/>\r
<button onclick="async();">ASYNC</button>\r
+<button onclick="async2();">ASYNC2</button>\r
<button onclick="sync();">SYNC</button>\r
-<button onclick="sync2();">SYNC2</button>\r
+<button onclick="dispose1();">D1</button>\r
+<button onclick="dispose2();">D2</button>\r
+<button onclick="dispose3();">D3</button>\r
+<button onclick="dispose4();">D4</button>\r
<textarea id="console" rows="15" cols="80"></textarea>\r
</body>
\ No newline at end of file
},\r
onSend_break:function(){\r
log("[PASS]onSend_break:");\r
- uart.format(8,uart.Parity.None,1);\r
+ uart.format(8,mbedJS.Serial.Parity.None,1);\r
},\r
onFormat:function(){\r
log("[PASS]onForma:");\r
log("[PASS]onBaud:");\r
uart.send_break(function(){\r
log("[PASS]onSend_break:");\r
- uart.format(8,uart.Parity.None,1,function(){\r
+ uart.format(8,mbedJS.Serial.Parity.None,1,function(){\r
log("[PASS]onForma:");\r
uart.readable(function(v){\r
log("[PASS]onReadable:"+v);\r
log("[PASS]onBaud:");\r
yield uart.send_break();\r
log("[PASS]onSend_break:");\r
- yield uart.format(8,uart.Parity.None,1);\r
+ yield uart.format(8,mbedJS.Serial.Parity.None,1);\r
log("[PASS]onForma:");\r
v=yield uart.readable();\r
log("[PASS]onReadable:"+v);\r
}\r
\r
\r
-\r
</script>\r
</head>\r
<body>\r